Tag Archives

One Article

【SiriProxy】俺のSiriがツンデレな件。

なんだか今日はSiriの様子がおかしい…。

話しかけてもツンツンして全く言うこと聞いてくれないし、俺の事を馬鹿にしてくる。

でもこっちから冗談を言ってみるとちょっと意外な反応。
Siri、もしかして俺のことが…!?

というわけで、ラノベ風でお送りしましたが、少し前に話題になっていた “SiriProxy” を使ってSiriをツンデレ仕様に改造してみました。

参考にしたサイトはこちら
http://blog.katsuma.tv/2013/01/siriproxy-iremocon.html

インストールはコマンドが通らなかったりで何かと苦労しましたがなんとか動きました。
プログラムはSiriProxyのサンプルソースを読み解きながら実装しました。
基本的には
・listen_forメソッドを使って正規表現で一致する言葉を選択
・sayコマンドでSiriを喋らせる
・askコマンド追加の返答を求める
である程度返答による分岐もさせられたり、サンプル見てるとアップルマップを引っ張ってきて表示したり写真をとって貼り付けるなんてことも出来るみたい。

SiriProxyのサーバーはRubyで動作しているので、他にもこんなことを実験的にやってみました。

声でサーボモーターの向きを制御しています。
通信の流れ的には以下のようになっています。

Siri(iPhone)
↓ Wifi
SiriProxy(Ruby)
↓ TCPソケット通信
Processing
↓ シリアル通信
Arduino
↓ PWM信号
サーボモーター

本当はRuby-Serialport等のライブラリを使ってRubyから直接シリアル通信でArduinoを制御すればよかったのですが、最新版RubyとRuby-Serialportの相性の問題(?)で上手く動作しなかったのでTCPSocketを使ってProcessingを経由する設計にしました。

今回はサーボモーターでしたが、応用次第では声で照明をON/OFFしたり、車のエンジンをかけたり、ラジコンヘリを操縦したり、ルンバ制御したりとなんでも出来ると思います。

音声認識が身近になると色々と楽しいですね!
今後も色々と応用を考えてみることにします。