前提・実現したいこと
Google Cloud Speech API を使った音声の文字起こしをやりたいです。
参考ページは以下の二つです。
https://qiita.com/knyrc/items/7aab521edfc9bfb06625
https://qiita.com/hanlio/items/875b91e0d4931a57e86b
発生している問題・エラーメッセージ
参考ページ通りにやったところ、
$ python transcribe.py gs://バケット名/音声データ名.flac
をshell上で実行しましたが何もデータが反映されません。
超初心者なので分からないところが多いのですが、shellでlsすると
transcribe.pyは保存されており、最初はインデントがおかしいとのエラーが出たので
直して再実行したら何も反映されません。
参考ページによるとlsでoutput*.txtの作成が確認できるとの事なのですが出てきません。
該当のソースコード
python
1# !/usr/bin/env python 2# coding: utf-8 3# python transcribe.py gs://バケット名/音声データ名.flac 4 5import argparse 6import io 7import sys 8import codecs 9import datetime 10import locale 11 12def transcribe_gcs(gcs_uri): 13 from google.cloud import speech 14 from google.cloud.speech import enums 15 from google.cloud.speech import types 16 client = speech.SpeechClient() 17 18 audio = types.RecognitionAudio(uri=gcs_uri) 19#'en-US' or 'ja-JP' 20 config = types.RecognitionConfig( 21 sample_rate_hertz=16000, 22 encoding=enums.RecognitionConfig.AudioEncoding.FLAC, 23 language_code='ja-JP') 24 25 operation = client.long_running_recognize(config, audio) 26 27 print('Waiting for operation to complete...') 28 operationResult = operation.result() 29 30 d = datetime.datetime.today() 31 today = d.strftime("%Y%m%d-%H%M%S") 32 fout = codecs.open('output{}.txt'.format(today), 'a', 'shift_jis') 33 34 for result in operationResult.results: 35 for alternative in result.alternatives: 36 fout.write(u'{}\n'.format(alternative.transcript)) 37 fout.close() 38 39if __name__ == '__main__': 40 parser = argparse.ArgumentParser( 41 description=__doc__, 42 formatter_class=argparse.RawDescriptionHelpFormatter) 43 parser.add_argument( 44 'path', help='GCS path for audio file to be recognized') 45 args = parser.parse_args() 46 transcribe_gcs(args.path)
試したこと
$ python transcribe.py gs://バケット名/音声データ名.flac
補足情報(FW/ツールのバージョンなど)
sudo pip install google-cloud-speech
↑上を試したらインストールされたようです。
でも結果は変わりません。環境変数のパス設定とかが悪いのでしょうか。
あなたの回答
tips
プレビュー