f8g

声をTwitterに送る

WSHで。Julius for SAPIを使う。
http://julius.sourceforge.jp/index.php?q=sapi/index.html

var user = "username";
var pass = "password";

var xmlhttp = WScript.CreateObject('MSXML2.XMLHTTP');
var Recog   = WScript.CreateObject("Sapi.SpSharedRecognizer");
var Ctxt    = Recog.CreateRecoContext();
WScript.ConnectObject(Ctxt, "Ctxt_");
Ctxt.EventInterests = 22;

var GramDict = Ctxt.CreateGrammar(0);
GramDict.DictationLoad();
GramDict.DictationSetState(1);

WScript.Echo("ready");
while(true){
	WScript.Sleep(500);
}

function Ctxt_Recognition(StreamNum, StreamPos, RecogType, Result){
	var text = Result.PhraseInfo.GetText();
	xmlhttp.open('POST', "http://twitter.com/statuses/update.json", false, user, pass);
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.setRequestHeader('X-Twitter-Client', 'TwitterVoice');
	xmlhttp.send( 'status=' + encodeURIComponent(text) );
	WScript.Echo(text);
}

user, passを変更して実行。SAPIでちょっと時間がかかります。readyと表示されたら準備完了。マイクに何か言って、何か文字が出力されたら送られてます。こんな感じになりました。

  • 「ついったー」→「釣った。」
  • 「ついったー」→「別に、どぅ。」
  • 「こんにちは」→「 中国。」

Ajaxらへんはここをパクりました。
http://muumoo.jp/news/2007/04/10/0twitterclient.html