Microsoft Speech Platform を使ってみた

Vista 以降の Windows で使える音声合成エンジン(だけじゃない!)Microsoft Speech Platform を使ってみた。

Softalk とかから使うだけならランタイムと日本語用言語パックをダウンロードすればいいけど、今回はプログラムを自分で書くので SDK をダウンロードした。

Visual Studio Express で新しい C# Windows フォームアプリケーションのプロジェクトを作って、C:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Assembly あたりにあるアセンブリを追加する。

Speak the Contents of a String (Microsoft.Speech)」を見ると超簡単に使えそうなのだが、音が出ない・・・?

synth.SetOutputToDefaultAudioDevice();

でできた。デフォルトではナルデバイスに出力されてるのかな? こんな感じで使う。

static void Main(string[] args)
{
  SpeechSynthesizer synth = new SpeechSynthesizer();

  synth.SetOutputToDefaultAudioDevice();
  synth.SelectVoice("Microsoft Server Speech Text to Speech Voice (ja-JP, Haruka)");
  synth.Speak("東京特許許可局");

  // キーが押されるまで終了しない
  Console.ReadKey();
}

ちなみに英語はいろんな国のアクセントが用意されていて面白い。インドの Heera さんは、over をオヴェーって発音するぞ!?

はてなダイアリーに音声が貼れればいいのになぁ。