Microsoft Speech Platform に対応しました。

Microsoft Speech Platform を使用すると様々な言語の音声合成エンジンが使えるようになります。
サポートされている OS は、Windows: Vista, 7, Server 2003, Server 2008 ですが、WindowsXP 以降なら使えるようです。

必要な物は以下の二つと Microsoft .NET Framework 3.5 Service Pack 1 です。

1.Microsoft Speech Platform - Server Runtime
これをインストールすると音声合成エンジンを動作させることができるようになります。
次のサイトより SpeechPlatformRuntime.msi をダウンロードして下さい。
Microsoft Speech Platform - Server Runtime ver 10.2
OS が 32bit の場合は Platform\x86\SpeechPlatformRuntime.msi
OS が 64bit で使用する読み上げソフトも 64bit の場合は Platform\x64\SpeechPlatformRuntime.msi
Text To Wav は 32bit なので 64bit では動作しないと思います。その場合は 32bit 版を使用してください。

2.Microsoft Speech Platform - Server Runtime Languages
これは音声合成エンジン本体です。次のサイトから喋らせたい言語の音声エンジンをダウンロードしてください。
日本語音声エンジンが使用したい場合は MSSpeech_TTS_ja-JP_Haruka.msi をインストールしてください。
Microsoft Speech Platform - Server Runtime Languages ver 10.2

SAPI5 が出てから10年ほど経ってようやく Microsoft が本気を出したみたいで、バージョンアップがちょくちょくされているようです。現在の所 Text To Wav ではバージョン10系列ならどれでも使用できました。

C言語で使用するためには
 C言語のプログラム内でどうすれば使用できるようになるか説明します。
 新しい SAPI5 では音声エンジンが登録されているレジストリが変更されているので、コンボボックスに追加するさい、そこからも音声エンジンを追加するだけで使えるようになるみたいです。コンボボックスに追加するためには SpInitTokenComboBox() 関数を使います。
 今までは第二引数に sapi.h に定義されている SPCAT_VOICES を使用していたのですが、新しい SDK では値が変更されているので、両方の sapi.h に対処するために SPCAT_VOICES を使用しないで次のようにしました。
// 古いバージョンの SAPI5
SpInitTokenComboBox(hWnd, L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices");
// Microsoft Speech Platform v10.x
SpInitTokenComboBox(hWnd, L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech Server\\v10.0\\Voices" );
これだけで無事使えるようになりました(^ω^)

コメントの投稿

非公開コメント

trackback


この記事にトラックバックする(FC2ブログユーザー)

-

管理人の承認後に表示されます
リンク
(*´∀`)ノ (´・ω・`)

最近の記事
最近のコメント
ブログ内検索
RSSフィード
カテゴリー
月別アーカイブ
メールフォーム

Name:
Mail:
Title:
Message:

FC2カウンター