ruby

Ruby-kakasiのインストールメモ

『KAKASI - 漢字→かな(ローマ字)変換プログラム』 http://kakasi.namazu.org/index.html.jacygwin で tar zxvf kakasi-2.3.4.tar.gz して configure して make;make install するだけ。で、問題無く動作することを確認。 /share/tmp/kakasi/kakasi-2.3.4$ ec…

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を置いてみた。ドキュメント見て、以下のコードで…

邪悪な日本語プログラミング

#!/usr/bin/ruby -Ks # -*- coding: shift_jis -*- require 'win32ole' class String @@tts = WIN32OLE.new('TextToSpeech.TextToSpeech') def と喋る(cond=/Naoko/) @@tts.Select((1..@@tts.CountEngines).find{|i|cond===@@tts.Speaker(i)}) @@tts.Speak(s…

MS Agent TTS

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

現在表示している窓を、"日時.jpg"というファイル名で保存するスクリプト。

まあ要するにウィンドウタイトルを指定して、jpgファイルに保存したり、「次ページボタン」を自動でマウスクリックさせながら、ソートされたファイル名で指定したディレクトリ配下に保存する、ということがやりたくて作成した。「自動マウスクリック」は Win…

beep音再生をクラス化してみる。

require 'beep' # ↓きらきら星の歌。 p1 = Beep.new 'ドドソソララソーファファミミレレドー' p2 = Beep.new 'ソソファファミミレー' p1.play;p2.play;p2.play;p1.play とかして再生したりできる様に。 #!/usr/bin/ruby -Ks # -*- coding: shift_jis -*- req…

ジオタグAPI

『Twitter API Wiki / Twitter REST API Method: statuses?update』 http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0updateまあ要するに設定画面で Enable geotagging にチェックを入れて、lat= と long= に位置情報を入れてポストす…

ビープ音で日の丸を演奏してみるテスト。

#!/usr/bin/ruby -Ks # -*- coding: shift_jis -*- require 'Win32API' beep = Win32API.new('kernel32', "Beep",'LL',"L") F = { 'ド'=>262,'レ'=>294,'ミ'=>330,'フ'=>349,'ソ'=>392,'ラ'=>440,'シ'=>494, 'ど'=>523,'れ'=>587,'み'=>659,'ふ'=>698,'そ'=>…

各音階の周波数を計算する。

いわゆる「ラ」の音が220Hz, 440Hz, 880Hzで、1オクターブ毎に2のN乗倍になってるので、下記で計算できる。 #!/usr/bin/ruby -Ks 26.times{|i| puts (2**(i/12.0)*220.0).round} ↑12は鍵盤の数。(「ド、ド#、レ、レ#、ミ、ファ、ファ#、ソ、…、シ」で12)結果…