音声合成

classを一つにまとめてみる。

SAPI4, SAPI5, AquesTalkのどれかしか入っていない環境でも動作する様に一つにまとめてみる。下記を tts.rb という名前で ruby libpath に置いて、ruby -rtts 'Tts.speak "お帰りなさいませ、御主人様"' とかすると、(何らかの音声合成エンジンが入ってたら)…

AquesTalkとkakasiを組み合わせて再生。

#!/usr/bin/ruby -Ks # -*- coding: shift_jis -*- require 'kakasi' require 'Win32API' aqtk_play = Win32API.new('AquesTalkDa', 'AquesTalkDa_PlaySync', 'PL', 'L') s = ARGV.size>0 ? ARGV.shift : "お帰りなさいませ、御主人様。" yomi = Kakasi.kaka…

AquesTalk

『AquesTalk - テキスト音声合成ミドルウェア』 http://www.a-quest.com/aquestalk/index_win.htmlフリーの音声合成エンジン AquesTalk というのを見つけたので、拾ってきて、Pathの通ったディレクトリにDLLを置いてみた。ドキュメント見て、以下のコードで…

SAPI

別の WindowsXP マシンで試したら、WIN32OLE.new('SAPI.SpVoice')でフツーに日本語音声合成ができた。 (こっちは最新の MS Agent を入れてる)私の認識は、 「SAPI5 は英語だけで、SAPI4 に多国語対応パッケージを入れたら日本語合成ができる」 だったのだが…

MS Agent TTS

MS Agentをインストールしておいたら、COMを叩いて、日本語文字列から音声の再生ができる。で、クラス化しといたら、他のコードから呼べて多少便利。例えば、「require 'tts'」しといて、何か時間がかかる作業が終った時、「Tts.speak "作業が終了しました"…