VPLブロックを使ってみよう(Text To Speech)
昨日のTimerブロックを使ってカウントダウンタイマーらしきものを作れなかった問題はまだ解決していないのですが、これまた昨日発見して、時期的にどうしても今日使ってみたかったので、先に「Text To Speech」ブロックのご紹介。
【やりたかったこと】
「Text To Speech」を使って新年のご挨拶!
【実行結果】
またもや、だいぶ見づらい動画になってしまいましたが、なんとか音は聞いていただけるかと。。。
方向ダイアログの上矢印キーを押すと、「A Happy New Year」という音声が再生されます。
【今回使用したブロック】
- Text To Speech(http://msdn.microsoft.com/en-us/library/dd145258.aspx)
はじめ、
- Text-To-Speech Service(http://msdn.microsoft.com/en-us/library/bb483084.aspx)
を参考に
Choose the Start > then All Programs > then Microsoft Robotics Developer Studio > Run DSS node menu command.
とあったので、書いてある通りに
スタート→すべてのプログラム→Microsoft Robotics Dev Studio 2008 Express→Run DSS Node
を実行させてみたのですが、localhostへの接続がうまくできなくて、この先にすすめませんでした。原因はのちほど調査します。
いろいろヘルプをたどって、それらしき方法を試してみたのですが、結局は接続のところでひっかかってしまい、同じ結果になりました。
ここで、そういえばVPLのService欄でもこの「Text To Speech」 ブロックを見たことがあることを思い出し、Diagram領域に「TexttoSpeechTTS」をドラックアンドドロップさせてみました。
ブロックをどう繋いでやればよいかがわからなかったので、とりあえずこのまま実行させてみると警告がでているのが気になりますが、「Service started」と表示はされるのですが、何も音声は聞こえてきませんでした。
そこで、「TexttoSpeechTTS」を選択して、プロパティのConfigurationで「Set initial configuration」を指定し、以下の2つのパラメータを設定してみると、警告は消えましたが結果は変わらず。。。
- Voice which will say text:A Happy New Year
- Voice volume:100
また、
- Text to be spoken:A Happy New Year
を追加してみても結果は同様でした。
うーん。困りました。。。(ρ_-)o
そんな時、
- VPL Tutorial 2 - Incrementing a Value(http://msdn.microsoft.com/en-us/library/bb483093.aspx)
にText-To-Speechを使用したサンプルを見つけました。再生させたいテキストをセットする必要があるように見えたので、見よう見まねで図1のようなVPL図を作成してみたところ、成功しました。(≧▽≦)
この場合、「TexttoSpeechTTS」プロパティのConfigurationで「Set initial configuration」を指定しなくても音声は再生されましたが、やはり
Get or query operation fault.File not found:E\Documentnts・・・・・
と警告がでてしまいます。
指定した場合はVoice volumeが0だと聞こえませんので注意して下さい。
(って、当たり前。。。?σ(^-^;))
試しに、文字列を変更して日本語で「新年明けましておめでとうございます!」バージョンも作ってみましたが、やはり失敗。。。
以下、プロパティをいろいろ触ってみた結果です。
【その1】
- Voice volume:100
- Speech rate:10
例えばrateを10にして、早口言葉をしゃべらせるのも面白そうです。
【その2】
- Voice volume:50
- Speech rate:-10
Voice volumeを変更すると、ローカルでは音量の変化を感じることができたのですが、動画にしてしまうと違いがわかりづらいですね。。。
rateにはマイナス指定もできるようで、いかにもデジタル音声っぽくて面白かったです。
- わかったこと
- Voice volumeは0から100まで指定できる。
- Speech rateは-10から10まで指定できる。
- Text To Speech(http://msdn.microsoft.com/en-us/library/dd145258.aspx)
をみると、
Voice
Changes the speaker's voice.
Possible voices may include:・LH Michael
・LH Michelle
・Microsoft Anna
・Microsoft Mary
・Microsoft Mike
・Microsoft Sam
・Sample TTS VoiceShort names may be used. For example, Mike may be used to select Microsoft Mike.
とあり、声の種類をいろいろ変更できるようだったので、どこかの設定でできないかとその他のパラメータも入力してみたり、VPLを変えてみたりしたりといろいろ試してみたのですが、分かりませんでした。
- 「TexttoSpeechTTS」プロパティの「Set initial configuration」にあるパラメータ一覧
- TextToSpeechState
- List of available voices
- Voice which will say text
- Voice volume
- Speech rate
- Text to be spoken
- Disable audio output
- TextToSpeechState
新年のご挨拶なので、なんとなく午前中に間に合わせたかったのですが、Windows Media エンコーダ 9の設定がわからずに音声付きキャプチャがうまくできなくて、他のソフトをさがしていくつか試してみてもちょうどいいのが見当たらず、結局Windows Media エンコーダ 9の設定がわかってようやくYoutubeにアップロードすると、今度は変換に失敗し、はてなフォトライフに動画のアップロードができることに気がつくもコンバートに時間がかかりすぎてしびれをきらし、再度YouTubeアップロードに挑戦したらあっさり成功。。。
よし今度こそ!!(>_<)と思えば、下書き保存したはずの日記は保存ボタンを押し忘れていて、最初から書き直したり(;_;)と、なんだかんだでもうすっかり夕方に。。。(Θ_Θ)
遅くなりましたが、今年も宜しくお願い致します〜