🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Q&A

2回答

1320閲覧

TypeErrorの原因が不明です

kenji3591142

総合スコア0

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

0グッド

0クリップ

投稿2021/03/06 10:44

前提・実現したいこと

初めて質問させていただきます。会議議事録を至急作成する必要があるのですが、非常に困っております。
google-cloud-speech-1.3.2を使用して音声ファイル(file.flac、audacityを使用してサンプリングレー44100Hzモノラルのflacファイルを作成)をtxtファイルに変換したいのですが下記エラーメッセージが発生し、原因が不明です。
実は約1年前にも同様の手順でtxtファイルを完成した経験があるのですが、なぜか今回エラーが発生しているのか不明です。ご教授お願いいたします。

$ python transcribe.py gs://20210226/4-1.flac ←実行中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

Traceback (most recent call last):
File "transcribe.py", line 44, in <module>
transcribe_gcs(args.path)
File "transcribe.py", line 23, in transcribe_gcs
operation = client.long_running_recognize(audio)
TypeError: long_running_recognize() takes at least 3 arguments (2 given)

エラーメッセージ

該当のソースコード

[transcribe.py] # !/usr/bin/env python # coding: utf-8 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='ja-JP') 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) ### 試したこと ネット情報をいろいろと検索してみました(本日だけでも数時間要しています)が解決策が見つかりませんでした。 ### 補足情報(FW/ツールのバージョンなど) Python 2.7.16 google-cloud-speech-1.3.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

  • リスト約1年前にも同様の手順でtxtファイルを完成した経験があるのですが、なぜか今回エラーが発生しているのか不明です。

とのことですが、Python クライアント ライブラリ v0.27 への移行が原因ではないでしょうか。

Python クライアント ライブラリの旧バージョンを引き続き使用し、コードを移行しない場合は、アプリで使用する Python クライアント ライブラリのバージョンを指定する必要があります。ライブラリの特定バージョンを指定するには、requirements.txt ファイルを次のように編集します。
google-cloud-speech==0.26

と書いてあります。

投稿2021/03/06 12:43

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenji3591142

2021/03/07 05:49

ご回答ありがとうございます。下記方法で再度やってみましたが、同様のエラーが出てしまいます。 $ export GOOGLE_APPLICATION_CREDENTIALS=triple-cab-******-************.json $ pip install -r 20210307requirements.txt(同ファイルをアップロード後に実行。oogle-cloud-speech-1.3.2がoogle-cloud-speech-0.26.0に変更された) $ python transcribe.py gs://20210226/4-1.flac この後、同様のエラーが出ます
kenji3591142

2021/03/07 06:01

すみません。「同様のエラー」と記載しましたが間違いです。今回のエラー内容は下記のとおりです。 Traceback (most recent call last): File "transcribe.py", line 44, in <module> transcribe_gcs(args.path) File "transcribe.py", line 12, in transcribe_gcs from google.cloud.speech import enums ImportError: cannot import name enums
guest

0

TypeError: long_running_recognize() takes at least 3 arguments (2 given)

引き数が3つあるはずが2つしかない、とおっしゃってますよ

投稿2021/03/06 10:47

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenji3591142

2021/03/07 05:48

ご回答ありがとうございます。引数の3つ目の入力方法が分かりません。
y_waiwai

2021/03/07 05:51

それでは、その関数を定義しているコードを探しましょう あるいは、その関数の仕様を記述しているドキュメントを探します それで、3つ目の引数になにを指定すべきなのか、というのを調べましょう
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問