今回はPythonを使って、テキストに書いた文字をしゃべらせてみたいと思います。

Windowsの音声入出力標準仕様インターフェース「Speech Application Programming Interface(SAPI)」を使うので、今回紹介するプログラムはWindowsでしか動きません。他の環境では動かないので、予めご了承ください。

準備

pywin32モジュールをインストールします。

サンプルプログラム1

まず「おはようございます」としゃべるPythonスクリプトは以下のようになります。

変数messageの中身を変えれば、他の文をしゃべらせることができます。

11~18行目で女性の声を指定しています。環境によって違うかもしれませんが、日本語の音声は以下の4つが使えるようです。3名が女性、1名が男性の声です。

  • Microsoft Ayumi
  • Microsoft Haruka
  • Microsoft Ichiro
  • Microsoft Sayaka

実際にどの音声が使えるかは以下のスクリプトを実行すると確認できます。

サンプルプログラム2

この機能を使って、テキストファイルを読み込んで会話(掛け合い)をさせてみました。テキストファイルに「@+声の名前,速度」と記載することで、音声と速度を変えるようにしてあります。

入力に使ったテキストファイルとPythonスクリプトは以下の通りです。

読み込んでいるテキストファイル「対話テスト.txt」

実際の音声はこちら。

SAPIで合成した音声はイントネーションがぎこちなく聞こえますが、手軽に使える点はいいと思います。