前提・実現したいこと
現在、googlespeech-to-textを用いて音声ファイルをテキスト化しcsvファイルに特徴量を書き出そうと試みていますが以下のエラーが出現しています。わかる方教えていただきたいです。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "LongRunning.py", line 137, in <module> transcribe_gcs(args.path) File "LongRunning.py", line 83, in transcribe_gcs operation = client.long_running_recognize(config=config, audio=audio) File "/home/pi/.local/lib/python3.7/site-packages/google/cloud/speech_v1/services/speech/client.py", line 508, in long_running_recognize self._transport.operations_client, File "/home/pi/.local/lib/python3.7/site-packages/google/cloud/speech_v1/services/speech/transports/grpc.py", line 236, in operations_client self._operations_client = operations_v1.OperationsClient(self.grpc_channel) File "/home/pi/.local/lib/python3.7/site-packages/google/api_core/operations_v1/operations_client.py", line 59, in __init__ self.operations_stub = operations_pb2.OperationsStub(channel) AttributeError: module 'google.longrunning.operations_pb2' has no attribute 'OperationsStub'
該当のソースコード
python
import argparse import io import csv import sys import datetime strnow = str(datetime.datetime.now().strftime('%Y%m%d%H%M%S')) CSVFileName ='_CSVFileLanuage' + strnow + '.csv' def transcribe_gcs(gcs_uri): """Asynchronously transcribes the audio file specified by the gcs_uri.""" from google.cloud import speech client = speech.SpeechClient() audio = speech.RecognitionAudio(uri=gcs_uri) config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.FLAC, sample_rate_hertz=16000, language_code="ja-JP", enable_word_time_offsets=True, ) operation = client.long_running_recognize(config=config, audio=audio) print("Waiting for operation to complete...") response = operation.result(timeout=10000) sentence_end=0 data=[] alternative = result.alternatives[0] print("Transcript: {}".format(alternative.transcript)) print("Confidence: {}".format(alternative.confidence)) for word_info in alternative.words: word=word_info.word start_time = word_info.start_time end_time = word_info.end_time if sentence_end==0: sentence_end=end_time.total_seconds() print( f"Word: {word}, start_time: {start_time.total_seconds()}, end_time: {end_time.total_seconds()}" ) len_s=end_time.total_seconds()-sentence_end data.append(ip) data.append(end_time.total_seconds()) data.append(len_s) data.append(alternative.transcript) with open(CSVFileName,'a') as csvfile: writer =csv.writer(csvfile, lineterminator='\n') writer.writerow(data) if __name__ == "__main__": CSVFileName ='_CSVFileLanuage' + strnow + '.csv' parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter ) parser.add_argument("path", help="File or GCS path for audio file to be recognized") args = parser.parse_args() if args.path.startswith("gs://"): transcribe_gcs(args.path)
まだ回答がついていません
会員登録して回答してみよう