すでにAzure上で音声サービスのリソースが作成済みの人向けの手順です。
2021年3月時点の情報に基づいていますが、2022年2月時点でも使えます。(対応リージョンは増えてますので、最新情報をご確認ください)
・Windows PCでの環境のセットアップ(コマンドプロンプトからコマンド使えるようにする)
・Text To Speech のテスト
・Speech To Text のテスト
・Speech Translation のテスト [追記しました]
を実施しています。Windows10 環境で動作確認しています。
留意事項
・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 |
文章のほうも誤りゼロとはいかないと思うのですが、かなりの精度でした。気付いてる点は次の通りです。
- 単語レベルでの誤りはほぼない。(まれに同じ音声の別の言葉になっていたりすることはある)
- カンマの位置が原文と異なることがある。原文と同じ位置につけるにはどういう機械学習が必要なのか?難しいのかもしれませんね。
- 連語の場合に「単語-単語」ではなく「単語 単語」となる。これはどっちが間違ってるとかでもないレベルの話だと思うので許容範囲ですね。