XAMLab(ザムラボ)
ザムラボ - XAML研究室、WPF、Silverlight関連など。

目次

Blog 利用状況
  • 投稿数 - 202
  • 記事 - 1
  • コメント - 1306
  • トラックバック - 43
ニュース

書庫

日記カテゴリ

ギャラリ

なか-chan関連サイト

他の方へのリンク

 

2007年9月15日

世の中、初音ミクというバーチャル・アイドル歌手が流行っているらしいですが、WPFでも簡単にパソコンで音声合成を楽しめるという記事を見つけました。こちらです。学び、そして考えるWPFがしゃべったー。という記事です。実際にやってみると実に簡単で面白いです。

では、実際にExpression BlendとVisual Studio 2005 を使ってしゃべらせてみましょう。

まず、Expression Blendを起動し、新規プロジェクトを作成します。
左側の、TextBoxコントロールをダブルクリックし、Windowに配置します。

①ウィンドウサイズを、テキストボックスに合わせて小さくしておきましょう。
②種類がTextBoxになっていることを確認し、名前を「textBox1」とつけます。
③そのままイベントボタンを押して、イベントウィンドウに切り替えます。
④KeyDownプロパティをダブルクリックすると、KeyDownのイベント
 が自動的に作成され、Visual Studioが開きます。

Visual Studioの右側、参照設定を右クリックし[参照の追加...]を選択します。

参照の追加ダイアログで、「.NET」から「System.Speech」を追加します。

以下のコードを入力します。

// テキストボックスのキーが押されたとき
private void textBox1_KeyDown(object sender, 
     System.Windows.Input.KeyEventArgs e) { // リターンキー以外は戻る if (e.Key != System.Windows.Input.Key.Return) return;

// (参照設定にSystem.Speechが追加されていること)
// スピーチシンセサイザを作成 System.Speech.Synthesis.SpeechSynthesizer ss = new System.Speech.Synthesis.SpeechSynthesizer();

// textBox1の言葉を話す ss.Speak(textBox1.Text); }

以上で完成です。[F5]キーを押して、実行してみましょう。
何か文字を入力して、リターンキーを押すと、入力した文字をしゃべります。このままだととりあえず、英語のみのようです。


posted @ 16:07 | Feedback (8)
 

blogなどに、C#やVBのコードを奇麗にHTMLに変換し、載せたいと思ったことはないでしょうか?英語のサイトですが、「c# code format 」というところが便利です。
http://manoli.net/csharpformat/

Visual Studioからコードをコピーして、テキストエリアにペーストし、C#, VBなどの言語を選択して、[format my code]ボタンを押すだけです。embed stylesheet をチェックしておくと、スタイルシートのコードも作成されます。あとは、HTMLをコピーして、自分のblogのhtml欄に貼り付けるだけです。もちろん日本語もきちんと変換できます。

例)

// テキストボックスのキーが押されたとき
private void textBox1_KeyDown(object sender, 
     System.Windows.Input.KeyEventArgs e) { // リターンキー以外は戻る if (e.Key != System.Windows.Input.Key.Return) return;

// (参照設定にSystem.Speechが追加されていること)
// スピーチシンセサイザを作成 System.Speech.Synthesis.SpeechSynthesizer ss = new System.Speech.Synthesis.SpeechSynthesizer();

// textBox1の言葉を話す ss.Speak(textBox1.Text); }
posted @ 15:41 | Feedback (2)