Pythonで音声ファイルの文字起こしをしたいと思い、調べていたところ、speech_recognitionライブラリを見つけました。READMEをみてみると、様々な音声認識のエンジンやAPIがサポートされていました。その中にはGoogle Speech Recognitionというエンジンと、Google Cloud Speech APIというAPIがサポートされているのですが、「Google Speech Recognition」というエンジンがどんなものなのか、調べてもなかなかヒットしません。調べてもGoogle Cloud Speech APIについてのサイトに辿りついてしまいます。無料で使えるものなのか、また無料なのであれば、なぜGoogle Cloud Speech APIは有料なのにGoogle Speech Recognitionは無料なのか教えていただきたいです。
##調べたこと
###GitHubのサンプルコードを確認した
speech_recognitionライブラリのGitHubにGoogle Speech Recognitionを利用した音声認識のサンプルコードがありました。コメントによると
「テスト目的ならデフォルトのAPIを使ってください。他のAPIキーを利用するためには(略)こうやって指定してください。」
と記述してあります。
試しにデフォルトのAPIキーを(key=を指定しないで)利用したところ、利用できました。
デフォルトのAPIキーがどんなものなのかがわかりません。そして、なぜテスト目的以外で用いてはいけないのでしょうか。
APIというものをあまり使ったことがないため、根本的な理解が間違っているかもしれないのですが、どなたか教えていただきたいです。
以下引用コード(audio_transcribe.py)
# recognize speech using Google Speech Recognition try: # for testing purposes, we're just using the default API key # to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")` # instead of `r.recognize_google(audio)` print("Google Speech Recognition thinks you said " + r.recognize_google(audio)) except sr.UnknownValueError: print("Google Speech Recognition could not understand audio") except sr.RequestError as e: print("Could not request results from Google Speech Recognition service; {0}".format(e))
PyPIのサイトを確認した
「Google Speech Recognition」のAPI取得の方法を調べていたところ、speech_recognitonライブラリの古いバージョン(2.1.3)のPyPIのサイトに以下のような記述がありました。(speech_recognitionの最新バージョン(3.1.8のPyPIのサイトにはこのような記述はありませんでした。)
API Key
Google Speech Recognition API requires an API key. This library defaults to using one that was reverse engineered out of Chrome, but it is not recommended that you use this API key for anything other than personal or testing purposes.
Instead, it is best to obtain your own API key by following the steps on the API Keys page at the Chromium Developers site.
APIキーは無事に取得でき、音声認識も実行できました。手順に従いGoogle Cloud PlatformでAPIを取得したのですが、Speech APIというAPIがCloud Speech-to-Text APIとは別にあり、その概要として以下のような記述がありました。
概要
The Speech API allows developers to access Google speech-recognition services. It is only available for development and personal use.
この記述から
「Google speech-recognitionというサービスがあり、それをデベロッパが利用するときにこのAPIを使ってください。でも、開発の時の個人利用に限ります。」
と解釈しました。
その場合、開発ではなく本番環境としてGoogle Speech Recognitionを利用したい場合はどうすれば良いのでしょうか。
もしくは、Google Speech RecognitionとはGoogle Cloud Speech APIのことであり、デベロッパが利用するときの名称なのでしょうか。
(2021年01月27日 18:30)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/28 07:41 編集