2013年5月13日月曜日

「ただいまー」→東北ずん子「おかえりー」

ふと、操作するの面倒になって声で入力すればいいんじゃないか?・・・と思いました。
過去にフォトショップを音声でツール切り替えをやっていたので音声でキーを飛ばせるのは知っていたのでいけそうかなぁと。
それで東北ずん子を持っているのでついでだから返事とかしてくれたら便利じゃない?音声操作するデスクトップマスコット的な?とかみたいなノリで開始。

音声取得は一から作る気もないのでGlovePIEを使って考える
最初は
「マイク→(音声判定)GlovePIE(引数付き投げ)→スクリプト(対象の文字送り)→民安★TALK→東北ずん子」
と、考えていたんですが別に喋らすだけなら中間スクリプト要らないなぁって事で
「マイク→(音声判定)GlovePIE(引数付き投げ)→民安★TALK→東北ずん子」


取り敢えず、喋ってもらう形はこう
--------------------------------------------------
if said("tadaima")
    Execute("C:\tamiyasu_talk_1_4_1\vrx.exe","おかえりー")
end if
--------------------------------------------------


調べてるうちに内部スクリプトが案外いけそうな事と、
返事が一つだけだと機械的すぎてさびしいので取り敢えず分岐
変数もよくわからないままやったら無限ルームしたので一旦こう
(引数なしRandomだと0~1が返る。
--------------------------------------------------
if said("tadaima")
    if Random
      Execute("C:\tamiyasu_talk_1_4_1\vrx.exe","おかえりー")
   else
      Execute("C:\tamiyasu_talk_1_4_1\vrx.exe","おかえりなさい")
   end if
end if
--------------------------------------------------



もう一度ちゃんと調べて変数にはvarが必要だとわかったので三分岐
--------------------------------------------------
if said("tadaima")
   var.revo = Random(3)
   if var.revo == 1 then
      Execute("C:\tamiyasu_talk_1_4_1\vrx.exe","おかえりー")
   elseif var.revo == 2 then
      Execute("C:\tamiyasu_talk_1_4_1\vrx.exe","おかえりなさい")
   else
      Execute("C:\tamiyasu_talk_1_4_1\vrx.exe","おかえりなさいませご主人様")
   end if
end if
--------------------------------------------------





公式で、ボイスロイドに引数対応してくれないかなぁ・・・。
ところで、作業してもらう処理部分何も出来ていない件・・・。