前提・実現したいこと
google speech apiを使用して100個ほどの音声ファイルの書き起こしを連続して行いたいです。
該当のソースコード
import argparse
import io
import sys
import codecs
import datetime
import locale
def transcribe_gcs(gcs_uri):
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types
client = speech.SpeechClient()
audio = types.RecognitionAudio(uri=gcs_uri) config = types.RecognitionConfig( sample_rate_hertz=16000, encoding=enums.RecognitionConfig.AudioEncoding.FLAC, language_code='en-US') operation = client.long_running_recognize(config, audio) print('Waiting for operation to complete...') operationResult = operation.result() d = datetime.datetime.today() today = d.strftime("%Y%m%d-%H%M%S") fout = codecs.open('output{}.txt'.format(today), 'a', 'shift_jis') for result in operationResult.results: for alternative in result.alternatives: fout.write(u'{}\n'.format(alternative.transcript)) fout.close()
if name == 'main':
parser = argparse.ArgumentParser(
description=doc,
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument(
'path', help='GCS path for audio file to be recognized')
args = parser.parse_args()
transcribe_gcs(args.path)
試したこと
https://qiita.com/knyrc/items/7aab521edfc9bfb06625
のソースコード(上記のもの)を使用し、Google Cloud Console上で
python transcribe.py gs://バケット名/音声データ名.flac
と打ち込むことで一つずつファイルの書き起こしをすることはできるようになりました。
私はこの処理をgs://パケット名/音声データ.flacにあるすべてのファイルに対して連続して行いたい(出力先はそれぞれ別のテキストファイル)と考えていますが方法がわかりません。
よろしくお願いします。
あなたの回答
tips
プレビュー