犬様コミュニケータ+GPS

今、ニューヨークにいるんですが、西海岸からの移動中に機内誌を見ていてビビっときたのがコレ。

hearnow2.jpg

The Hear Nowって会社の製品で、要はペットとの会話用(命令用)トランシーバですね。数種類のラインナップがあるんですが、

・犬様用首輪(防水)と人様用ハンドヘルド(防滴)
・通常2マイル、上位機種12マイル到達の音声トランシーバ
・2マイル以内で視認できるLEDライト(ピカピカ光らせて、犬様を見つける)
・人様呼び出しボタン(迷犬様を見つけた人が飼い主を呼び出す)
・14匹様まで同時コントロール可能
・再充電可能バッテリー

ってあたりが共通仕様ですね。2マイルは約3km、12マイルは約19kmなので、随分と遠くまで電波が飛ぶみたい。まぁ、見渡す限り障害物がない草原(あるいは砂漠とか)なら、ってことでしょうけどね。

Two-Way Pet Communication Systemとなってるので、双方向通信だと思うけど、Speak To Your Petとは書かれていても、Listen To Your Petとは書かれていないので、片方向通信だったらイヤだな。あと、Stop Barking Dog Without Shoutingと書かれているんですけど、遠くにいてもトランシーバで聞こえるから、大声を出さなくてもいいよ、ってことですかね。首輪に電撃ショック装置が付いていたらいいのに。

それから、GPSによる位置捕捉ができる機種やBluetoothを搭載した機種もありますが、Bluetoothは何に使ってるんだろう。謎。人様ハンドヘルドは、なんとなくNokia(7600あたり)っぽいのがステキ(笑)。

ちなみに、私は犬様も猫様も飼っていない(オプションで馬様にも対応とか)ので、そーゆー用途ではなくて、パフォーマンスに使える!と思った次第です。だから、ハイファイではないにしても、そこそこの音質なら是非欲しいんですけど…。

Google電卓を使え!

例1:24ビット96kHzで5分の曲を32トラックで録音しよう。ハードディスクの容量はどれくらい必要?

【入力】24ビット* 96kHz * 5分 * 32
【回答】(24ビット) * (96 kHz) * (5分) * 32 = 2.57492065 ギガバイト

単位は英語でも日本語でも構わないけど、さすがにトラックは認識してくれません(悲)。

google-calculator.gif

例2:ステージから最後列席まで100メートルとして、どれくらい音が遅れるのかな?

【入力】100メートル / 音速
【回答】(100メートル) /海面での音速 = 0.293866996 秒

ん?海の上で演奏するわけじゃないんだけど(笑)。もちろん、意味としては海抜0メートルってことですね。気温は反映できないのかな?

例3:4 char 640 480のマトリックスを30fpsで1分間溜め込みたいんだけど、必要メモリは?

【入力】4 * 8ビット * 640 * 480 * 30/s * 1分
【回答】((4 * (8ビット) * 640 * 480 * 30) / s) * (1分) = 2.05993652 ギガバイト

char、VGA、fpsあたりは使えないみたいです。映像系はちょっと弱いのかな?

と言う訳で、Googleの検索ボックスに数式を入力すると、検索結果ではなく計算結果を表示してくれます。これは結構有名だと思うけど、四則演算だけでなく単位を考慮した計算をしてくれるんですね。しかし、Googleのヘルプ(しかも英語説明だけ)にはあまり詳しいことが書かれていないので、他にもいろいろ探してみてください。パソコン君が言っていたクールなソフト、電卓ってコレのことだったのかもね。クラフトワークの電卓は、もちろん、コレではありません。

最大画像サイズ

OpenGLで扱える表示サイズやテクスチャ・サイズの最大値は、グラフィック・カードの性能によって決まるので、例えばOpenGL Driver Monitorを使って確認することができます。このユーティリティは、Xcode Toolsをインストールすれば、Graphics Toolsフォルダに入っています(Quartz Composerと同じところ)。

opengl-renderer-info.gif

私のMacBook Proに入ってるATI Radeon X1600では(新機種ならNVIDIA GeForce 8600M GTですね〜)、表示サイズ(MAX_VIEWPORT_DIMS)もテクスチャ・サイズ(MAX_TEXTURE_SIZE)も4096×496ピクセルのようです。そんな巨大なディスプレイは持ってませんけど、Cinema Displayを何台か繋いで見てみたいですね。

ただし、ソフトウェア・レンダリング(Apple Software Renderer)なら凄いことに、いずれも16,384×16,384ピクセルと表示されます。縦横ともに4倍なので、16倍のピクセルが扱えるわけですね。

一方、Jitterのマトリックスの最大サイズは2^29バイトだそうです。これは536,870,912バイト(512MB)なので、一般的なカラー画像(4 char)では、sqrt( 536870912 / 4 )で11,585×11,585ピクセルとなります。

レンダリング時間については考えたくないけど、これでスーパー・ハイビジョン(7680×4320ピクセル)あたりでも対応できることが分かりました(って、その気もないけど〜笑)。でも、印刷用途ならもっと高い解像度の画像が必要になる場合があるかもしれません。その場合は、部分レンダリングを繰り返して、最後にひとつの大きな画像にまとめればOKじゃないかと思います。

el.webkitが登場

MaxでWebサイトを表示するel.webkitオブジェクトが登場しました(次のリリースではcb.webkitという名前になるとか)。表示したサイトはWebブラウザと同じように動作します。ただし、コピー&ペーストができないなど、多少の不都合があるようです。それでも、Max上でYouTubeを見たり、Gmailを読んだりするのは、ちょっと楽しくて、ちょっと変な感じ。

elwebkit.jpg

このオブジェクトは、その名の通り、Safariなどに使われるWebKitを利用しています。確か、Apolloでも(Win版も)WebKitを使ってるんじゃなかったかな? んでもって、WebKitはレンダリングが高速で、表示が美しいのが特徴ですね。このサイトもFirefoxやIEで見ると脱力するくらい醜いので、Safari系をオススメしますです。(追記:後で確認したら、Firefox 2.0/Macはそれほど醜くなかったので取り消します。IEというかWinはフォントがダメダメなので何を使ってもダメかも。)

なお、このオブジェクトはMaxMSP-MLに投稿されただけなので、まだ一般には公開されていません。使いたい人はCycling ’74のフォーラムで検索してみてください。

lua~がベータ・テスター募集中

jit.gl.luaに続いて、Graham Wakefield氏がMSP版のLuaであるlua~のベータ・テスターを募集しています。我こそはクンは彼にメールしてみてください。なんだか最近はLua周辺に活気があります。楽しみ楽しみ。

lua~が動き出すとライブ・コーディング的なことが簡単になりそう。ユニット・ジェネレータを作って自由に連結したり、取り除いたりできるみたい。それならSuperColliderとかChuckとかを使えと言われそうですけど、C言語で作られたライブラリを簡単にリンクできるのも強みになると思いますよ。

もともとMaxはライブ・コーディング的な性格を持っているけど、MSPはちょっと後退してるから、このあたりの強化がMax5のポイントになるかもしれませんね。つまり、走りながらのダイナミック(動的)な開発ってヤツです。同じようなライトウェイト開発を目指しながらも、これができない(よね?)JavaScriptやActionScriptには未来がないような気がするな。

かく言う私はサンプル・コードを眺めているだけなので、そのうちガンバろうと思う今日この頃です。2061:Maxオデッセイとは月繋がりのLua(ポルトガル語で「月」の意味)でございました。

lua.gif

iPhoneでのアプリ開発が可能に?

D5でSteve JobsがiPhoneでのサード・パーティによるアプリケーション開発を可能にすると発言したそうです。D5サイトでの発言要約は以下の通り。

Jobs says it’s a security issue, but Apple is working to find a way to allow developers to build applications for it. Jobs says he doesn’t want the iPhone to be “one of those phones that crashes a few times a day.” He adds: “We would like to solve this problem and if you could just be a little more patient with us, we’ll do it.”

Gizmodeでの要約では、今年中に公開するような話になっています。

We’ve got good ideas, and sometime later this year, we can open it up to third-party apps, and keep security.

これはQ&Aでの話だそうで、抜粋ムービーでは直接確認できないけど、これまで不可とされていたアプリ開発の道が開けるのは素晴らしい! なんてったってマルチ・タッチですから、複数のフェーダを同時操作するようなアプリとかもできるハズ。

iphone-max.jpg

個人的にはiPhoneをケータイだとは(iPodだとも)思ってないので、そーこなくっちゃ!と思います。伊達にADC会員になってるわけじゃないし。ただいま滞米中で、iPhone購入の算段を進めています(笑)。USでの発売日は6/29だそうです。皆さんも秘策を練っておいた方がいいですよ(っと煽ってみる)。

ちなみに、これでLemurあたりは売れなくなるかもね。サイズが違うとは言え、iPhoneを4台買ってもLemurより安くって、バッテリ駆動でワイヤレスなんだから。(こーゆー比較を思いつくのは、既に人道を外れている証拠ですね〜笑)

Nintendo DSをMaxで使う〜DSMI編

概要編に続いて、DSMI(DSMIDIとも呼ばれる)を使って、DSからMaxをコントロールするための手順です。私はMacBook Proと内蔵AirMacを使っていて、問題なく動作していますけど、Wi-Fiの設定はちょっと乱暴かもしれませんね。まだ試していませんが、AirMacベース・ステーションなどを使ってもできるハズです。

dsmidikeyboard.png

R4カーネルのインストール

R4のWEBサイトから最新カーネルをダウンロード。
(Macでの.rarファイルの解凍にはUnRarXが良さそう。)
・USBカード・リーダにmicroSDカードを入れてMacに接続。
・microSDのルート・ディレクトリに各ファイルをコピー。

DSMIのインストール

DSMIをダウンロード
・DSMIのアプリ(dsmidikeyboard.ndsなど)をmicroSDにコピー
(場所はどこでも良いが、サブディレクトリにまとめておくと便利)
・dsmidiwifi-v1.01.dmgをダブルクリックしてマウント
・DSMidiWifiをMacのハードディスクにコピー
(アプリケーション・フォルダなど、場所はどこでも良い)

MacのWi-Fi設定

・Ethernetでのインターネット接続を設定
(普段の設定で構わないが、AirMacでのインターネット接続は不可)
(スタンドアローンなら、IPを手入力にして、アドレスを10.0.0.1などに設定)
・以下のように設定して、インターネット共有を開始
 - 共有する接続経路:内蔵Ethernet
 - 相手のコンピュータが使用するポート:AirMac

DSのWi-Fi設定

・DSでWi-Fi対応ゲーム(テトリスDSなど)を起動
アクセスポイントを検索
・Macの名前が表示されれば、それを選択
(その後、接続テストが行なわれ、IPアドレスが取得できないと言われるが、気にしない)

DSMIの使用

・DSにmicroSDを入れたR4を装着して起動
・DSMIのアプリ(dsmidikeyboard.ndsなど)を起動
(connecting…と表示され、Wi-Fi接続が完了すると消える)
・MacでDSMidiWifiを起動
(小さなウィンドウが表示されるだけで、設定や操作は不要)
・Maxを起動
・MIDI SetupにDSMIDIWiFi-outが表示されれば、Auto Setupをクリック
・noteinやmidiinなどのオブジェクトでDSからのMIDIメッセージを処理

DSMIは単純明快で、単なるMIDIメッセージとして出力されます。ソフト・シンセなどでも利用できるし、Maxで複雑なコントロールに発展させることもできますね。SuperColliderでもQuartz ComposerでもCoreMIDI対応アプリなら何でもOK。

この後、KnobsAndSlidersDS編やDSLua編に進みたいところなんですが、実はどちらもうまく動作していません(涙)。もうすぐ海外逃亡で忙しいので、この続きはまた後日ってことで(ってか、成功している人、書いてください)。

Nintendo DSをMaxで使う〜概要編

Wiiリモコンほどは心引かれなかったんだけど、泣く子も黙るNDSを買ったので、Maxで使ってみました。この手のハック情報はそれなりにあるんですが、結構混沌としていて、どれが最新情報であるかよく分からないんですね。それで先達の皆様の指示を仰ぎながら、やってみた経緯のご報告というわけです。なので、これがベストではないかもしれないし、他の機種での動作も保証できませんけど、一事例として読んでくださいませ。

nintendo-ds-lite.jpg

お買い物リスト

Nintendo DS Lite
R4(マジコン、USBカード・リーダ付属)
microSDカード(安いものなら1GBで1,000円少々)
ニンテンドーWi-Fiコネクション対応ゲーム(テトリスDSなど)

一番の難関はマジコンと呼ばれるカートリッジで、数種類ある上に一般的な店舗などでは売っていないようですね。私はR4(R4DSとも呼ばれる)というブツを某オークションで購入しました。それ以外は普通に入手したり、Webサイトからダウンロードできると思います。それから、次に挙げるDSアプリは、それ自体でWi-Fi設定ができないので、Wi-Fi対応ゲームが必要になります。

Max/MIDI対応DSアプリ

DSMI
KnobsAndSlidersDS

DSをMaxで利用できるようなソフトが、既にいくつか開発されています。まず、DSMI(DSMIDIとも呼ばれる)は、DSでの操作をWi-Fiで飛ばしてMIDIとして出力してくれます。なので、Maxはもちろん、CoreMIDI対応アプリなら何でも利用できるハズ。一方、KnobsAndSlidersDSはノブやスライダーを自由に設定可能で、その操作をWi-Fi経由でPureDataまたはMaxで読み取るようになっています。

DS用開発環境

devkitPro
DSLua

既存のアプリでも応用範囲は広いと思いますが、さらに深く使いたい場合は自分でアプリを開発しなければなりません。その場合の正統派(?)がdevkitProで、C言語でゴリゴリ書いて、コンパイル&リンクしてDSに転送します。これに対してDSLuaはスクリプト言語なので、気軽に開発ができそうです。jit.gl.luaと同じLua言語だし、DS上で動作するエディタでスクリプトを書いて、そのまま実行できるみたいです。

といったあたりを把握しておいて、次回、DSMI編に続きます。

timelineは危険!?

時間的な進行管理のためにtimelineオブジェクトを使う人がいるかもしれませんが、実はtimelineは登場以来バギーなオブジェクトとして有名で、避けたほうが無難かもですよ。2061:Maxオデッセイでも一言も触れていないでしょう?

でも、英文チュートリアルには堂々と取り上げられているものだから、これは便利そう〜と思って手を出す人が多いみたい。確かに、シーケンサー系の人はコレだぁ!って思うよね。私も基本的なアイディアとしては良いと思うけど、本格的に使ったことがありません。触らぬ神に祟りなし(笑)でございます。

あと、detonateあたりも信用していないんですが、どうですかね? まぁ、シーケンサー的なことをしたいならシーケンサーを使えばいいわけで、公式には否定されているとはいえ、MaxとLiveが合体して欲しいよね。

timeline.gif