Microsoft Speech Platform のサンプルプログラム その2 (C#)
投稿者:マーチン 2012年5月4日
カテゴリ:障碍者全般::音声合成
カテゴリ:障碍者全般::音声合成
Microsoft Visual C# を使った Microsoft Speech Platform 用の簡単なプログラムを作成してみました。Microsoft Speech Platform SDK に同梱されている DLL で、Microsoft.Speech.Synthesis の SpeechSynthesizer クラスを使用する方法です。音声合成記述言語 (Speech Synthesis Markup Language: SSML) を使うことができます。
【動作環境】 Windows XP / Vista / 7 (32bit/64bit)
.NET Framework 3.0 以降が必要
Microsoft Server Speech 11.0
⇒ 【まほろば】無料の音声合成エンジン 「Microsoft Speech Platform 11」
【開発環境】 Microsoft Visual C# 2010 Express
【ソフト種別】 オープンソース (改変、再配布は自由です)
.NET Framework 3.0 以降が必要
Microsoft Server Speech 11.0
⇒ 【まほろば】無料の音声合成エンジン 「Microsoft Speech Platform 11」
【開発環境】 Microsoft Visual C# 2010 Express
【ソフト種別】 オープンソース (改変、再配布は自由です)
●サンプルプログラム
◆実行ファイル
mssp_SampleC_10_Exe.zip をダウンロードして解凍し、実行ファイルを実行する。
◆SSML
Speech Synthesis Markup Language を使えば、読み上げる言語や詳しい読み上げ方をXMLで記述をすることができます。以下、記述方法の一例を表にしました。詳しくは、SDKをインストール後、「MicrosoftSpeechPlatformSDK.chm」の ”Speech Synthesis Markup Language Reference (Microsoft.Speech)” を参考にしてください。
または、【TOSHIBA】ToSpeak 制御タグ仕様 が参考になります。
項目 | 内容 | 記述例 |
---|---|---|
voice | 話者 | <voice xml:lang="en-US">so good</voice> <voice gender="female">そうね</voice> |
prosody | 音質 | 音量 <prosody volume="90"> ~ </prosody> 速度 <prosody rate="-10%"> ~ </prosody> 音程 <prosody pitch="x-high"> ~ </prosody> |
emphasis | 強調 | <emphasis level="strong"> ~ </emphasis> |
break | 一時休止 | <break time="2s" strength="strong "/> |
say-as | テキストの意味 | <say-as interpret-as="date" format="ymd">2012/04/29<say-as> <say-as interpret-as="time" format="hms">17:45:30</say-as> <say-as interpret-as="telephone">123457890</say-as> |
sub | 読み上げ内容 | 無変換 |
audio | ファイル再生 | <audio src="http://www.xxxx.net/abc.wav"> ~ </audio> |
●ソースファイル
◆ダウンロード
(1)Microsoft Visual C# 2010 用ソースファイル mssp_SampleC_10_Src.zip をダウンロードして、解凍する。
(2)SpeechPlatformSample.csproj を開く。
(2)SpeechPlatformSample.csproj を開く。
◆Visual C# で SpeechSynthesizer クラスを使うには
(1)Microsoft Speech Platform - Software Development Kit (SDK) (Version 11) をインストールする。
(2)[プロジェクト] [参照の追加] で、[参照] タブを選択し、
(3)プログラムの先頭に、
using Microsoft.Speech.Synthesis;
を追加する。
(2)[プロジェクト] [参照の追加] で、[参照] タブを選択し、
C:¥Program Files¥Microsoft SDKs¥Speech¥v11.0¥Assembly¥Microsoft.Speech.dll
を追加する。(3)プログラムの先頭に、
using Microsoft.Speech.Synthesis;
を追加する。
◆大事なポイント
出力先の設定をしないとスピーカーから音が出ないようです。一番簡単なのが、
メソッド SetOutputToDefaultAudioDevice()
を実行することです。◆ソースの主要部分
・変数の定義
・音声リストの作成
・音声、音量、速度の設定と、読み上げ実行
●SAPI5用に改造するには
[プロジェクト] [参照の追加] で、[.NET]タブを選択し、[System.Speech] を追加する。
プログラムの先頭の、
プログラムの先頭の、
using Microsoft.Speech.Synthesis;
をusing System.Speech.Synthesis;
に変更する。◆関連記事
【まほろば】Microsoft Speech Platform のサンプルプログラム その1 (C#)
【まほろば】Microsoft Speech Platform のサンプルプログラム (Python)
【まほろば】無料の音声合成エンジン 「Microsoft Speech Platform 11」
【まほろば】Microsoft Speech Platform 簡単インストーラー Ver.2.2
【まほろば】SAPI5 対応の日本語音声合成エンジンのインストール2
【まほろば】Microsoft Speech Platform のサンプルプログラム (Python)
【まほろば】無料の音声合成エンジン 「Microsoft Speech Platform 11」
【まほろば】Microsoft Speech Platform 簡単インストーラー Ver.2.2
【まほろば】SAPI5 対応の日本語音声合成エンジンのインストール2