2013年2月5日火曜日

オープンハードなカンファレンス



初開催!オープンハードカンファレンス

2013年 2月23日(土) 10:00-16:00 明星大学 日野キャンパス
(OSC 2013Tokyo/Spring は22(金), 23(土)の2日間開催)

OSC (Open Source Conference) というイベントが日本各地で巡回開催されています。
その中でハードウェアに関する内容を盛り上げようという企画、だと思います。。。

オープンソースハードウェアの理念は正直なところ、分からないのですが、ADK 勉強会(東京) で展示の申し込みをしました(内容未定)。

2/7 より2次募集もあるとのことなので、興味ある方はいかがでしょうか?




2013年2月4日月曜日

Pure Data を中心にしたソフト&ハードの連携 その2

Pure Data を使った連携、今回はシリアル通信篇です。(その1はこちら)
シリアル通信には comport パッチを使います。
接続したいポートと速度を数値で指定すればOK。
loadbang を使う事で、ドキュメントを開いたときに接続を開始する事も出来ます。

ポートの番号を調べるには、devices メッセージを送ると、(第2アウトレットから)Pd ウィンドウに出力されます。


送信したいデータはインレットにメッセージで流せばOK。
受信したデータは第1 アウトレットから取り出します。

今回の例はXBee を使って送るだけなので、受信はしていません。
Arduino とFirmata を使わずに直接通信することも簡単にできます。


その他、通信パラメータの細かい指定が必要な場合は、ヘルプを参照してください。




Pure Data を中心にしたソフト&ハードの連携 その1

MSM2012 で紹介した、「音や映像に合わせて、LED を点滅させる」をおこなったときの構成を紹介します。


要件をまとめると、あらかじめ時間に沿ったLEDの色データ打ち込み、映像または音声と同時に再生したい、ということです。
何らかのシーケンサーが必要なので、MIDI を使用しました。

予算が全く無かったので、こんな感じでした。

・Garage Band →MIDI  エディター&MIDI 出力 (midiO プラグイン)
・PureData →MIDI 入力&シリアル出力 (XBee)
・QuickTime Player7 pro →映像出力

これらのソフトをApple Script で連携させました。
この構成で約6分の曲をループ状態にして、1日回しっぱなし(10時-18時) の展示会を乗り切りました。

、、、さすがに複雑すぎるので、今後構成を見直したく、思っています。


まずは現状の紹介

○Audio MIDI 設定でIAC の設定をする
アプリケーション > ユーティリティ > Audio MIDI 設定

1) MIDI スタジオ画面
ウインドウ > MIDI ウインドウを表示

2) IAC のプロパティ 画面
IAC をダブルクリック で開く


・装置がオンラインになっていることを確認
・ポート名などに日本語が入っていると、表示できないソフトがあるので、
 名前を英数のみに変えておく

IAC は Inter-Application Communication のことで、ソフト同士のMIDI 入出力を仮想的に接続します。ソフトA のMIDI 出力に IAC のポート1(上図だと IAC:IAC-1)を設定し、ソフトB のMIDI 入力にIAC のポート1(同じく IAC:IAC-1)を設定することで、ソフトA のMIDI 信号がソフトB に入力されるということです。

○Garage Band からMIDI 信号を出力する
midiO プラグインの使い方はこちらのサイトが詳しい


midiO の設定画面(上図「ソフトウェア音源 > 編集 > サウンドジェネレータ」にあるmidiO のアイコンをクリックすると開く)で、MIDI Destination に IAC-1を指定する。


○Pure Data のMIDI 入力を設定(0.43.4 は日本語対応!)
メディア > MIDI 設定...
入力デバイス に IAC-1 を設定

○Pure Data でMIDI 信号を受ける
今回は単純なNote On/Off だけで制御しているので、
notein パッチとstripnote (ノートNo とベロシティの分離)でOK。

こんな感じ。

MIDI 信号と色の対応は自分で適当に割り当てています。
曲の終わりに特定の信号を用意して、Apple Script を呼び出すことで、QuickTime のビデオ再生を同期させました。

AppleScript はこんな感じ。
GarageBand の巻き戻し&再生と、QuickTime Player の巻き戻し&再生

立ち上げ時もこのスクリプトを使ってスタートできるのですが、初回はQT がフルスクリーンになる(ウィンドウが拡大するアニメーションをする)時間がかかるため、ずれます。
2周目から合う用に、Garage Band でちょっとずつずらしては再生の繰り返し、で合わせました。

Pure Data (Pd-extended) 0.43.4

Pure Data (Pd-extended) の0.43.4 がリリースされていました。

パフォーマンスの改善やメニューの他言語対応(含む日本語!)など、大きく進化しています。

私が使用しているのはMac 版 (0.42.5 からのバージョンアップ) ですが、とりあえず気づいた点

・MIDI 設定、Audio 設定の位置がPreferences から Media に変わった。
 →MIDI の設定が記憶されるようになった。
 (これまでも、Audio Settings のSave all settings ボタンで記憶できたらしい。)
 →MIDI の設定で、デバイス名にUTF-8 の文字列が表示できるようになった。

・Pd ウィンドウが閉じられるようになった。
 →これまでは閉じるとPd の終了になっていたが、終了しなくなった。
 →ドキュメント ウィンドウを閉じるときに警告が欲しい場合は
  編集 > パフォーマンスモード をON にする

他にも、マジックグラスや自動ヒントなど、GUI まわりで多数の改善があります。
GUI を拡張する GUI plugins というものもあるそうです。


Arduino IDE もそうですが、ずっと英語版だったものが日本語化されると、嬉しい反面、もの凄い違和感ですね。検索するときに他言語のユーザーの情報が得られなくなってしまうのも残念。


そしてこのタイミングで、新しい日本語書籍も出ています。
ようやく Pd が日の目をみる時がきたのでしょうか?


XBee のケース (親機用)


このところ Bluetooth の記事が多いですが、XBee (series 1)もよく使っています。PC に接続する親機側は、長い間むき出しで使っていましたが、さすがにみっともない&危ないので、ケースにいれてみました。


ついでに、XBee Pro を試してみました。
XBee Pro は電波の出力が強いタイプで、日本で使えるバージョンは10mW (ノーマルXBee は1mW)の出力です。
親機だけをPro にして、子機がノーマル XBee で、意味があるかはわかりませんが、問題なく置き換えができました。測定はしていませんが、到達距離、安定感ともにアップしています。(アンテナを 外部アンテナ (U.FLタイプ) にしたので、その効果も大きいと思います。)




ケースはTAKACHI のGHA7-3-9BP を使用。
パネルにアンテナ用とUSB の穴をあけただけ。中身は固定していません、、、
USB ケーブルがうまいことボス(ネジ穴)の隙間にハマったので、USB ケーブルで基板を固定している感じです。

外部アンテナタイプはU.FL とRPSMA の2種類あります。

U.FL はケーブルの先に小型コネクタのついたタイプでケース使用は必須。パネル面と基板の位置関係が比較的自由にできます。

RPSMA はねじ込み式のアンテナで、ケースなしでも使えます。コネクタをパネルに固定する形になるので、必然的に基板の位置が固定されてしまいます。ケースに入れたあとで、アンテナを取り外すことも可能。


両タイプとも、XBee 専用アンテナを使用する事。アンテナとセットで技適を受けているので、他のものを使うと改造になってしまうそうです。



ケースは千石電商、中身はすべて秋月電子で購入しました。
XBee Pro Series 1 (U.FLタイプ)
XBee 2.4GHz アンテナ (U.FLタイプ)
XBee USB インターフェースボードキット
USB ケーブル(micro B)





2013年2月3日日曜日

iPhone にリモコン



iPhone 用のBluetooth リモコン、CENTURY iRemote Shutter CIA-BTMR を購入しました。
Bluetooth 接続で、標準のカメラアプリのシャッターが切れる、スグレもの。

前回の、イヤホンのリモコン分解はリモートシャッターの製作が目的だったのですが、解析に時間がかかりそうなので、こちらを購入してしまいました。

この製品はHID キーボードとして、iPhone に登録します。iPhone 用のBTキーボードをお持ちの方はご存知だと思いますが、キーボードにホームボタンやマルチメディアキーの割当があります。キーボードのVolume + でもカメラアプリのシャッターが切れる、というわけです。

これは便利。


同じ形状の Maytel BLUECON.i BC-01がOEM 元でしょうか?
http://www.maytel.kr/
http://www.hitline.co.jp/bluecon.html

こちらはMac との接続を謳っているので気になっていたのですが、Century製でも、Mac との接続、Keynote の操作など、問題なくできました。




折角なので、こんなものも、、、


これで一人撮りライフが充実しますね!

この記事を見て以来、気になっていたのですが、アキバで類似品が 300円だったのでつい、、、これを観光地で使う度胸はないです。

使ってみて、駄目だった点は
・フロントカメラ(FaceTime Camera) で撮ると解像度が 640 x 480 になってしまう。
・手が届かないと、フォーカスや明るさをセットできない、、、
・はずかしい。
・iPhone/iPad のKeynote は操作できない。


作りたかったものに近いのは、こちらですね。
上海問屋 イヤホンジャック接続式 カメラシャッターコントローラー
http://www.donya.jp/item/23098.html

今更ながら、この記事を書いていて iPhone の標準カメラアプリにもAE/AF ロックがあるのを知りました、、、
http://akio0911.net/archives/8880

しかし、FaceTime Camera にはそもそも AF がない??