Azureの音声サービスをコマンドで使う

Photo by Hugo Ataide on Pixabay

すでにAzure上で音声サービスのリソースが作成済みの人向けの手順です。
2021年3月時点の情報に基づいていますが、2022年2月時点でも使えます。(対応リージョンは増えてますので、最新情報をご確認ください)

・Windows PCでの環境のセットアップ(コマンドプロンプトからコマンド使えるようにする)
・Text To Speech のテスト
・Speech To Text のテスト
・Speech Translation のテスト [追記しました]

を実施しています。Windows10 環境で動作確認しています。

ダウンロード(pdf)

留意事項

・Speech To Text/Speech Translation のインプットとして指定できるファイルは現時点でwavファイルです。(mp3が指定したいところですね…)
・wavとmp3のコマンドでの変換については、音声ファイルの形式を変換する(FFmpegによるコマンド変換) を参照してください。
・Text To Speechは出力先としてwavもmp3も指定できました。

Cognitive Services のサービス階層

Cognitive Servicesのサービス階層は、料金表から読み解くとこんな感じなのかなと想定しています。
Speech Services(音声サービス)はCognitive Servicesのひとつのサービスであり、Cognitive Services 全体ではSpeech Services以外にもサービスがあるようです。

ニューラル音声対応リージョン

2021年3月6日時点の情報です。

リージョン ニューラル音声 *1 標準音声 *1 リージョン識別子
オーストラリア東部 はい はい australiaeast
ブラジル南部 いいえ はい brazilsouth
カナダ中部 はい はい canadacentral
米国中部 いいえ はい centralus
東アジア いいえ はい eastasia
East US *2 はい はい eastus
米国東部 2 いいえ はい eastus2
フランス中部 いいえ はい francecentral
インド中部 はい はい centralindia
東日本 いいえ *3 はい japaneast
西日本 いいえ *3 はい japanwest
韓国中部 いいえ はい koreacentral
米国中北部 いいえ はい northcentralus
北ヨーロッパ いいえ はい northeurope
米国中南部 はい はい southcentralus
東南アジア はい はい southeastasia
英国南部 はい はい uksouth
西ヨーロッパ はい はい westeurope
米国西部 いいえ はい westus
米国西部 2 はい はい westus2

*1 いわゆる機械的なのが「標準音声」、人間のような自然な合成音声が「ニューラル音声」です。
*2 米国東部はなぜか「East Us」という英語表記になっています。
*3 日本は東日本も西日本もまだニューラル音声に対応してないので、リソース作るときに気を付けてください。

参考にしたぺージ

0) Text to Speech のデモ
テキストボックスにテキスト入れると読み上げ音声の確認ができます。
https://azure.microsoft.com/ja-jp/services/cognitive-services/text-to-speech/#overview

1) Cognitive Services の
価格—Speech Services

https://azure.microsoft.com/ja-jp/pricing/details/cognitive-services/speech-services
2) Speech Services のクォータと制限
https://docs.microsoft.com/ja-jp/azure/cognitive-services/speech-service/speech-services-quotas-and-limits

3) Speech サービスがサポートされているリージョン
https://docs.microsoft.com/ja-jp/azure/cognitive-services/speech-service/regions
4) ニューラル音声対応リージョン(テキスト読み上げ)
https://docs.microsoft.com/ja-jp/azure/cognitive-services/speech-service/regions#text-to-speech
5) 音声テキスト変換におけるロケール、ニューラル音声の音声名
https://docs.microsoft.com/ja-jp/azure/cognitive-services/speech-service/language-support

Speech Service のドキュメント
6) Azure Speech CLI の概要 2021/01/13
https://docs.microsoft.com/ja-jp/azure/cognitive-services/speech-service/spx-basics?tabs=windowsinstall
7) Speech CLI のバッチ操作 2021/01/13
https://docs.microsoft.com/ja-jp/azure/cognitive-services/speech-service/spx-batch-operations

(余談)Speech to Text の精度

Speech to Text は当然ながらテキストの品質が元の音声の品質に依存すると思います。
結構きれいな音声を読み込ませて、テストしてみました。
それぞれ、単語だけ、文章だけをある程度の量テキスト変換させてみました。
単語のほうは1%くらいの割合で違う単語になっていました。
下表が誤りの一部です。

  • 単語を読み込ませても冒頭は大文字になります。文章を読み込ませるのがメインの機能だと思いますし、Excel等で置換できるので問題ないと思います。
  • どう判断しているのか、ありもしない単語になってたりするのが面白いですね。
  • 単語の末尾に「?」がついてることがありました。絶妙なイントネーションのあがり具合をキャッチしてるんでしょうか?

文脈がないから推測もできないですし、しょうがないかな~と。でも、誤り1%ならばかなり精度高いなと思いました!

Revu Review
Higher Hire
Organazation Organization
Digory Degree
Descripcion Description

文章のほうも誤りゼロとはいかないと思うのですが、かなりの精度でした。気付いてる点は次の通りです。

  • 単語レベルでの誤りはほぼない。(まれに同じ音声の別の言葉になっていたりすることはある)
  • カンマの位置が原文と異なることがある。原文と同じ位置につけるにはどういう機械学習が必要なのか?難しいのかもしれませんね。
  • 連語の場合に「単語-単語」ではなく「単語 単語」となる。これはどっちが間違ってるとかでもないレベルの話だと思うので許容範囲ですね。
タイトルとURLをコピーしました