Azure Speech Service を使った音声認識 (STT: Speech to Text) を試してみます。
Microsoft の Cognitive Services のひとつとして提供されている Speech Service を使用すると、音声をテキストに変換したり、逆にテキストを音声に変換したりすることができます。
ここでは、Python から Speech Service の機能を利用してみます(Windows 10 で動作確認済)。
実行するにはマイクのついた PC が必要です
マイクのついていない PC で実行すると SPXERR_MIC_NOT_AVAILABLE
エラーが発生します。
準備
Speech Service の準備
Azure Portal から Speech のリソースを作成し、Subscription Key を取得しておいてください。
Speech SDK のインストール
Python の azure-cognitiveservices-speech
パッケージをインストールします。
$ pip install azure-cognitiveservices-speech
Visual Studio C++ Redistributable のインストール
必要があれば、Visual Studio C++ の再頒布可能パッケージをインストールします。
Python コード
一回だけ変換して終わるバージョン
繰り返し入力を受け付けるバージョン
こちらのバージョンは、Ctrl+C でプログラムを停止するまで、繰り返しユーザーの入力(発話)を受け付けます。
実行
スクリプトを起動すると、「何かしゃべってください」と表示されるので、マイクに向かってしゃべると、その言葉が STT によりテキストに変換されて表示されます。
下記は、「こんにちは」としゃべった場合の出力例です。
参考資料
ここの解説は下記のサンプルコードを参考にしています。
関連記事