Azureで音声からテキストへ変換するサービスについて調べた結果、Speech Servicesなるものを発見。
音声サービスとは – Azure Cognitive Services | Microsoft Learn
Speech ServiceはCognitive Servicesの中の1つ。
Azure Cognitive Services とは – Azure Cognitive Services | Microsoft Learn
Cognitive Services は、次の 5 つの主要な領域に分類できます。
- 視覚
- 音声
- Language
- 決定
- Azure OpenAI Service
Speech Servicesのリソース作成後、Speech Studioで試すことができる。
試した感じでは精度は高め。
本題。Speech SDKで試す。
音声テキスト変換クイックスタート – Speech サービス – Azure Cognitive Services | Microsoft Learn
このサンプルにWSL上のUbuntu 22.04チャレンジする。
事前準備として、WSLで扱うためにサウンドサーバーのインストールが必要。
sudo apt install pulseaudio
Speech SDKをインストール。
Speech SDK のインストール – Azure Cognitive Services | Microsoft Learn
Speech SDK では OpenSSL 3.0 (Ubuntu 22.04 の既定) はサポートされていません。
Ubuntu 22はOpenSSL 3.0が標準で、このままでは実行できない。
OpenSSL 1.1.1を手動でビルド&インストール。
/source/index.html (openssl.org)
9650 2023-Feb-07 15:38:20 openssl-1.1.1t.tar.gz
tar xfz openssl-1.1.1t.tar.gz cd openssl-1.1.1t ./config --prefix=(インストール先) make sudo make install export LD_LIBRARY_PATH=(インストール先)/lib
実行結果
https://(リージョン).api.cognitive.microsoft.com/sts/v1.0/issuetoken
Azure Portalで確認したエンドポイントは上記URLに対し、実際にアクセスしているURLは次の通り。
wss://(リージョン).stt.speech.microsoft.com/speech/recognition/interactive/cognitiveservices/v1?language=ja-JP
その結果。
Speak into your microphone. CANCELED: Reason=Error CANCELED: ErrorCode=ConnectionFailure CANCELED: ErrorDetails=Connection failed (no connection to the remote host). Internal error: 1. Error details: Failed with error: WS_OPEN_ERROR_UNDERLYING_IO_OPEN_FAILED
尚、OpenSSL 1.1.1は今年9月にサポート終了予定。
OpenSSL 1.1.1 End of Life – OpenSSL Blog
RESTが無難か。
RESTの場合、次のサンプルを見るとwav形式で送信する必要があるのだけど、
audio_file=@'YourAudioFile.wav' curl --location --request POST \ "https://${SPEECH_REGION}.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US" ^ --header "Ocp-Apim-Subscription-Key: ${SPEECH_KEY}" ^ --header "Content-Type: audio/wav" ^ --data-binary $audio_file
Win標準アプリのボイスレコーダーはmp4形式という。