2013年12月25日水曜日

Windowsで音声合成

先日大阪でDev(ice)LOVE デバイス祭りという勉強会に参加しました。
「KINECTを使った音声対話」という内容で話をさせていただいたのですが、その時のスライドに対応したサンプルプログラム+αを何回かに分けて書いていきたいと思います。

ちなみにスライドはこちらにアップロードしています。

まず最初に音声合成のサンプルプログラムです。
勉強会の時はSpeechPlatform11をインストールした状態での説明でしたが、Windows標準の状態でもできますので特に何も用意する必要はありません。(もちろん開発環境は必要です^^;)

サンプルプログラムの動作確認は Windows8 Pro+VS C# 2012 Express for Desktopですが、
Windows7やC#2010でも動くと思います。.NET Framework3.5以上なら大丈夫でしょう。もしかするとXPでも動くかもしれないです。

さっそくプログラムです。コンソールアプリとなります。

using System;
using System.Speech.Synthesis;

namespace Speak_Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            //音声合成エンジン
            SpeechSynthesizer ss = new SpeechSynthesizer();
           
            //出力を既定のスピーカーに設定
            ss.SetOutputToDefaultAudioDevice();

            //音声出力
            ss.Speak("こんにちは,今日はようこそいらっしゃいました。");

            //キー入力待ち
            Console.ReadKey();
           
        }
    }
}

あらかじめ「プロジェクト」>「参照の追加」>「アセンブリ」>「フレームワーク」内の「System.Speech」にチェックを入れてください。

2行目の「System.Speech.Synthesis」でWindows標準の音声合成機能を利用できるようにしています。

しゃべらせるだけならこれだけです。ひらがな、カタカナ、漢字も使えます。英語も標準で使えます。
多国語対応ですが、別に言語パックなどをインストールしなければいけないでしょう。

0 件のコメント:

コメントを投稿