computerの最近のブログ記事

iTunesイントロ再生AppleScript

とある方の依頼で、「iTunesのライブラリをランダムに最初の2秒再生し続けていくプログラム知らない?」というものがきて色々探してみたんだけど、どうもいいのが見つからないので、

http://stackoverflow.com/questions/14674517/how-to-set-itunes-11-in-shuffle-or-repeat-mode-via-applescript

http://veadardiary.blog29.fc2.com/blog-entry-4587.html

を参考にして、AppleScriptで、シャッフルをONにしてランダムに選曲したものを指定した間隔で再生し続けていくものを作ってみました。

変数のplayTimeが再生時間、skipTimeは頭から何秒スキップして再生開始するか指定できるようにしてあります。依頼のあったリクエストの場合はplayTimeが2でskipTimeが0というようなことになります。

Mac OS X 10.7+日本語環境+iTunes 11.0.4

でしか確認していないです。英語環境だとうまく動かないかも。iTunesが11以外のバージョンでもうまく動かないかも。

使ってみると、iTunesの中で埋もれていた曲が色々とみつかって、けっこう面白いです。

random30secDigestJ.scpt.zip

Forest Symphony作業記 20110716

IMG_1680.jpgIMG_1695.jpg

IMG_1696.jpgIMG_1699.jpg

早朝6時から都内某所の林の中でデバイスのテストをしてきました。こんな感じ。備えなしに乗り込んだら蚊に刺されまくって大変...。耐えられなくて途中で虫よけスプレーを調達してきてもらったりしていました。

arudino用のシールドには新たにopenlog(http://www.switch-science.com/products/detail.php?product_id=389)をのせて、RS-422と両方出記録できるかどうかを試していたんだけど、どうも422の方がうまく出力されてこない。OS側もFedora、Mac OS X Lion、Windows XPと試したけどなぜかなにもデータが流れてこない。色々と手を尽くしても改善しないので、持ち帰って再検証ということに。

ちなみに、openlogの方は、商品ページで謳っているような57600なんてスピードは出ず19200で利用している状況。かなりギリギリではあるけど、一応書き損じは起していないみたい。

いずれにしても、このあたりの問題は連休中になんとかしないと間に合わない...。

ちなみに、前にテストしていたperlでのデータロガーは取りこぼしもなく問題なく利用できることがわかったので、これを少々いじって本番で利用する予定。

それよりも大きな問題は台風。実際の現場は宮崎の諸塚村の山の中なんだけど、羽田から飛び立てるんだろうか...。

Forest Symphony制作記 20110712-1

IMG_1678.jpg

来週から某所で森林の中の樹の生体電位を測定する、という作業を行なう。ここしばらくその準備を進めているんだけど、予算が大幅カットされたこともあって色々と準備が追いついていない状況。その予算もようやく先週末に目処がついて、色々と動き出しているんだけど、特に、記録した生体電位を音響化する部分について、まだなかなかこれだ!というものが出てきていない。

そこでもんもんとしていても先に進まないので、ひとまず記録のための環境をまずはしっかり準備していくことに。Sensignalの宇野君が作ってくれた、試作のarduinoシールドを使って、いまはシリアルポートからのデータを取りこぼしなくMac OS Xで取得できるかテストしているところ。なんでテストしているかというと、Perlでやっているから(^^;)。ちょっと心配なんだよね。これで問題がなければ機材的にだいぶ楽になる。おそらく問題ないと思うんだけど...。

久々にネタができたのでmemoを。

先日、予約していたiPad WiFi 16GBモデルが家に届いてから、ずっとこれで遊んでいる。やはりちょっと重いけど、画面が大きいというのは全然違う。

そんなiPadでSuperColliderが動くのかどうか試してみることに。まず、SDKは3.2のものが必要なので、最新版をインストールしておく。その後に、ターミナルでsvnを使って最新版ソースコードをcheckout。

svn co https://supercollider.svn.sourceforge.net/svnroot/supercollider/trunk SuperCollider3

現時点でのリビジョンは 10138。

A SuperCollider3/windows/sc3-win-installer-template.wxs
A SuperCollider3/windows/Win32Tests.sc
A SuperCollider3/windows/distrowin.py
A SuperCollider3/windows/WindowsReleaseHowTo.txt
A SuperCollider3/windows/compat_stuff
A SuperCollider3/windows/compat_stuff/getopt.c
A SuperCollider3/windows/compat_stuff/WSA-pthread-compat-stuff.cpp
A SuperCollider3/windows/compat_stuff/getopt.h
A SuperCollider3/windows/compat_stuff/stdbool.h
A SuperCollider3/windows/scsynth.vcproj
A SuperCollider3/README LINUX
U SuperCollider3
Checked out revision 10138.

iPhone/iPad関係のファイルは、以前と同じように「iphone」フォルダの中に収められている。

ipadsc1.png

まずは、「iPhone_Synth.xcodeproj」を開く。開いたら、プロジェクトウィンドウの左上の「概要」ポップアップメニューから以下の項目を選択する。

・アクティブSDKを「iPhone Device 3.2」
・アクティブターゲットを「libscsynth」

ipadsc2.png

続いて、「プロジェクト」メニューから「プロジェクト設定を編集」を選んで設定画面を開く。

ipadsc3.png

ipadsc4.png

コードサイニングの中の「コード署名ID」で自分のIDを選んでから、以下の設定を変更する。

・DeploymentのTarget Device Familyを「iPad」
・DeploymentのiPhone OS Deployment Targetを「iPhone OS 3.2」
・アーキテクチャのベースSDKを「iPhone デバイス 3.2」

ipadsc5.png

ipadsc6.png

設定ができたら設定画面を閉じて「ビルド」メニューから「ビルド」を実行する。手元では警告が11ほど出たが、このままで問題ない。

ipadsc7.png

続いて、「iPhone_Language.xcodeproj」を開く。

ipadsc9.png

まずは、先ほどの「iPhone_Synth.xcodeproj」の設定と同じように、左上の「概要」ポップアップメニューから以下の項目を選択する。

・アクティブSDKを「iPhone Device 3.2」
・アクティブターゲットを「SuperCollider」

ipadsc10.png

続いて、「プロジェクト」メニューから「プロジェクト設定を編集」を選んで設定画面を開く。

ipadsc11.png

先ほどと同じように、コードサイニングの中の「コード署名ID」で自分のIDを選んでから、以下の設定を変更する。

・DeploymentのTarget Device Familyを「iPad」
・DeploymentのiPhone OS Deployment Targetを「iPhone OS 3.2」
・アーキテクチャのベースSDKを「iPhone デバイス 3.2」

設定ができたら設定画面を閉じて、「グループとファイル」の中の「Resources」を展開する。

ipadsc12.png

「Resources」の中にある「SuperCollider_MainWindow.xib」をダブルクリックする。すると、Interface Builderが立ち上がり、iPhoneサイズの「Tab Bar Controller」ウィンドウが表示される。ここで、「File」メニューから「Create iPad Version Using Autosizing Masks」を選ぶ。

ipadsc13.png

すると、iPadサイズの「Tab Bar Controller」ウィンドウが表示され、「Untitled」というプロジェクトウィンドウが作られる。

ipadsc15.pngipadsc14.png

「Untitled」のウィンドウを最前面に持ってきて、「File」メニューから「Save」を選択する。保存する際には、ソースコードの「iphone」フォルダの中の「iPhone Resources」フォルダの中に「SuperCollider_MainWindow.xib」として保存する。

ipadsc16.png

上書き保存(Replace)するかどうか聞かれるので、「Replace」ボタンをクリックして保存する。

ipadsc17.png

保存できたらウィンドウを全て閉じる。

Xcodeに戻って、先ほどの「グループとファイル」の中の「Resources」には他に「SuperCollider_FileTransfer.xib」と「SuperCollider_BrowserPage.xib」というファイルがあるので、これも同様にそれぞれ開いて、「Create iPad Version Using Autosizing Masks」でiPad番のものを生成し、それぞれ同じファイル名で保存する。

ipadsc18.png

Interface Builderのファイルを変更できたら、ビルドを実行する。いくつか警告が表示されるが問題なく完了する。

ipadsc20.png

あとは、アプリをXcodeのオーガナイザを使って自分のiPadに転送する。「グループとファイル」の中の「Products」の中を展開すると「SuperCollider.app」というファイルがあるので、これをDragしてオーガナイザのiPadの項目にDropする。

ipadsc21.pngipadsc22.png

転送が完了したら、早速iPadで起動してみる。特にエディタ画面が、画面が広くなった+iPadのまともなキーボードで入力できる、ということで使い物になるレベルになったのではないかなぁ、と。

ipadsc23.png

ipadsc24.png

ipadsc25.png

how2RjDj 2

引き続き、RjDj Sprint Tokyoの際に得たノウハウの備忘録を。そういえば、先日RjDjがアップデートされていたな。

今回は、シーンをiPhoneに転送する際のもう一つの方法を。RjDj Composers Packに付属するrjzserverを使って実機に転送してみる。RjDj Sprint Tokyoの際には一人でこの方法を使って実機転送しまくっていた。というのも、いちいち rjdj.me のWEBサービスにアップする作業が手順が多くてちょっと面倒だったのと、他人のディスクスペースを公開しないjunkなシーンで埋めることに少々抵抗があったから。おそらく、自分のWAVファイルとかをシーンに組み込んだりしてサイズが大きくなったものは、rjdj.me にアップするよりもrjzserverを使ってローカルで転送した方がアップロード、ダウンロードの時間も節約できるだろう。

今回もMac OS Xをベースに進めていくが、基本的には同じことをwindowsでも実現できるはず。ホスト側のMacと実機のiPhone/iPod touchは同じLANに接続されている方が望ましい。これは、rjzserverはiPhone/iPod touchからみた場合WEBのproxyサーバーとして機能するため。

ちなみに、先日多摩美でレクチャーをしていただいた際にFrank氏本人から聞いた話によると、次期RjDjではファイル転送のための機能を内蔵するため、rjzserverは必要なくなるだろう、とのこと。なので、この手順はいずれ不要になるはず。


1. 実機に転送するシーンを用意する

how2RjDj 1(http://blog.yasaka.com/archives/2009/09/how2rjdj-1.html)の「5. image.jpgとinfo.plist」までで行ったことと同じ。実は、rjzserverを使う場合は .rjz 形式にしなくても rjzserver 側ですべて圧縮、拡張子の変更といった処理を自動的にしてくれる。なので、シーンを作ったら、すぐに rjzserver にアクセスすればiPhone/iPod touchに転送して動作確認できる。これはシーン制作の際には非常に便利。


2. Mac側とiPhone/iPod touchのネットワークを確認

Mac本体とiPhone/iPod touchが同じネットワークに接続されていることを確認する。Mac側であれば、システム環境設定の中のネットワークという項目の中にある「状況」というところにIPアドレスが表示されている。

pd2-1.pngpd2-2.png

iPhone/iPod touch側は、「設定」の中の「Wi-Fi」の中の接続されている無線LANアクセスポイントの名称の矢印をtapするとIPアドレスなどが表示される。

IMG_0253.PNGIMG_0254.PNG

両方とも無線LANで接続されているのであれば、同じアクセスポイントに接続されていることが確認できればOK。そうでない場合は、同じサブネット内にいることが確認できればOK。


3. rjzserverを起動

続いて、Mac側で rjzserver を起動する。Macの場合、RjDj Composer Packのフォルダ内にアプリケーション形式で用意されている。WindowsやLinuxでは、rjzserverというフォルダの中にある rjzserver.py というファイルを python で実行することで起動される。

pd2-3.png

※ここで注意。2009/09/17現在、RjDjComposerPack_mac.zipに含まれているrjzserverのアプリは10.6、つまりSnow Leopardでは動作しない。どうも、使用しているライブラリの依存関係が崩れてしまっているようだ。10.5(Leopard)では問題なく動作している。Snow Leopardでは rjzserver をアプリケーション形式にビルドし直す必要がある。この手順は最後に示す。

rjzserverを起動すると以下のようなウィンドウが表示される。

pd2-5.png

続いて、「File」メニューから「Set scene directory」を選び、rjzファイルが置いてあるフォルダを指定する。

pd2-6.png

今回の場合は、「RjDjComposerPack_mac」直下に置いてあるので、このフォルダを指定する。

pd2-7.png

すると、ウィンドウに「Set .rj scenes directory to /Users/yasaka/Desktop/RjDjComposerPack_mac」と表示され、設定ができたことが確認できる。

pd2-8.png

確認ができたら、rjzserverのウィンドウ内に表示されていた「Listening on」のところに表示されているURLをコピーし、Mac側のWEBブラウザにペースとして表示できるか確認する。僕の手元では、「http://192.168.0.104:8314/」となっていた。

pd2-8.1.png

このURLにブラウザでアクセスし、以下のような画面が表示されればrjzserver側の準備は完了。

pd2-9.png


4. iPhone/iPod touch側のネットワークの設定

iPhone/iPod touch側に rjzserver をプロキシサーバーとしてアクセスするよう設定する。先ほどとiPhone/iPod touchのIPアドレスを確認したときと同様、「設定」の中の「Wi-Fi」の中の接続されている無線LANアクセスポイントの名称の矢印をtapする。IPアドレスなどが表示されるが、画面を下にスクロールしていくとHTTPプロキシという項目がある。

IMG_0266.PNG

初期状態では「オフ」になっていると思うので、まずは「手動」を選択する。すると、「サーバ」、「ポート」、「認証」といった項目が表示される。

IMG_0268.PNG

ここに、rjzserver の動いているMacのIPアドレス、そしてrjzserverが利用しているポート番号を入力する。先ほどrjzserverを起動した際に表示されていた「Listening on」のあとに表示されていたURL部分からIPアドレスとポート番号を取り出す。手元では、「http://192.168.0.104:8314/」となっているが、このうち「192.168.0.104」の部分がIPアドレスで、「:」のあとに続く「8314」という部分がポート番号を表している。

情報が用意できたら、HTTPプロキシとして設定する。「サーバ」の項目にIPアドレスを、そして「ポート」の項目にはポート番号を入力する。

IMG_0256.PNG

入力ができたらホームボタンでSpringBoardに戻る。

HTTPプロキシの設定がうまくいっているか確認するためにSafariを起動する。起動したら、URLの部分に「http://rjdj.me/」と入力する。

IMG_0257.PNG

入力ができたら、「Go」ボタンをtapする。以下のような画面が表示されれば、rjzserver との接続設定は完了。

IMG_0259.PNG


5. iPhone/iPod touchから rjzserver にアクセス

rjzserverで指定したディレクトリにシーンのフォルダが配置されていることを確認したあとに、先ほどiPhone/iPod touchのSafariで開いたURLを再度開く。接続できるとこのような画面が表示される。

IMG_0269.PNG

フォルダのまま、つまり、「test1.rj」として置いてあるはずのシーンが、Safari内では「Install test1.rjz」と、 .rjz 形式で表示されていることがわかる。このリンクをtapすると、RjDjが起動し、シーンファイルがインストールされる。

このように、毎回修正するたびに .rjz 形式のファイルを作成する必要がなく、また rjdj.me のWEBサービスにアップする手続きも不要であるため、頻繁に修正、インストールを繰り返す際には非常に便利。

ちなみに、作業が終わったあと、iPhone/iPod touchのネットワーク設定に再度アクセスし、HTTPプロキシを「オフ」にすることをお忘れなく。HTTPプロキシを有効のままだと他の作業ができないので注意していただきたい。

お試しあれ。


おまけ. Snow Leopardで rjzserver をビルドする

冒頭にも説明したように、RjDj Composers Packに含まれているrjzserver.appはLeopard用にビルドされたもので、Snow Leopardでは動作しない。動かそうとすると、こんな画面が表示される。

pd2-10.png

エラーを見る限りでは、ライブラリ周りの整合性の問題のように見えたので、rjzserver をリビルドする。


1. build-mac.sh を修正

RjDj Composers Pack内の rjzserver というフォルダの中に「build-mac.sh」というシェルスクリプトがある。これをそのまま実行しようとすると最後の方に rjdj.me へ出来上がったアプリをアップロードする部分まで含まれているので、その部分を削る。

まず、テキストエディタで「build-mac.sh」を開く。くれぐれも、「build-mac.sh」をダブルクリックしないように。Mac OS Xに標準のテキストエディットでも開けるはず。以下のようなウィンドウが開く。

pd2-11.png

この内容を、以下のように修正する。

pd2-12.png

つまり、最終的には

#!/bin/sh
svn -r447 co http://svn.makotemplates.org/mako/trunk/lib/mako
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/bin/py2applet -i mako.cache rjzserver.py media/

の3行以外は削除することになる。削除できたら保存する。


2. build-mac.shをターミナルから実行

続いて、「アプリケーション」内の「ユーティリティ」フォルダ内にある「ターミナル」というアプリケーションを起動する。

pd2-13.png

ウィンドウが開いたら、「cd」コマンドで、RjDj Composers Pack内の rjzserver フォルダへ移動する。手元の場合はデスクトップ上にRjDj Composers Packを置いてあるので、

cd ~/Desktop/RjDjComposerPack_mac/rjzserver

という記述になる。ちなみに、この時点で「cd コマンドってなに?」という方は、これ以降続けない方がいいかも...。

移動したら、「ls」コマンドで先ほど修正した「build-mac.sh」ファイルがあるのを確認する。

pd2-14.png

確認できたら、

sh ./build-mac.sh

と実行する。すると、以下のようにいろんなメッセージが表示される。

pd2-15.png

色々と表示されたあとに、最後にこんな感じで再びプロンプトが表示される。

pd2-16.png

Finderでrjzserverフォルダの中を確認し、rjzserverアプリが存在していればビルドは完了。

pd2-17.png

あとは、上記のように起動して設定すれば同じように利用できるはず。ちなみに、ビルドは32bitモードでしか確認していないので、64bitモードでどのようになるかは確認できていないのでご注意を。

how2RjDj 1

http://tokyomax.jp/rjdj/
http://rjdjtokyo.tumblr.com/

数日たちましたが、芸大の芸術情報センターで行われた、RjDj Sprint Tokyoにいってきた。初日だけだけど。二日目の内容が気になるところではあるけど、とりあえず初日で一通り自分でRjDjのシーンを作るための手順などは説明されていたので、備忘録的な意味で自分でまとめてみた。


1. 環境構築

自分の環境はMac OS Xなので、すべてMacベースで話を進めていく。同じものがWindows用にも用意されているので、ほぼ同じような手順で進められるとは思うけど。あと、PureData自体についての説明は省略するので、他のサイトなどで確認を。

まずは以下のものを用意します。

・Pd-extended (http://puredata.info/downloads)
RjDjのエンジン部分でもあるPureData本体をダウンロードする。RjDjのサイトでは、vanilla版を使うように、という説明が書かれていますが、iPhoneのタッチパッドのシミュレーションや描画のシミュレーションなど一部でgemなどを使ったりすることがあるので、extendedの方がよさそう。

・RjDj Composers Pack(http://more.rjdj.me/~fbar/cop/)
RjDjComposerPack_mac.zip というファイルをダウンロードする。ただし、2009/09/13現在の時点で一部足りないファイルがあるので、 pd-missing.zip もダウンロードする。いずれは一つのファイルにまとめられるはず。

ダウンロードできたら、まず、Pd-extendedをインストール。dmgファイルをダブルクリックすると、ライセンス確認の画面がでてくるのでOKをクリックし、チェックサムの確認が終わったあとに以下のようなウィンドウが表示される。このうち、Pd-extendedのアイコンをApplicationフォルダのアイコンにドラッグ&ドロップしてコピーします。これで完了。当然、デスクトップにマウントされているディスクイメージは取り出しておく。

pd1.png

続いて、RjDj Composers Packを解凍。pd-missing.zipの方も解凍。それぞれ、出来上がったフォルダをみるとこんな感じ。

pd1.1.pngpd1.2.png

このうち、pd-missing.zipを解凍して出来上がったpdフォルダの中身すべてを、RjDjComposerPack_macフォルダの中のpdフォルダの中にコピー。最終的には、RjDjComposerPack_macフォルダの中のpdフォルダはこんな感じに。

pd1.4.png

ここまで用意ができたら、次はPdの方の環境設定。先ほどApplicationフォルダにコピーしたPd-extendedを起動する。起動すると、こんな画面が表示されるはず。

pd2.png

続いて、Pd-extendedメニューからPreferencesを選んで、さらにその中のPathを選択する。

pd3.png

PD search path for patches and other filesというウィンドウが表示される。

pd4.png

表示されたら、Newボタンをクリックする。Add a new pathというファイル選択画面が表示されるので、先ほど解凍したRjDj Composers Packの中のpdフォルダを選択してChooseボタンをクリックする。

pd5.png

すると、選択したフォルダの場所が新たにPD search path for patches and other files画面の中に追加される。これは、RjDj関連のファイルをPd-extendedから参照できるようにするために登録している。

pd6.png

あとは、Applyをクリックして、OKボタンをクリックしてウィンドウを閉じる。

設定が正しいか確認するために、RjDj Composers Packの中のexample_scenesの中のHelloWorldWorldWorld.rjフォルダ内にある _main.pd というファイルを開く。以下のように、soundinputとsoundoutputのところに緑のvolumeスライダーが表示されていれば正しく設定されている。

pd7.png

確認ができたら、いま開いた _main.pd を閉じる。以上で環境設定が完了。


2. テンプレートを複製する

RjDj Composers Packには、シーン制作のための基本ファイルセットをまとめたテンプレートが用意されている。SceneTemplate.rj というフォルダがそれだ。シーンを作る際にはこのテンプレートを複製することから始めることになる。Scene Template.rj を選択して、ファイルメニューから複製を選ぶ。

pd8.png

複製されたフォルダの名称を変更する。ここでは、test1.rj というフォルダ名に変更する。必ず、フォルダ名のあとに .rj をつけるように。あと、日本語文字は使わず、半角の英数字のみで名称を付けるようにした方が安全かも。

pd9.png

テンプレートとして用意されているファイルの中身は以下のとおり。

・_main.pd
シーン作成するファイル。RjDjに転送された際、このファイルが自動的に読み込まれて実行される。この中に、音響処理部分を記述することになる。ファイル名を変更すると読み込まれないので注意すること。

・image.jpg
RjDjに読み込まれた際に表示されるイメージファイル。320x320のサイズのものであれば問題ないので自分の好きなものに置き換えることが可能だが、ファイル名は必ずimage.jpgとしておくこと。

・info.plist
XMLで記述された、シーンの基本情報。author(制作者名)、description(シーンの概要)、name(シーンの名称)、そしてcategoryを記述するようになっているが、現在のところcategoryは使われていないらしい。Mac OS Xだとこのinfo.plistをダブルクリックするとProperty List Editorというアプリケーションが起動されるので、この中でそれぞれの項目を編集することになる。Mac OS X以外の環境では、テキストエディタでこのファイルを読み込み、該当する箇所を編集することになる。これもファイル名は変更しないこと。

pd10.png

・LICENSE.txt
シーンのライセンス形態を説明しているファイル。どうやらGPLが採用されているようだ。GPL以外のライセンスで公開したい時にどうするのかは実は確認できていないので、機会があれば聞いてみたい。

・rj
フォルダの中に様々なPdのアブストラクトファイルが含まれている。これは、RjDjチームが用意しているライブラリで、シーン制作を非常に容易にしてくれている。このライブラリはかなりよくできているので、シーン制作以外の時にもかなり有益なものになるはず。

pd11.png


3. _main.pdを開く

先ほど作成したtest1.rjの中の_main.pd をPd-extendedで開く。以下のような画面が表示される。

pd12.png

soundinput と soundoutput があるので、その間に音響処理のための部分を構築すれば、iPhone上のRjDjに読み込まれた際に、マイクからの音(soundinput)を処理してそのままイヤホン(soundoutput)に結果を出力する、というシーンが作れるわけだ。

右側にいくつかボタンがあるが、declareで始まっているものは、_main.pd と同じ階層にあるファイルと、rjフォルダの中にあるファイルを参照するために必要なものなので削除しないように。pd LICENSEは、クリックすると作成したシーンがGPLライセンスベースであることを説明するウィンドウが表示される。これも基本的にはそのまま残しておく。

一番下にあるOVERVIEW というボタンをクリックすると、以下のようなウィンドウが表示される。

pd13.png

これは、テンプレート内に用意されていたrjフォルダ以下にあるライブラリの機能を説明している。例えば、effectsのeをクリックするとRjDjライブラリで用意されている様々な音響効果のアブストラクトが表示され、それぞれ簡単な説明がついている。

pd14.png

effectsの中の e_fbdelay というアブストラクトオブジェクトをクリックすると、その中の構造が表示される。

pd15.png

これだけではどのように使っていいかわからないので、いったん e_fbdelay.pd の画面を閉じて、今度はcontrolキーを押しながら e_fbdelay というオブジェクトをクリックしてみる。マウスボタンが2つある場合は、右クリックするとでてくると思う。すると、Properties、Open、Helpという項目からなるポップアップメニューが表示される。

pd16.png

この中のHelpを選ぶと、そのe_fbdelayのヘルプウィンドウが表示される。ここには、それぞれの入出力がどういう役割を持っているか、そしてその横にサンプルのパッチが用意されている。

pd17.png

このように、RjDjで用意されているライブラリにはすべてヘルプファイルが用意されているので、そのオブジェクトをどう使うかわからない場合は、まずはそれぞれのヘルプファイルを参照するといいだろう。


4. _main.pd を編集

実際に何らかの音響処理をするシーンをまずは用意してみよう。先ほど、RjDjライブラリの中から参照した、e_fbdelayというフィードバックディレイの効果をつけてくれるオブジェクトを使ってみる。iPhoneのマイクから入力されたサウンドソースを、左右それぞれ違うディレイタイムを設定して、ディレイ音が左右からパラパラと出てくるようなものを考えてみた。以下のような感じでパッチを用意してみる。

pd17.3.png

e_fbdelayは二つの引数を指定する。一つはディレイバッファの識別名称。もう一つは、最大のディレイタイムで単位はミリ秒。今回の場合、同じディレイバッファを違うディレイタイムで処理すればいいので、識別名称は同様のものを用意している。最大ディレイタイムは左右で違うディレイタイムを設定できるよう変えてある。

実際のディレイタイムの指定は、e_fbdelayオブジェクトの2番目のインレットにシグナル形式で値を渡す。そのため、ナンバーボックスのあとに sig~ が用意されている。ヘルプファイルを参照すればわかるが、それ以外のパラメータについては3番目のインレットに送ることで設定できる。ここでは、feedbackを0.3という値に設定。さらに、feedbackしすぎてハウリングを起こす傾向にあるので、最終的な出力をしぼってあげるために 0.1 をシグナルにかけることにした。

pd17.4.png

なお、ディレイタイムなどそれぞれの値はloadbangオブジェクトで起動時に設定されるようにしておかなければならない。iPhone上のRjDj内では基本的にはいま見えているオブジェクトやナンバーボックスなどは表示されないので。後ほど説明する加速度センサーやタッチパネルの情報を使って値を変更することはできるが、それ以外は基本的にボリュームスライダしかないので注意が必要。

調整ができたら_main.pdを保存して閉じる。


5. image.jpgとinfo.plist

_main.pdが用意できたら、続いてはimage.jpgとinfo.plistを編集する。image.jpgの方は、特に何もなければデフォルトのRjDjのイメージがそのまま利用されるが、なにか他の画像に差し替える場合は320x320のJPEG形式で画像ファイルを用意し、ファイル名をimage.jpgに修正して既存のものと差し替えることになる。

info.plistの方は、author、description、nameをそれぞれ編集する。手元では以下のようにしてみた。

pd18.png


6. rjz形式のファイルを用意する

実際にRjDjに転送してシーンとして利用するには、編集したtest1.rjフォルダをrjz形式に変更する必要がある。rjz形式というのは、.rjフォルダをzipでアーカイブした形式をさす。なので、Mac OS Xの場合は、test1.rjフォルダをコントロール+クリック、あるいは右クリックして「"test1.rj"を圧縮」という項目を選ぶことでzip形式にアーカイブできる。

pd19.png

出来上がったアーカイブはそのままだと「test1.rj.zip」というようになっているので、Finderで最後の .rj.zip の部分を .rjzに変更する。と、やりたいところなのだが、このままだとちゃんと拡張子がrjzとなっていない可能性が大きいので、次のようにして.rjzとなるよう変更する。

test1.rj.zipをコントロール+クリック、あるいは右クリックして「情報をみる」を選ぶ。

pd20.png

「"test1.rj.zip"の情報」というウィンドウの中の「名前と拡張子」という項目を開く。「拡張子を隠す」という項目にチェックがついていたらこれを外し、ファイル名のところを「test1.rjz」となるよう修正してウィンドウを閉じる。これで問題なく .rjz 形式のファイルが用意できる。

pd21.png


7. rjzファイルをiPhone上のRjDjに転送

あとは、iPhone上のRjDjにrjz形式のシーンファイルを転送して実際に動くかどうか試す、ということになる。RjDjでは、シーンファイルを転送するための方法が二つある。一つは、rjdj.me で用意されているWEBサービスを使う、というもの。もう一つは、RjDj Composers Packに付属のrjzserverというproxyサーバーを利用する方法。

ここでは、rjdj.meで用意されているWEBサービスを利用する方法について紹介する。

http://rjdj.me/sharescene/ にアクセスしてアカウントを作成する
すでにrjdj.meにアカウントがある場合は飛ばしていいが、ない場合はまずはアカウントを作る。URLにアクセスすると、画面の右上の方に「signup」というリンクが用意されているので、これをクリックする。

pd22.png

すると、アカウント作成のための画面が表示されるので、「desired username」には希望するユーザー名を入力し、あとはメールアドレスとパスワードを入力する。なお、日本語が考慮されていないシステムであるため、各項目は必ず半角英数字で入力するように。

pd23.png

入力できたら、「get inside」ボタンをクリックする。うまくアカウントが作成されると「Welcome! You are now logged into RjDj.」というメッセージとともにこんな画面が表示される。これでアカウント作成は完了。

pd24.png

・再度、http://rjdj.me/sharescene/ にアクセス
アカウント作成後、再度 http://rjdj.me/sharescene/ にアクセスすると、先ほどと違って今度はシーンアップロードのための画面が表示される。このフォームに必要な情報を入力して、rjdj.meのWEBサービスにシーンファイルをアップロードすることになる。

pd25.png

・必要項目を入力
まず、「Rjzfile」というところにアップロードするシーンファイルを指定する。フィールドの横にあるボタンをクリックして、先ほど用意したtest1.rjzを選択する。

「Name of your scene」には、シーンの名称を付ける。今回はテストのためのアップロードなので、「test1」としておく。ここにあまり長いものをつけると、ダウンロードの際のURLが長くなるのでなるべく簡潔に。なお、先ほどのアカウント作成の時と同様に、ここでも日本語の文字は使わず、すべて半角英数字で入力するように。

「Notes for people downloading this scene.」には、簡単にどういうシーンなのか記述する。今回はテストシーンなので「test scene using e_fbdelay」としてみた。くどいようだが、ここも半角英数字で入力するように。試しに日本語で記述してみたが、エラーになってアップロードができなかったので。

次の二つあるチェックボックスについて、最初のものは、アップロードするシーンを一般公開する際にチェックをつける。ここにチェックをつけると、RjDjチームの方でシーンのチェックが入り、問題がなければ、http://rjdj.me/music/ にあるような形で一般公開され、誰でもダウンロードができる状態になる。今回はあくまでもテスト用のアップロードなので、チェックは外す。

二つ目のチェックボックスは、アップロードしたシーンを有償ダウンロードにしたい場合にチェックをつける。ここにチェックをつけると、RjDjチームからメールでコンタクトがあり、販売するにあたっての手続きが進められることになる。今回はあくまでのテスト用のアップロードなので、チェックはつけない。

最後の「Notes for the RjDj team」は、RjDjチームへなにか連絡事項があれば記入する。今回は当然何もないので空欄のままでいい。

pd26.png

・アップロード
以上、用意ができたら最後に「upload」ボタンをクリックする。シーンファイルのサイズによって異なるが、多少時間がかかるので、途中で止めたりせずに少し待つ。うまくアップロードされると、以下のような画面が表示される。

pd27.png

ここで注意したいのが表示されているURL。今回は、「Name of your scene」に「test1」と入力したので、 URLが

http://rjdj.me/sharescene/test1/

というようになっている。シーンの名称に指定した文字列がそのままURLに反映されるため、スペースを入れたり、変な記号を使うことはさけた方が安全。ちなみに、自分の場合は、パッチ制作の時点で何回かアップロードし直す必要があったので、

http://rjdj.me/sharescene/test1-5/

というURLになってしまった...。test1の方をダウンロードすると激しくハウリングを起こすので使わない方がいい...。

さらに、このURL が実際のシーンのダウンロードの際に必要となる。今回の場合、シーンは一般公開されないため、このURLをどこかにコピーするかメモしておかないとわからなくなるので注意が必要。このURLをiPhone/iPod touchで読んでいるメールアドレスに送る、というのが最も簡単な方法かも。

以上で、rjdj.meのWEBサービスを使ったシーンファイルのアップロードが完了する。


8. 実機で確認

アップロードしたシーンを実際に実機で動かし動作するか確認してみる。先ほどのURLをiPhone/iPod touchのメールアドレスに送り、メッセージ内のURLをtapするか、Safariを起動してURLを入力してアクセスする。

IMG_0241.jpg

アクセスすると、installというボタンがあるので、これをtapする。

IMG_0242.jpg

すると、RjDjが起動してファイルのダウンロードが開始される。

IMG_0243.jpg

無事ダウンロードできると、Installed test1というメッセージが表示される。

IMG_0244.jpg

これで、シーンのインストールは完了。あとは、シーン一覧の中にあるtest1という項目をtapして実際にシーンを動かしてみる。

IMG_0248.jpg

さて、無事うまく動いているだろうか???

iSuperCollider.jpg

先日、赤松さんのブログにiPhoneで動くiSuperColliderの現状、というエントリーが上がっていて、iPhoneでSuperColliderが動くことを知った。

http://akamatsu.org/aka/?p=3220

これは自分でも試してみなければ、とソースコードからビルドしてみて見事動いたので、ここに手順を。

大前提として、iPhone Developer Programに参加していて、有効なprovisioningファイルを用意できていること、svnやln、cdなどunix系のことを知っていることが必要だろう。ということで、

1. まずはソースコードを入手する

http://supercollider.sourceforge.net/developers/

に書いてあるようにsvnでソースコードを取得する。ターミナルを立ち上げて、

svn co https://supercollider.svn.sourceforge.net/svnroot/supercollider/trunk SuperCollider3

を実行する。すると、ファイルが次々とダウンロードされて、

A SuperCollider3/Packager/background.png
A SuperCollider3/Packager/OPTIONALS_README_SOURCE.txt
A SuperCollider3/Packager/dmg_without_optionals.ds_store
A SuperCollider3/Packager/USAGE
A SuperCollider3/Packager/optional
A SuperCollider3/Packager/pkg-dmg
A SuperCollider3/Packager/OPTIONALS_README_OSX.rtf
A SuperCollider3/Packager/dmg_with_optionals.ds_store
A SuperCollider3/Packager/package
A SuperCollider3/Plugins.xcodeproj
A SuperCollider3/Plugins.xcodeproj/project.pbxproj
U SuperCollider3
Checked out revision 9349.

というような感じで終了する。「SuperCollider3」というフォルダができていると思うので中身をみると、以下のような感じに「iPhone_Language.xcodeproj」と「iPhone_Synth.xcodeproj」、そして「iPhone Resources」というようにiPhone関連のファイル、フォルダがあるのがわかる。

090814-0001.png

2. iPhone_Synthを開いて初期設定

まずは、二つあるiPhone関係のプロジェクトファイルのうち、iPhone_Synthの方からビルドする。ダブルクリックしてXcodeを起動すると、左上の「概要」の部分が「Simlator - 2.2 | Degbu ...」となっていると思うので、これを変更する。

・アクティブSDKを「iPhone Device 3.0」
・アクティブな構成を「Release」
・アクティブターゲットを「libscsynth」

というように変更する。

xcode1.png

さらに、右上の方にある「情報」アイコンをクリックし、「ビルド」タブを開いて以下の項目を確認する。

・"Code Signing"の中の「コード署名ID」で正しいプロビジョニングファイルが選択されているか
・"Deplyment"の中の「iPhone OS Deployment Target」が「iPhone OS 3.0」になっているか
・"アーキテクチャ"の中の「ベースSDK」が「iPhone Device 3.0」になっているか

090814-0003.png

これらの確認、変更ができたらウィンドウを閉じる。

3. libscsynthをビルド

先ほど「概要」のアクティブターゲットを「libscsynth」に設定してあるが、それ以外に「iscsynth」というターゲットも用意されている。まずは「libscsynth」の方からビルドする。アクティブターゲットとして選択したあとに、「ビルド」をクリックする。

いくつかwarningが出るが、右下に「問題なく完了しました」とでればlibscsynthのビルドは完了。

090814-0004.png

4. iscsynthをビルド

続いて、おなじiPhone_Synthプロジェクトの中の「iscsynth」をビルドする。まずは「概要」のアクティブターゲットを「iscsynth」に変更する。

xcode2.png

アクティブターゲットを変更したら、中央のファイル一覧の中から「libsndfile.a」という項目を探す。おそらく一番右端のチェックボックスにチェックがついていると思うので、これを外す。そして、その下の「libsndfile_iphone.a」という項目にチェックをつける。

090814-0005.png

変更したら、「ビルド」をクリックする。右下に「問題なく完了しました」と表示されればOK。

5. iPhone_Languageをビルド

いよいよ本体の方のビルド。先ほどのiPhone_Synthプロジェクトを閉じて、iPhone_Languageの方を開く。

090814-0006.png

こちらも「概要」の部分に変更を加える。

・アクティブSDKを「iPhone Device 3.0」
・アクティブな構成を「Release」

というように変更する。今回は、アクティブターゲットは1つしかないので変更の必要はない。

xcode3.png

そして、右上の方にある「情報」アイコンをクリックし、「ビルド」タブを開いて以下の項目を先ほどと同様に確認する。

・"Code Signing"の中の「コード署名ID」で正しいプロビジョニングファイルが選択されているか
・"Deplyment"の中の「iPhone OS Deployment Target」が「iPhone OS 3.0」になっているか
・"アーキテクチャ"の中の「ベースSDK」が「iPhone Device 3.0」になっているか

これらの確認、変更ができたらウィンドウを閉じる。

そして、最後に「ビルド」ボタンをクリックする。いくつかwarningがでるが、右下に「問題なく完了しました」と出ればビルドが完了する。

090814-0007.png

6. ファイルを実機に転送

自分のiPhone 3GSは現在3.0.1が動いている。本来であれば最後に本体をビルドするときは「ビルドして実行」を選べば勝手にアプリが実機に転送されて動き出す、ということができるのだが、3.0.1が動いている場合はちょっと工夫しないといけない。

解決方法の1つとしては、「iPhone 構成ユーティリティ」というアップルが配布しているプログラムを利用する方法。プログラム自体は、こちらからダウンロードできる。

http://support.apple.com/downloads/iPhone_Configuration_Utility_2_0_for_Mac_OS_X?viewlocale=ja_JP

これを使って、ビルドして出来上がったファイルを実機に転送するわけだ。ビルドした実行ファイルは、ソースコードが入っている「SuperCollider3」フォルダの中の「build_iphone」というフォルダの中にできている。

090814-0008.png

この中にある「SuperCollider」というアイコンをiPhone構成ユーティリティーにdrag&dropして実機へのインストールを進めることができる。

もう1つの解決策としては、

/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

の中に3.0.1用のシンボリックリンクを作る、というもの。上記のフォルダをみると、「3.0 (7A341)」というフォルダは存在するが、3.0.1のためのものが見当たらない。そこで、ターミナルで、

cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
ln -s "3.0 (7A341)" 3.0.1

と2つコマンドを実行してあげることで、3.0.1のためのサポートを用意してしまう。このように変更したあとに実機をつないで、Xcodeを立ち上げて、iPhone_Languageを開き、「ビルドして実行」をクリックすると、実機の方にアプリが転送されてアプリが立ち上がるはず。

090814-0009.png

最初にこの画面が表示され、

IMG_0202.PNG

続いてこの画面が表示されればOK。

IMG_0203.PNG


7. 音が出るか試す

このままでは何も確認できないので、実機の下の方に表示されているメニューバーから「Browser」を選び、「patches」という項目を選ぶ。

IMG_0204.PNG

その一番最初に「accelerometer.rtf」という項目があるので、これをtapする。

IMG_0200.PNG

すると、「Editor」が開いてSuperColliderのコードが表示される。

IMG_0205.PNG

下の方にある「Execute」をtapし、下にあるメニューバーの「Post」を選択。「Speakers」というボタンがあるので、これをONにして、本体を傾けたり揺らしたるすると、動きにあわせて音がなるはず。

IMG_0201.PNG

停止するときは、「Speakers」をOFFにして、その隣の「X」ボタンをtapすれば実行が止まる。

この事例でわかるように、最初からiPhoneの加速度センサのためのクラスが用意されているあたりがかなりいいですな:)。ま、実際のところ僕自身はSuperColliderではまったくコード書いたことないのだけど...。

というわけで、iPhone Standard Developer Programに入っていて実機を持っていればこちらはすぐに試すことができる。Developer Programに入ってない人は、近くにいる人の頼んでビルドしてもらって、provisioningファイルとともに実行ファイルを受け取ってインストールしてみるしかないのが現状か。

いずれにしても、いままでiPhone側でOSCを送信してコントローラとして使うことは多かったけど、SuperCollider自体がiPhoneで動いてしまうのはかなり楽しい。先ほども書いたように、僕自身はSuperCollider使いではないので、書ける方々は是非ともiPhoneをターゲットとしたパッチを書いて公開してほしい。

WWDC09

そんなわけで色々と発表になりました。

まず、MacBook系が、白MacBook以外すべてリニューアル。あと、旧unibody MacBookはMacBook Proに昇格。CPUが速くなって、最大メモリ容量も増えて、FW800が戻ってきた。これはなかなか良いかも。それ以外のMacBook Proは液晶パネルがアップデートされたり、CPUが速くなったり。MacBook AirもCPUが速くなって値下げ。

http://www.apple.com/jp/macbookpro/
http://www.apple.com/jp/macbookair/

Snow Leopardの新機能が色々と紹介されつつ、発売は9月、Leopardからのアップグレードは$29とのこと。こんなに安くしていいんだろうか?

http://www.apple.com/jp/macosx/

Safari 4は今日から正式リリース版がダウンロード可能。

http://www.apple.com/jp/safari/

目玉はやはり新しいiPhone、iPhone 3GSの発表「S」はSpeedの「S」だそうだ。CPU、通信速度(HSDPA対応)が改良されて、いままでよりも2倍以上の高速化。デザインなどはiPhone 3Gと全く一緒。

カメラ部分が、3メガピクセルに上がって、オートフォーカス、オートマクロなどの機能が追加。スチールだけじゃなくビデオの撮影も可能で、簡単なカット編集までできる。

ナビゲーションなどで利用できるデジタルコンパスが内蔵されている。これで、カーナビと同じようにGoogle Mapが動いてくれるのはうれしい。

3.0 OSの機能としてMMSとテザリングがあるんだけど、softbankはMMSには対応するがテザリングは現在のところ対応していない模様。

価格は16GBで$199、32GBで$299。どちらも白と黒のモデルが用意される。発売日は、アメリカ、カナダ、フランス、ドイツ、イタリア、スペイン、スイス、イギリスで6/19(Fri)から、翌週さらに6カ国で発売開始されるらしい。日本もこの6カ国に含まれているっぽい。

http://www.apple.com/jp/iphone/iphone-3g-s/

さて、また暑い中並びにいくかな;)。

TOUCH THE MUSEUM

http://www.nmwa.go.jp/
http://www.nmwa.go.jp/jp/information/pdf/touchthemuseum.pdf

昨年夏からずーっと関わってきたプロジェクトが、限定的ではあるけど、ようやく公開される。国立西洋美術館の常設展示作品のための作品鑑賞ガイドをiPod touchを使って実装している。

美術館や博物館に行くと、作品などの解説が入った音声端末の貸し出し、というのはよく見かけると思うんだけど、それとはまた別な、デジタル端末を使った作品ガイドの可能性を模索したい、というのがプロジェクトの主な趣旨。音声端末を否定するのではなく、それとはまた違う別ななにか、ということで。

それにしても、国立西洋美術館という、はたからみたらコンサバティブそうな組織が、ここ数年こういうことを試し続けているというのはかなり面白い。実はまだ一度もお会いしていないが、話を聞くと館長の方が結構この手のものが好きらしい。

今回はiPod touchをプラットフォームとして使うというのに、自分はObjective-Cで組めないのと、あと色々とハードウェアを用意する必要があったため、親友の方々と共同開発、という形で進めることに。彼らがいなかったら、まず実現できていなかったと思う。そして、コンテンツの方は最強のコンテンツホルダーである某社のおかげでかなり内容は濃い。親友、ならびに関係者のみなさまに感謝。

http://www.namm.org/

1月15〜18日にかけて、アナハイムでNAMMという音響、音楽関係の機器展がありました。いくつか興味深い製品、機能の発表があったのでピックアップ。

pacarana.jpg

Symbolic Sound Pacarana
http://www.symbolicsound.com/cgi-bin/bin/view/Products/Pacarana

以前はCapybaraとよばれていた、DSPのボードを大量にのせた黒い巨大な箱と、それをコントローするソフトウェアKymaの組み合わせで動いた、音響合成のためのシステム。コントロールソフトは、Max/MSPみたいにオブジェクトを配置してパッチコードでつないでいくことで機能を実現てきる。確かに処理能力はすごいし、音もよさそうなんだけど、値段が半端なくて個人ではなかなか手が出せるものではなかった。今回も値段的にはそんなに劇的に下がったわけではないけど、黒い箱のサイズがコンパクトになったのと、処理能力が格段に上がったあたりは、ようやくいまの時代のスペックに追いついたか、という印象。いじってみたいけど、買えないよなぁ。こういう時、大学とかでさくっと買ってくれるとうれしいんだけど。

max_for_live.jpg

Ableton Live 8/Max for Live
http://www.ableton.com/pages/live_8/announcement/home
http://www.ableton.com/extend

Live 8は色々とよくなってはいるみたいだけど、気になるのはむしろMax for Liveの方。Liveの中にMax/MSPが組み込まれていて、音源、シーケンサ、エフェクトなどの機能をMaxのパッチで作ってLiveの中に組み込めるというもの。Live 8の発表後、今年の後半にリリース、というようなことなんだけど、LiveとMax/MSP両方のユーザーとしては楽しみ。

ozone4.jpg

iZotope Ozone 4
http://www.izotope.com/products/audio/ozone/
http://www.m-audio.com/index.php?do=products.main&ID=bdc2c4e15f3beef847aea204e25670dd

マスタリング用プラグインOzone 4が発表されている。個人的には、音によって自動的にcrossoverの周波数をコントロールするIntelligent Crossover、そして中央と左右両端の処理を別々にできるmid/side processingあたりがかなりよさそう。こんな贅沢なプラグインをiTunesと組み合わせて使っているわけだけど、iZotopeのサイトを見ると、

http://www.izotope.com/products/audio/media/ozone.html

という製品も存在している。これがiTunes用にリリースされればベストなんだけどなぁ。

jazzmutant-lemur.jpgjazzeditorV2.jpg

Jazzmutant Lemur v2.0
http://www.jazzmutant.com/news.php

OSCプロトコルを出力するマルチタッチコントロールでバイス、Lemurのfirmwareが2.0になった。utp_の際に使っていていまいちだなぁ、と思っていったところはかなりよくなっているっぽいけど、今回の発表の注目点はそこではない。60日間限定ではあるけど、1/15〜3/15までの間、価格が1,769ユーロにディスカウントされて販売されるという。いままで国内では50万円近くで売っていたわけだけど、これが20万円ほどで購入できるわけだ。ようやくものの実態と価格がバランスとれたような印象。早速お世話になったe-frontierの担当者にメールしてみたいところ、国内販売価格もこの60日間限定価格が反映されるとのこと。いずれ発表があるみたいなので、これを待ちたい。

protrack.jpgimultimix16usb.jpg

Alesis ProTrack、iMultiMix 16 USB
http://www.alesis.com/protrack
http://www.alesis.com/imultimix16usb

最近のAlesisはiPodを組み込んで使うためのデバイスが多いね。今回も、iPodをリニアPCMレコーダにするProTrack、ミキサーに組み込んでレコーダとして使えるiMultiMix 16 USBを発表している。どちらも興味深いんだけど、16bit/44.1KHzでしか利用できないのがちょっとおしいかなぁ。

volta.jpgvolta2.jpg

MOTU Volta
http://www.motu.com/marketing/motu_products/software/volta/volta-press-release.pdf/view?searchterm=volta
http://createdigitalmusic.com/2009/01/16/analog-meet-digital-motu-volta-connects-the-mac-to-cv-synths-effects-graphically/

まだmotuのサイトにちゃんとした情報が出ていないみたいだけど、オーディオインターフェイスのアナログ出力からCV/Gateの信号を出してMIDIなどに対応していないアナログシンセをコントロールしてしまおう、というAudioUnitのプラグイン。これはやられた、と思った。オーディオ出力をCV/Gate出力用にそのまま使ってしまうとは。通常のMIDI/CV-gate変換デバイスよりも解像度が高くできると思うので、細かいコントロールとかできてよさそう。まあ、うちにあるCV/Gateなシンセといえば、MC-202とTB-303くらいしかないんだけどね...。

uad2solo.jpg

Universal Audio UAD-2 Solo/Laptop
http://www.uaudio.com/webzine/2009/january/universe.html
http://createdigitalmusic.com/2009/01/20/universal-audio-uad-2-solo-will-add-dsp-power-to-your-laptop-for-499/

MacBook Proを使っていると、ほとんどの場合ExpressCardスロットは何も入れず、無駄なスロットになっていることがある。僕もそうだけど...。モデムはUSB出し、カードリーダーもUSBだし、オーディオインターフェイスはFireWireだし。その無駄になっているスロットにDSPのカードをさしてプラグインの信号処理を処理してしまおうという商品。価格もリーズナブルだし、CPUも軽くなるのでちょっといいかも。欲を言えば、スロットからはみ出さない形状にまとめてくれればもっとよかったんだけどなぁ...。

という感じで、またしても色々と物欲がふつふつと...。

Macintosh 登場から25周年

http://plusd.itmedia.co.jp/pcuser/articles/0901/24/news010.html

1月24日でAppleが最初のMacを発表してから25周年だそうだ。途中、Windows 95やXPがメインになっていたこともあるけど、自分自身もMac中心できていることは確か。特にMax関係はね。

macse.jpg

最初のMacは、大学入学と同時に買ったMac SE。プリンタとあわせて50万した記憶が。しかも、あの一体型Mac用キャリングケースも買って、埼玉の家とSFCを何往復かしていたなんて、いまでは考えられません...。

このとき、当時はOpcodeから発売されていたMaxを知って、バージョン1.0.3の頃にアカデミックディスカウントで2万円くらいで買ったのがいまになってだいぶ役に立っているわけです。ちなみに、シーケンサはEZ Vision、Vision、Studio Visionと発展していったところでOpcode自体がこけてそれ以降は放浪の身...。いまはAbleton Live。

SEのあとはPowerBook 140、LC 630、PowerMac 6100、iBook Dual USB、PowerBook G4 Ti、MacBook、Mac mini、MacBook Pro という感じで、今に至っている。

そんな中、いままでAppleがリリースした製品の画像がうまくまとまっているエントリーがあったのでご紹介。なかなか興味深い。自分はいくつ買ったっけな...。

http://www.webdesignerdepot.com/2009/01/the-evolution-of-apple-design-between-1977-2008/

utp_ + Lemur

あけましておめでとうございます。

昨年30日に実家に戻っていたのですが、大晦日にA型インフルエンザにかかってしまい、食事の時以外はずっと布団の中という悲惨な正月を過ごしていました...。タミフルのおかげでようやく復帰しつつありますが。

そんな中、google alertでこんなもの発見。

2007年11月にドイツでお手伝いしていた、utp_のプロジェクトがあったわけですが、

http://blog.yasaka.com/archives/2007/11/mannheim2007-da-6.html

にもあるように、Jazzmutant社の人からインタビューを受けていたのですが、その映像が本社のWEBにもようやくあがっていました。

http://www.jazzmutant.com/artists_sakamoto.php

実際には僕もインタビューにこたえていたんですが、やはり採用されなかったね(^^;)。ちらっと汗を拭いている後ろ姿と、最後のクレジットに名前が出ているくらいですが、とりあえず実際に映像にまとまったということで、ご紹介。

そういえば、utp_以来、Lemurに触れる機会がまったくないな...。円高なんだからもっと手の届く値段に下げてください>e-frontierさん。そうしたら買います。

と思って調べたら、あれ、なんか、以前の半額くらいになっている!

http://www.1126.tv/modules/news1/article.php?storyid=1712

この値段なら、USのCycling 74から買うよりも安い!

Songbird 1.0リリース

songbird3.jpg

http://www.songbirdnest.com/
http://lifehacker.com/5100579/songbird-10-release-official-fixes-bugs-plays-itunes-purchases

オープンソースなiTunesクローンとして長らく開発が続けられてきたSongbirdがついにバージョン1.0をリリースした。最初に日記に書いたのは2005年の12月だから、それから3年かかったというわけだな。

http://blog.yasaka.com/archives/2005/12/itunessongbird.html

Songbird自体はリリース情報は知りつつもしばらく触っていなかったんだけど、1.0になったということでダウンロードして使ってみた。

みためは、2005年の時のものに比べればはるかによくなっている。好みの問題だけなのかもしれないけど、この手のツールはシンプルで情報にアクセスしやすいものじゃないとやはりつらい。

songbird1.jpg

インストールしてみると、勝手に日本語の言語パッケージをダウンロードして初期設定が始まる。iTunesがあることを認識すると、そのライブラリをインポートするかどうか聞いてくるので、インポートしてもらうことに。僕のライブラリはNAS上にあるので、読み込みに結構時間がかかったが、日本語の文字化けなどの問題もなく28,477曲分のmp3やaacファイルが読み込まれる。以前はインポート途中でハングしていたのでだいぶよくなったね。

songbird2.jpg

で、早速再生してみる。以前あったようなもたつきはなく、いたってスムースに再生される。と、思ったら、ヘルプを表示したりすると、それだけで音飛びが発生する。再生以外でちょっと負荷がかかりそうなことをするだけで音飛びしてしまうのは、NAS経由の環境とはいえ、メディアプレーヤとしてはかなり痛い。

開発側でも問題は認識しているようではあるけど、再生エンジンとして使っているGStreamerの方で解消しようとしているらしいけど、まだ直っていないみたい。

http://getsatisfaction.com/songbird/topics/cache_option_for_local_filesystems

それ以外に関しては、検索も日本語でできるし、再生開始すると関連する情報、画像、動画を取得して表示するなど、iTunes単体にはない機能がなかなか面白いだけに、音飛びが発生するのはもったいない。単純にバッファのサイズをちょっと大きくすればいいだけの話しのはずなので、是非すぐにでも改善してほしい。あるいは、ユーザーの方でバッファサイズの調整ができるというだけでもいいので是非。

ディスク利用状況の可視化

grandperspective.jpg

http://grandperspectiv.sourceforge.net/
http://www.moongift.jp/2008/08/grandperspective/

ちょっと面白かったのでご紹介。Mac OS X専用だけど、ディスクやフォルダの利用状況を可視化してくれるソフト。もちろん、いままでもそういうのはあったと思うんだけど、これはフォルダ単位でエリアが表示されていて、どのフォルダの中のどのファイルがどのくらいのファイルサイズなのかがわかりやすく表示されている。

ディスクの残り容量が少なくなったとき、不要ファイルの大きいものをさがして蹴ることが多いと思うんだけど、これなら結構さがしやすいかも。

ちなみに上の画面ダンプは僕のホームディレクトリの中の状況で、一番でかい領域をとっているのはparallelsのwindows XPのディスクイメージで、9GBほどある...。その隣にある二つの大きなエリアもそれぞれcentos5とfedora9のディスクイメージだったりする。

iTunesの音圧の平均化

maximizers.jpg

その昔、iTunes用のオーディオプラグインでVolume Logicというものがあった。ようは、帯域別に動くコンプ/マキシマイザのようなもので非常に重宝していたんだけど、intel macが出始めたあたりから開発が鈍くなり、ついには消えてしまった...。それ以来、iTunesでランダム再生とかするといちいち音圧が違って結構気になる日々。

一方、レコーディング、マスタリングの世界ではデジタルオーディオというかCDでいかにして音圧をかせぐか、ということで様々なデバイスやプラグインが存在する。特に、プラグイン関係でいうとWAVESのL3とかはかなり有名なものだと思う。

L3は大げさ(単機能で6万ちょっともするソフト)だとしても、その他のプラグインをiTunesの出力にかけられないものか、とふと思って色々と試してみた。

まずは、Cycling 74のSoundflower(http://www.cycling74.com/products/soundflower)とMac OS Xの開発環境についてくるAU Lab(http://developer.apple.com/audio/audiocommunity.html)を使ってみたところ、しばらくはうまく動いてくれるんだけど、途中からクロックがくるったような状態になって音がむちゃくちゃになってしまう。これが、AU LabとSoundflowerの相性問題なのか、SoundflowerとApogee duetの問題なのかはわからない...。

なにかSoundflowerかAU Labの代わりになるものないかなぁ、とさがしていたところ、rogue amoegaのaudio hijack proをみつける(http://rogueamoeba.com/audiohijackpro/)。元々は、いろんなアプリのオーディオアウトを奪い取って、それを録音したり、プラグインで加工したりできるようにするためのユーティリティ。ちなみに、このソフトも裏でSoundflowerを使っていると知ったのはだいぶあとのこと...。

続いて、maximizer系のプラグインのデモ版があるかチェック。WAVESのL3 MultimaximizerとSONNOXのOxford InflatorはiLokにデモ用のキーを入れることで利用できるようになる。iZotopeのOzone 3はダウンロードすると15日間デモモードで動作するようになっていた。いずれも、デモ版といっても何ら制限はないので、しっかり試すことができるのがうれしい:)。

http://www.waves.com/Content.aspx?id=261#l3ultra
http://www.sonnoxplugins.com/pub/plugins/products/inflator.htm
http://www.izotope.com/products/audio/ozone/

使ってみた感じでは、音がかなり派手になるのがOzone 3、しっかりしていて音もかなりいいのがやはりWAVES L3 Multimaximizer、Oxford Inflatorはちょっといまいちどう使えばいいのかがつかめなかった。L3、Ozone 3ともにiTunesのバラバラな音圧をきれいに整えて出力してくれるので、音量をいちいち気にすることなくストレスフリーな音環境に。

お金があれば迷わずL3なんだけど、貯金も含めてあまり手元に予算がないものとしてはOzone 3かなぁ。Maxmizer以外にも、パラEQ、マスターリバーブ、マルチバンドコンプ、ハーモニックエキサイタ、マルチバンドステレオイメージングと機能的にはかなり豊富で、マスタリング用のツールが一通りそろってしまう。安くて多機能だけど音は結構いいんで、購入するにはかなりお得かも。でも、iTunesの出力のためだけにはかなり贅沢か?(^^;)

さて、経理と相談してくるか...。

twitter

ウェブページ

Powered by Movable Type 4.261
Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。