ヨメから、「Windowsで中国語テキストの読み上げをできないか」とのご要望をいただいたので、「昔そんなことやったなぁ」と思いながら調べた内容まとめ。普通の読者の方は日本語読み上げだと思いますけど、だいたい同じ手順で出来ます。
手順の概要
Windowsには、音声合成(SAPI)という機能が搭載されています。これをつかうと、Excelや、Vectorでダウンロードできる各種SAPI対応アプリケーションでテキストを読み上げさせることができます。
※なんでWordじゃないのかは謎。
ただし、Windows7のProfessional程度では英語のランタイムしか搭載されていないので、日本語や中国語を読み上げるためには別途ランタイムが必要。このランタイムがどうも無料で手にはいらないっぽい。UltimateのDVDに入っているという噂。
一方、SAPIとほとんど同じ機能なんだけど微妙に異なるぽいSpeech Platform Server Runtimeというのがあって、これは各言語ランタイムが無料で配布されている。そして、Speech Platform Server RuntimeをSAPIとして認識させちゃう裏技があるので、これを使えばExcelでテキストを読み上げさせることが出来る!
Microsoft Speech Platformとランタイムのインストール
Download: Microsoft Speech Platform – Runtime (Version 11) – Microsoft Download Center – Download Detailsから、自分の環境にあったSpeechPlatformRuntime.msiをダウンロードしてインストール。Windows7 64bit版の人はx64_SpeechPlatformRuntime、32bit版の人はx86_SpeechPlatformRuntime。「わかんない」というような人はきっと32bit版です。
Download: Microsoft Speech Platform – Runtime Languages (Version 11) – Microsoft Download Center – Download Details
から、必要な言語のTTSランタイムをインストール
※「zh」とか「ja」で検索すれば見つかる。
※「MSSpeech_SR」で始まるのは音声認識用ランタイム、「MSSpeech_TTS_」で始まるのが音声合成用ランタイム。今回必要なのは音声合成用ランタイムなので、間違えないように注意。
Speech Platform Server RuntimeをSAPIとして認識させる
スタート > すべてのプログラム > アクセサリ > コマンドプロンプトを右クリックして、「管理者として実行」。権限昇格のために管理者パスワードを要求させるので入力。開いたコマンドプロンプトで、下記を実行する。
reg COPY “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices\Tokens” HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens /s /f
※または、レジストリエディタを立ち上げて、図のようにコピーしてもよい。
音声合成(SAPI)の言語を変更
「コントロール パネル > すべてのコントロール パネル項目 > 音声認識 > 音声合成」を開いて「音声の選択」で適切な言語を選ぶ。
※ここまでの手順が失敗しているとMicrosoftAnnaしか出てこない。その時はおやつでも食べて考え直す。
Excelで読み上げ
読み上げコマンドが表示されない – Word – Office.comを参考に、読み上げコマンドを表示させる。
Excelのセルに適当な文章を入力して、読み上げボタンを押すと読み上げられる。
謝辞
キーとなったレジストリの変更のアイデアを初め、だいたいのアイデアは下記が出所です。このブログ記事は、下記を元に、最近の環境で実行できるようにまとめ直しました。
日本語や中国語等の音声合成(SAPI TTS)を無料で使う方法(Speech Platform Server Runtimeを裏技で SAPI 5.1として動作させる方法)