MS Agent TTS
MS Agentをインストールしておいたら、COMを叩いて、日本語文字列から音声の再生ができる。
で、クラス化しといたら、他のコードから呼べて多少便利。
例えば、「require 'tts'」しといて、何か時間がかかる作業が終った時、「Tts.speak "作業が終了しました"」とかいう風に喋らせることができる。
~/s/a/tts.rb:1:
#!/usr/bin/ruby # -*- coding: shift_jis -*- # MS Agent の SAPI(Speech API) を使用したサンプルクラス。 require 'win32ole' class Tts @@tts = WIN32OLE.new('TextToSpeech.TextToSpeech') def initialize(cond = /Female/) mode_name = (1 .. @@tts.CountEngines).find{|i|cond =~ @@tts.ModeName(i)} @@tts.Select(mode_name) if mode_name end def Tts.speak(s) @@tts.Speak(s) while @@tts.IsSpeaking != 0 do;end end def speak(s = "もう、おにーちゃん、妹のおっぱい、触り過ぎ!") Tts.speak(s) end end if $0 == __FILE__ s = ARGV.size>0 ? ARGV.shift : "お帰りなさいませ、御主人様" Tts.speak(s) end
…ところで今気が付いたのだけど、Microsoftの日本語対応音声合成エンジン↓(MS Agent)、いつの間にかアクセスできなくなってるな。
http://www.microsoft.com/msagent/downloads/user.aspx
あー。場所が変ってるんだな、こっち↓に。Windows7ではデフォルトで入ってるし、サイト整理のついでに場所を移したってこと?
『Microsoft Agent home page』
http://www.microsoft.com/PRODUCTS/msagent/main.aspx
しかし日本人のキャラクターボイス、増えてないな。
日本人向けに「アニメ声」とか「妹声」とか「ツンデレ声」とか増やして欲しーんだけどなー。