Limit PreviewのGoogle Speech API少し使ってみました。
音声マイクとしては以下を利用。
まずは、SoX Sound eXchangeをダウンロード
https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.zip/download
次に、ダウンロードしたSoX Source eXchangeを適当なフォルダに展開
rec.exe、play.exeをsox.exeをコピーして作成
copy sox.exe rec.exe
copy sox.exe play.exe
AUDIO DEVICE DRIVERの環境変数の設定を行います。
set AUDIODRIVER=waveaudio
rec -c 1 -r 16k output.wav
そこで、マイクから音声を録音し、FLAC形式に変換まで行っておきます。
sox output.wav output.flac
Speech API用のサンプルを取得します。
REST APIでSpeech APIを使用することもできますが、この場合、publicな権限がないとGCS上の音声ファイルを読み込むことができないので、publicでないGCSバケットの音声ファイルを解析するには、下記サンプルのようにcredential認証をアプリケーション内部で行う必要があります。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
日本語を解析させるには、python-docs-samples/speech/api/speech_gcs.pyで一カ所修正する必要があります。変更内容についてはクローズな情報になっていますので、ここでは記載は差し控えます。
python speech_gcs.py gs://xxxxxxxx/output.flac gs://xxxxxxxx/output.txt
レスポンス待つことなく返ってきます。おまけに高精度で。
$ cat output.txt { "responses": [ { "results": [ { "alternatives": [ { "transcript": "おはようございますこんにちは", "confidence": 0.95833784 } ], "is_final": true } ] } ] }
言語コードの設定をしないと、『ohayo gozaimasu konnichiwa』となります。
Speech APIの言語も、英語、日本語をはじめ、90言語近くに対応しており、今後Google Homeとのバックエンドに使われそうな予想はしています。