世の中には様々なサービスがあふれ、増え続けていますが、人工知能(AI)を応用したサービスもたくさん出て来ています。テキストを音声に変換して出力するアプリケーションもその1つです。
音声合成ソフトウェアやサービスは長い間存在していましたが、単調で抑揚がなく、ロボットのように無感情に聞こえることが大きな欠点でした。この問題を克服するのに、Microsoft は AI を利用して人間の発声に近い音声を作成するための単純な REST ベースの API と言語 SDK のセットを構築しました。このテキスト読み上げサービスは、Azure Cognitive Services 製品スイートに組み込まれています。
”Text to Speech” REST API を無料で試すには、Microsoft の Cognitive Services の API 試用ページにアクセスし、Speech Services の [追加 >] ボタンをクリックしてください。
API キーを入手したら、認証トークンを取得する必要があります。そのためには、呼び出すエンドポイントを知る必要があります。無料トライアルで API キーを取得した場合、トークンを取得するためのエンドポイントは、https://westus.api.cognitive.microsoft.com/sts/v1.0/issuetoken になります。
デモに進むために、PowerShell と AzTextToSpeech モジュールを使用することにします。 AzTextToSpeech モジュールを使用すると、テキスト読み上げ API を簡単に操作できます。まず、管理者として実行している PowerShell コンソールで Install-Module -Name AzTextToSpeech を実行して、AzTextToSpeech モジュールをダウンロードします。
Az.CognitiveServices PowerShell モジュールが必要ですが、これは Install-Module Az を実行することでインストールできます。
モジュールをインストールしたら、
C:\Program Files\WindowsPowerShell\Modules\AzTextToSpeech\
そして、Save-ApiKey -Key
Connect-AzTextToSpeech を実行すると、configuration.json にクエリして、トークンを取得し、すべての API 呼び出しに使用される現在のセッションに保存します。トークンが取得できたので、テキストを音声に変換できます。
テキストを音声に変換するコマンドは ConvertTo-Speech です。このコマンドには、少なくとも4つの異なるパラメータが必要です。
これらのパラメータを指定して、ConvertTo-Speech コマンドを呼び出す例は以下のようになります。ここでは、保存したファイルを返すオプションの PassThru パラメータも使用しており、出力ファイルを Invoke-Item パラメータに送ってメディアプレーヤーですぐにファイルが開くようにしています。
PS> ConvertTo-Speech -Text 'Yay! I am in an Ipswitch article!' -AudioOutput 'audio-16khz-128kbitrate-mono-mp3' -VoiceAgent 'Guy24kRUS' -OutputFile 'C:\ipswitch.mp3' -PassThru | Invoke-Item
このコマンドを実行すると、人間が話しているような音声を聞くことができるはずです。AzTextToSpeech PowerShell モジュールの詳細については、GitHub リポジトリをご覧ください。音声変換の詳細については、マイクロソフトのドキュメントをご覧ください。
Subscribe to get all the news, info and tutorials you need to build better business apps and sites