【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したり、車のエンジンをかけたり、ラジコンヘリを操縦したり、ルンバ制御したりとなんでも出来ると思います。

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

Comments ( 2 )

  1. ディグダ
    なるほど、わからんwww
  2. 色々応用できそう!! Siriでサーボモーターを制御 | トイボックス for メイカーズ
    [...] 技術的な詳細はこちらのkohack_vさんのサイトにて確認できます。興味を持たれた方は是非ご覧頂ければと思います。 [...]

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください