12 Sep 2012, 22:47

iRemoconとMMDAgentでマクロと音声認識!初音ミクにおはようしてもらう。

iRemoconが音声認識、マクロに対応!スマホで家電を音声制御できる。

iReomconが10月から音声認識と、マクロに対応するみたい。

スマホから音声で家電を制御できるようになる。

プレスリリースの事例でも紹介されていたけど、『いってきます』をトリガに、クーラーやエアコン、テレビや照明、PC、その他電気機器を全て電源OFFにできる。

Androidのみということで、iPhoneユーザのあたしとしては、

iPhoneの対応を待ち望んでいます!!

2012年09月11日 日本初!グラモ、スマホで一般家電を“音声”制御 ~『iRemocon』ユーザー向けに10月上旬リリース、利用料無料。節電にも ブレスリリース

グラモ

 

現実世界をプログラミングできるなんて、魔法みたい(゜ 0 ゜)/

個人的には、マクロを使って現実世界をプログラミングできることに、感動してる。

マクロを組むということは、

パソコン作業で面倒なルーチンワークを自動化するということだ。

それは、パソコンのなかだけに閉じられたものでしたが、

iRemoconの登場によって、誰でもカンタンに現実世界をマクロで自動化できる。

現実世界をプログラミングできるなんて、スゴイことだ。

しかも、音声認識でITを操れるなんて、もはや魔法を身につけたようなもの。

iRemoconとMMDAgentとTeratermを組み合わせて、音声制御を先取り

依然記事にしたけれど、iRemoconとMMDAgent、Teratermマクロを使うことで、

iRemoconに追加予定の機能は実現できる。

iRemoconでミクミクにしてやんよ。

MMDAgentは音声認識、音声合成をするためのソフト。

しかも、モデルに初音ミクを使うことができる。

Teratermマクロは、iRemoconへ通信してコマンドを実行するドライバ。

これを組み合わせて、音声制御を先取りしてみた。

iRemoconとMMDAgentでミクにいってらっしゃいしてもらう

[http://www.youtube.com/embed/lpUV6RUzvFw]

TTLマクロ

[text]

include “C:\Users\Administrator\DROPBOX\SRC\HAL1000\MACRO\COM\INIT.TTL”

mpause 300

;すべての電気をけす

include “C:\Users\Administrator\DROPBOX\SRC\HAL1000\MACRO\COM\ALLLIGHTSOFF.TTL”

mpause 300

; エアコン消す

sendln ‘*is;313’

; パソコン消す

exec ‘C:\Users\Administrator\Dropbox\src\HAL1000\macro\shutdown_now.bat’ ‘HIDE’

include “C:\Users\Administrator\DROPBOX\SRC\HAL1000\MACRO\COM\END.TTL”

[/text]

初音ミクにいってらっしゃいを言われると、よし、今日もがんばろうとおもう。

そんなことでは、いつになっても結婚できない気がする。

おかえりなさい(ここだけ別の声?! GoogleTTS )

TTLマクロ

[text]

include “C:\Users\Administrator\Dropbox\src\HAL1000\macro\com\init.ttl”

;声

exec ‘C:\Program Files (x86)\Windows Media Player\wmplayer.exe C:\Users\Administrator\Dropbox\src\HAL1000\voice\ComeBack.mp3’ ‘hide’

; 時刻を取得

gettime timestr “%H”

; 文字列を数字に変換

str2int timenum timestr

; 時間帯によって直接照明と間接照明を分ける

if timenum < 18 then

; 直接照明

sendln ‘*is;83’

else

; 間接照明

sendln ‘*is;81’

mpause 300

sendln ‘*is;91’

mpause 300

sendln ‘*is;89’

endif

include “C:\Users\Administrator\Dropbox\src\HAL1000\macro\com\end.ttl”

[/text]

ここでは、玄関にWEBカメラを設置してモーションセンサのソフトを利用して、

ドアの開閉を監視している。(動体検知ソフト Msako

モーションを感知したら、マクロを実行するという仕組み。

今は会社の寮に住んでいるのだが、

たまに大家さんが、自分が会社にいる間に部屋に入ってくることがある。

そのうち、防犯カメラでモーションを検出したら、

壁からゴキジェットを噴射できないか計画中・・・(゜△゜)/

iRemoconとMMDAgentでミクにおやすみなさいしてもらう

TTLマクロ

[text]

include “C:\Users\Administrator\Dropbox\src\HAL1000\macro\com\init.ttl”

pause 5

; 電気を消す

sendln ‘*is;82’

mpause 300

sendln ‘*is;84’

mpause 300

sendln ‘*is;97’

; ブルーLEDライトをつける

mpause 300

sendln ‘*is;91’

mpause 300

sendln ‘*is;86’

;安眠用BGMを流す

exec ‘C:\Program Files (x86)\Windows Media Player\wmplayer.exe C:\Users\Administrator\Dropbox\src\HAL1000\sound/SleepModeBGM1.wav’ ‘maximize’

include “C:\Users\Administrator\Dropbox\src\HAL1000\macro\com\end.ttl”

; ShutDown after 30minutes

; 30分経過

pause 1500

include “C:\Users\Administrator\Dropbox\src\HAL1000\macro\com\init.ttl”

; LED消す。

sendln ‘*is;97’

mpause 300

;AirCon Off

sendln ‘*is;313’

include “C:\Users\Administrator\Dropbox\src\HAL1000\macro\com\end.ttl”

[/text]

部屋を青くできるLED間接照明で、海の中にいる気分(/_-)

そのうちリモコン制御のアロマディフューザーでラベンダーの香りを出そうと計画中。

(いい商品がみつからない!今は手動でアロマディフューザーをつかってる)

流れているのは、Youtubeで落としてきた安眠用の音楽。

余談だが一番の愛用曲は、究極の眠れるCD。これは本当にオススメ!ネれる!

iRemoconとMMDAgentでミクにおはようしてもらう

TTLマクロ

[text]

include “C:\Users\Administrator\Dropbox\src\HAL1000\macro\com\init.ttl”

;AirCon On

sendln ‘*is;312’

; ディズニーのエレクトリカルパレード

exec ‘C:\Program Files (x86)\iTunes\iTunes.exe C:\Users\Administrator\Dropbox\src\HAL1000\sound\MorningModeBGM1.wav’

mpause 7000

;電気つける

sendln ‘*is;83’

mpause 300

; ボリュームをどんどん大きくしていく

for i 1 20

sendln ‘*is;56’

sendln ‘*is;56’

pause 1

next

include “C:\Users\Administrator\Dropbox\src\HAL1000\macro\com\end.ttl”

[/text]

電気がパソコンから制御できるので、

初ボーナスで購入した光目覚ましはドブに捨てた。

ミッキーのエレクトリカルパレードの音楽は、

朝から最大音量まで大きくしていくので、隣の住人はさぞ迷惑だろうぞ。

ちなみに、この動画って、

朝じゃなくて夜中じゃね?ってツッコミがあるかもしれない。

MMDAgentの.fstでの定義はこんな感じにしてる。

[text]

1 3 RECOG_EVENT_STOP|ミク SYNTH_START|mei|mei_voice_normal|はい。

3 261 RECOG_EVENT_STOP|ただいま C:\Users\Administrator\Dropbox\src\MMDAgent\Macro\ComeBack.ttl

261 300SYNTH_START|mei|mei_voice_normal|おかえりなさい。

3 262 RECOG_EVENT_STOP|おやすみ EXECUTE|C:\Users\Administrator\Dropbox\src\MMDAgent\Macro\SleepMode.ttl

262 300SYNTH_START|mei|mei_voice_normal|おやすみなさい。

3 263 RECOG_EVENT_STOP|いってきます EXECUTE|C:\Users\Administrator\Dropbox\src\MMDAgent\Macro\itterashai.ttl 263 300SYNTH_START|mei|mei_voice_normal|いってらっしゃい。

300 2 SYNTH_EVENT_STOP|mei

[/text]

 

16 Jul 2012, 05:10

iRemoconでミクミクにしてやんよ。

はじめに

MMDAgentとiRemoconを組み合わせてみたらなかなか良かったので、まとめてみる。

[http://www.youtube.com/embed/kkcB4gB5A3o]

 

ミクさんに登場してもらうまで

こちらのサイトを参考にしました。

サクライロニガワライ雑記

まずは以下のサイトから、BinaryPackageをダウンロード。

http://www.mmdagent.jp/

MMDAgent.exeを起動すると、メイちゃんが現れるので「こんにちは」と声をかけてみる。

image

これが成功したら、初音ミクのモデルと声を設定する。

モデル

以下のサイトから選択。たくさんあるけど、自分は[初音ミク@七葉1052式]を落としてきた。

http://www6.atwiki.jp/vpvpwiki/pages/298.html

落としてきたモデルは、C:/xxx/MMDAgent/Model/配下にフォルダを作成して配置する。

MMDAgent.fstを開き、140行目あたりの # 0011-0020 Initialization からの

11から下を編集して、モデルファイル(xxx.pmd)を指定する。

ついでに、その下にある2行を消せば、キャラクターの周りのメニューも消えるので、

消したほうが良い。

[text]

11 14 MODEL_EVENT_ADD|bootscreen MODEL_ADD|mei|Model\miku\初音ミク@七葉1052式.pmd|0.0,0.0,-14.0

#12 13 MODEL_ADD|menu|Accessory\menu\menu.pmd|0.0,-4.5,0.0|0.0,0.0,0.0|mei

#13 14 MOTION_ADD|menu|rotate|Motion\menu_rotation\menu_rotation.vmd|FULL|LOOP|OFF

14 15 STAGE|Stage\building2\floor.bmp,Stage\building2\background.bmp

[/text]

再び、MMDAgent.exeを起動して、ミクちゃんにご対面。

image

以下のサイトから、音響モデル(TYPE-a/TYPE-bどちらでもよい)を落とす。

MMDAgent & Project-NAIP wiki

Voice配下にあるフォルダに、落としてきた音声データを上書きする。

コマンド実行をお願いするまで

こちらのサイトを参考にしました。

MMDAgentとPC-OP-RS1で実現するリモコンの音声操作-ナレッジエース

会話からコマンドを実行するには、MMDAgent.fstにシナリオを定義する。

たとえば、電卓を起動して欲しい場合は、こんな感じで記述する。

[text]

1 3 RECOG_EVENT_STOP|ミク SYNTH_START|mei|mei_voice_normal|はい。

232 260 SYNTH_START|mei|mei_voice_normal|電卓つけます。

260 2 SYNTH_EVENT_STOP|mei

[/text]

はじめに、[ミク]と呼びかけて、はいといってくれたら、次の命令を実行させることがミソ。

また、コマンドを実行するには、EXECUTEマクロをつかう。

EXECUTE|(実行したいコマンド)で任意のコマンドを実行できるので、

ここで、後述するTeraTerm用のTTLファイルを指定して、iRemoconへコマンドを送るのだ。

[text]

3 184 RECOG_EVENT_STOP|電気つけて EXECUTE|C:\MMDAgent\Macro\LightsOn.ttl

184 200 SYNTH_START|mei|mei_voice_normal|電気つけます。

[/text]

しかし、これだけでは、多分反応しないだろう。いろいろと言葉を知りすぎているために、

誤認識してしまう。なので、もっとおバカになってもらう。

Julius記述文法の設定

ミクの耳には、オープンソースである音声認識ソフト、Juliusが使われている。

なので、Juliusの記述文法にしたがって、言葉を定義して教える。

まずは、MMDAgent配下にgrammarフォルダをつくって、こんな感じで定義ファイルを作成。

call.grammar

[text]

S : NS_B CALL NS_E

[/text]

call.voca

[text]

% CALL ミク m i k u

こんにちは k o N n i ch i w a

ありがとう a r i g a t o u

なんでもない n a N d e m o n a i

かわいい k a w a i i

みくみくにして m i k u m i k u n i sh i t e

電卓つけて   d e N t a k u t u k e t e

電気つけて   d e N k i k u t u k e t e

電気消して   d e N k i k e sh i t e

% NOISE

sp

% NS_B silB

% NS_E silE

[/text]

作成した2つのファイルは、

Julius 3.5.2に付随しているmkdfa.plを落としてきてコンパイルする。

http://sourceforge.jp/projects/julius/downloads/21175/julius-3.5.2-win32bin.zip/

[text]./mkdfa.pl call[/text]

苦労したこのエントリも参考にしてください。

cygwin 環境で mkdfa.plが動作しない

最後に、/MMDAgent/AppData/Julius配下にjconf.txtというファイルがあるので、

文末に以下の行を追加。

[text]

-nogram

-gram “C:\MMDAgent\grammar\call”

[/text]

-nogramで、すでに登録されている単語をすべて忘れて、
次の行で、今回自分が用意した単語と文法を教えてあげる。
(詳しくはココ)JuliusBook 第7章 言語モデル

iRemoconの設定

まずはiRemoconの調達を。

 

iRemoconに通信するTTLファイルの作り方は以下を参照(結構たいへんなので、説明は割愛)iRemocon 音声操作設定

作成したTTLファイルを音声から実行すると、ミクさんが電気をつけてくれます。

まとめ

5月ごろに以下の動画をみて、自分も家のオートメーション化をしてみたけれど、

ようやく完成な気がした。

MMDAgentは、これからもまだまだ可能性が広がっていきそうだ。

日本製のオープンソースなので、Siriに負けずに頑張って欲しい。

08 Jul 2012, 22:07

初音ミクにiRemoconをつかわせてみた

前回の投稿で、Juliusとの連携はできたので、次はMMDAgentと組み合わせてみた。

以下のサイトのエントリを参考。

MMDAgentにミクさんを表示させるまで ~補足編その1~

サンプルのMMDAgent.fstに追加したい動作を記述。

実行コマンドは、Juliusで使っていたteratermマクロを指定。

[text]

# 0121-0130 AirControlOn

1 121 RECOG_EVENT_STOP|エアコン,つけて EXECUTE|C:\Users\xxx\Dropbox\src\MMDAgent\Macro\AirControlOn.ttl

121 122 SYNTH_START|mei|mei_voice_normal|エアコンつけます。

122 2 SYNTH_EVENT_STOP|mei

# 0131-0140 AirControlOff

1 131 RECOG_EVENT_STOP|エアコン,消して EXECUTE|C:\Users\xxx\Dropbox\src\MMDAgent\Macro\AirControlOff.ttl

131 132 SYNTH_START|mei|mei_voice_normal|エアコン消します。

132 2 SYNTH_EVENT_STOP|mei

[/text]

ただ、サンプルのままだと100発1中の認識率の悪さ・・・・。

なので、ここでもJuliusでつかっていた記述文法を流用。

MMDAgent\AppData\Julius配下にjconf.txtというファイルがあるので、

文末に以下の定義を追加した。

[text]

-nogram

-gram “C:\Users\xxx\Dropbox\src\HAL1000\grammar\please”

-gram “C:\Users\xxx\Dropbox\src\HAL1000\grammar\call”

-gram “C:\Users\xxxDropbox\src\HAL1000\grammar\mode”

[/text]

-nogramで、すでに登録されている単語をすべて忘れて、

次の行で、今回自分が用意した単語と文法を教えてあげる。

(詳しくはココ)JuliusBook 第7章 言語モデル

そうすると、

メイちゃんは今までの記憶をすべてわすれ、

再帰的に、ひたすらエアコンをつけようとする。(それしか単語を知らない)

きっと地球が滅びるその日まで、ひたすら彼女はエアコンをつけ続けるだろう。

MMDAgentで、初音ミクのモデルも試してみた。

メイちゃんよりもこっちのほうが頭がいいみたい。

08 Jul 2012, 21:36

JuliusとiRemoconを組み合わせて、部屋の音声認識システムをつくった

JuliusとiRemoconを組み合わせて、部屋の音声認識システムをつくった。

出来栄えは、こんな感じ。

[http://www.youtube.com/embed/N6uw2pMFC1s]

 

参考にしたのはこのサイト。

リモコンはオワコン。音声認識でお部屋の家電を操作してみた。

C++の知識のなさと、Boooooooooooooooooostなコンパイル時間と

戦いつつも、とりあえずの目標達成。

iRemoconを購入してから85時間の戦いだった。

定義した命令はこんな感じ。

テレビ(を|)つけて

エアコン(を|)つけて

エアコン(を|)消して

電気(を|)つけて

天井灯(を|)つけて

すべての電気(を|)つけて

電気(を|)消して

天井灯(を|)消して

すべての電気(を|)消して

MorningMode

SleepMode

RelaxMode

SexyMode

PartyMode

(うるさい|だまって)

ボリューム(を|)大きくして

ボリューム(を|)小さくして

アプリケ-ション起動

Chrome(を|)つけて

Ottava(を|)つけて

Twitter(を|)つけて

Toggl(を|)つけて

Gmail(を|)つけて

Youtube(を|)つけて

ニコニコ(を|)つけて

TVタックル(を|)つけて

こんにちは

おはよう

おやすみ

いってきます

ただいま

ありがとう

きこえてる

今日の天気(を|)教えて

明日の天気(を|)教えて

今何時

今日は何日

ライバルを教えて

今週の目標を読み上げて

 

あとは、Webカメラでモーションを捉えたらコマンド実行するようにして、

家のドアを開けると「おかえりなさい」をしてくれるようにした。

 

本当ならばここで、

「おかえりなさい、ご飯にする?お風呂にする?それとも・・・あたし?」

と、いわしめたいものぞ。悲しき独身生活・・・(´・ω・`)

20 May 2012, 14:25

iRemoconを使って家電を操作した

今日はiRemoconを使って家電を操作した。

正直声で家電を操作できることに驚いた。

未来の部屋が完成しつつある。

来週はコンピューターとの対話の部分を作成する。

この文章も音声認識を使っても記述している。

音声認識の技術に期待をしている。

先月の日経Linuxにちょうど家電を操作する特集が組まれていたんだね。

電子書籍で購入した。

日経 Linux (リナックス) 2012年 05月号 [雑誌]

中古価格
¥1,800から
(2012/5/20 23:31時点)

20 May 2012, 05:06

iRemoconで照明を制御してみた

 

iRemoconで照明を制御してみた。

使用したのは以下の機械。

これを2つの間接照明につなげて制御した。

ちなみに、ヨドバシの店員に尋ねたところ、
リモコンで制御できる商品はあとはこれくらいしか売っていないみたい。

 

海外ではリモコンで照明を制御する製品は多いけれど(家が広いので)
日本では盛んでないとのこと。
都内の海外インテリアを扱うお店なら売っているかも言われた。

ちなみに、このようなリモコン制御する照明はLEDをつかってはいけないらしい。
(光がちらつくため)

知恵を絞ればアイデアはまだまだあるもので、
PCからUSBで電源スイッチを制御するハブを買えば、
複数のコンセントをPCから制御できるんだね。

13 May 2012, 14:28

iRemoconでPCからエアコン制御をしてみた

iRemoconでPCからエアコン制御をしてみた。

参考にしたのは以下のサイト。
Boost.Asio + iRemocon でテレビを操作してみた
iRemoconの音声操作設定手順を纏めてみました

ただ真似しただけだけど、なかなか大変だった。
詰まったのは ファイアウォ-ルのポ-トの開け方と、Boostのコンパイル方法。
ここをみて解決。
Windows 7 パーソナルファイアウォールに個別ポート許可設定
http://www.richelbilderbeek.nl/CppLinkErrorUndefinedReferenceToBoostSystem.htm

環境は Windows 7 + Cygwin
Boostのコンパイルが特にハマったけれど結局以下で解決。

$ g++ iRemocon.cpp -o iRemocon -L/usr/local/lib -lboost_system-mt

-lboost_system-mtをリンクさせるのがミソだったみたい。
いやいや、なかなか追い詰められた。

今日の成果

13 May 2012, 00:41

iRemoconを買った

iRemoconを買った。

Glamo iRemocon(アイリモコン) IRM-01L

新品価格
¥24,800から
(2012/5/13 09:25時点)

この機械利用すれば、声で機械を制御できるようになるらしい。
つまり、バックトゥ-ザフュ-チャ-2の世界が実現できるのだ。

即断即決、この買物は迷わなかった。Amazonで購入。1日で届く。

まず初期設定でつまずく
iPhoneからiRemoconが認識できない!
10回くらいなんどもRebootをかけてなんとか繋がる。大丈夫か?
その後もiRemoconの設置場所が悪く?うまく動かず。

散々2時間くらい格闘し、ようやくエアコンのスイッチが付けられた。
エアコンでこんなに苦戦するとは。