【Python】AzureのSpeech SDKを使ってテキストから音声に変換してみた

★★★ Live配信告知 ★★★

Azureでクラウドネイティブな開発をするための方法について、世界一わかりみ深く説明致します!!複数回シリーズでお届けしている第9回目は、「次世代サーバーレスアーキテクチャDurable Functions 〜理論編〜」と題しまして、Durable Functionsの内部的な動作について説明します!!
【2021/12/23(木) 12:00〜13:00】

こんにちは。サイオステクノロジーの川田です。

今回はAzureのSpeech SDKを使用してテキストから音声に変換してみたので、ご紹介したいと思います。
参考にさせていただいたのは☞「テキスト読み上げのクイックスタート」です。

こちらの記事はPythonのインストール、AzureアカウントとSpeech Serviceサブスクリプションを持っていることが前提です。

事前準備

音声サービスを作成

  1. Azure portalにサインインします。

  2. リソース作成」をクリックします。

  3. 検索ボックスに「speech」と入力し、Enterします。

  4. 音声サービスを作成します。(詳細は省略)

  5. 作成したリソースへ移動し、「キーとエンドポイント」をクリックします。

  6. 後ほど使うので、キー1場所はメモしておいてください。

ライブラリーをインストール

Windows環境はこちらのみでOKでした。

macOSを使用している場合
以下のコマンドを実行して、上記のpipコマンドを取得する必要があります。

以上が事前準備になります。ではプログラムを作成していきましょう!

プログラム作成

  • Python

こちらはテキストから音声に変換するPythonプログラムです。
4行目のYourSubscriptionKeyにはメモした「キー1」
YourServiceRegionにはメモした「場所」をそれぞれ変更してください。
12行目は拡張子が「.wav」になっていますが、「.mp3」にしても問題ありません。

7行目からSSMLを使用して音声の特徴をカスタマイズをしています。

SSMLとは
音声合成マークアップ言語(SSML)とはXMLのマークアップ言語です。
変換方法を指定することで音声のピッチ、読み方、読み上げ速度、音量などを微調整することができます。
  • XML

同じ階層にssml.xmlを作成します。

言語サポートの一覧は☞「言語と音声のサポート」です。
今回の例はニューラル音声から選びました。

Language:日本語 (日本)
Locale :ja-JP
性別:Female
音声名:ja-JP-NanamiNeural

 

ニューラル音声
ニューラル音声とは人間の録音とほぼ変わらない自然な音声になります。

こちらを実行するとwavファイルが作成されます。
作成されたファイルがこちらになります。

 

音声名をja-JP-KeitaNeuralに変えてみるとこのような感じになります。

 

標準音声とニューラル音声の比較

先ほどの人間の録音にほぼ近い自然な音声が「ニューラル音声」と言いました。
「標準音声」にするとどれくらい違うのか!今度は文章にして音声を比べたいと思います。

  • 標準音声

ちょっとなんだか違和感がある音声という感じがします。苦手な方も多いですよね。

  • ニューラル音声

こちらのほうが人間に近い音声ですね。息遣いが聞こえてきそうな自然な感じです。

音声の特徴をカスタマイズする

先ほども出ましたがSSMLを使って音声のピッチ、読み方、読み上げ速度、音量などを微調整することができます。
書き方などまとめられた内容は☞こちらになります。
では少し触ってみましょう!

複数音声

1つのwavファイルに複数の音声を使用することができます。

出力した音声はこちらになります。

ピッチ変更

標準音声の場合は単語または文章で適用できます。
ニューラル音声の場合は文章のみ適用となります。
今回はニューラル音声なので文章になりますね。例は2つ目の文章でピッチを上げています。

音声を聞いてみましょう。2つ目の文章で変わったのがわかりますね。

読み上げ速度の変更

話すスピードを速くしたり遅くしたりすることも可能です。
わかりやすいように少し速く設定してみます。速くしたい場合は「+」遅くしたい場合は「-」で調整できます。

3つをピックアップしてご紹介しました。カスタマイズできるのは便利ですね(/・ω・)/
サポートされていない音声名もあるようなので試す際は注意が必要です!

まとめ

今回はAzureの音声サービス、テキスト読み上げ機能を使ってみました。
いやー時代はどんどん進化していますね。。
ぜひみなさんも試してみてはいかがでしょうか。

ありがとうございました^^





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*