タグ別アーカイブ: twitter

RAIN TOWER IV ベータ版テストの感想と今後のToDo

Twitterの投稿(Tweet)から操作することにより、世界中の誰でもが同時に演奏に参加できる音楽を作曲していることは前回の記事で書いた。僕はこの作品を「RAIN TOWER IV」と名付け、開発中のベータ版テストとして2010年3月27日、午前1時〜3時にかけて事前予告無しにUSTREAM上に音楽を配信し、Twitter上で参加を募った。その結果、深夜であるにも関わらず10人以上のTwitterユーザーに積極的に演奏に参加してもらうことができ、USTREAM上での視聴も常に20人近くに上った。

その1時間50分に及ぶ公開演奏の最後の10分をUSTREAMで録画している。

画面にはSuperColliderのウィンドウが表示されている。後ろのウィンドウにはtweetを受信するたびに処理が行なわれたことを示す表示が現れる。前のウィンドウには、僕がTLを読んで反応したことを書き込んだりしている。

まぁ実際、あとから録音した音楽を聴いても全然、面白くない。しかし、再生しても面白くない音楽を面白く聴ける手段があるのだとすれば、これまで面白くないと切り捨てられていた荒野に無限の可能性が広がっていると言えないだろうか!わくわくしますね!

続きを読む RAIN TOWER IV ベータ版テストの感想と今後のToDo

Twitterアカウントで演奏に参加できるミニマル・ミュージックを作る実験、経過報告。

TwitterとUSTREAMの組み合わせの強力さに大きな可能性があることは、おそらくたくさんの人が感じていると思う。DOMMUNEを代表格として、音楽を配信することも多く行なわれるようになった。僕は個人的に「複数の人数で自由に参加できる音楽」というものをずっと研究して来たので、このTwitterとUSTREAMの登場にはまさに心が躍った!

そして、ある程度の完成度に達しながらも不満の残った前作「rain tower 3」の次のバージョンとして、現在「RAIN TOWER IV」という作品を開発している。

では前作のrain tower 3は何がダメだったか。それは参加する際の敷居の高さであった。

参加型音楽だからこその問題とは。

2006年のインターカレッジ・コンピュータ音楽コンサートで発表したrain tower 3は、ドラムマシンのようなシーケンサ状のGUIを複数人数で共有し、リズムパターンを変えたり、エフェクトをかけたりして遊ぶ音楽として設計された。当然、参加者が行なったGUIに対する操作をどうやって音楽に反映させるか、そして共有している音楽をどうやって参加者全員に配信するかと言う問題が発生する。

rain tower 3では、参加者が行なった操作をOSCメッセージ[1]としてホストコンピュータに集約し、参加者全員に再配信するという方法をとっている。しかし、これには参加者がまずホストコンピュータにログインすることが必要で、そのためにはまずSuperColliderとログイン用のプログラムをインストールする必要があり、さらに自分のマシンのIPアドレスを調べる必要があった。これは非常に敷居が高いと言わざるを得ない。演奏を行なう際はほぼ必ず、開発者の僕が参加者のマシンへのインストールをサポートする必要があった。これは無様だ。

このダメダメな作品を改善すべく、ログイン周りのプログラムの書き直しと簡単なチャットシステムをSuperColliderで書き進めていたのだが、ある日突然、そんなことをする気持ちが完全に失せた。もちろん、Twitterの存在を知ったからである。Twitterを、オープンなメッセージ送受信プラットフォームとして使用すれば、わざわざ新しいアプリケーションを参加者にインストールしてもらう必要は無い。また、多人数で音楽を共有する手段も、USTREAMの登場によって解決された。いやー、実にいい時代ですね!

しかし、TwitterとUSTREAMというツールを使うことにより、新たな問題も発生させた。昨年12月に行なった最初の実験でも明らかになった問題点は以下の3点だ。

1. GUIが使えない。

もちろん、この作品専用のGUIを開発してもいいのだが、敷居を下げるというコンセプトには合わない。できれば、誰もが普段使っているTwitterクライアントでも参加できるのが望ましい。となると、どういう方法で参加すれば良いか。

とりあえず、音楽に反映されるまでの時間のダイナミックさを損なわないよう、短いコマンドと数値の組み合わせをツイートするという手段をとることにした。これに関しては色んなアプローチがあると思うので、いいアイディアを探しているところだ。

2. タイムラグが大きい。

SuperColliderでOSCをやり取りする場合、高速なUDP/IP通信を用いるため、タイムラグはほとんど問題にならなかった。しかし、Twitterではそうはいかない。通信プロトコル以前にツイートしてから検索結果に反映されるまで、どうしても数秒のタイムラグは発生してしまう。また、Twitter APIへのリクエスト回数も、Twitterは明らかにしていないが制限があると思われるので、1秒間に何回もリクエストするわけにはいかない。さらに、USTREAMでもタイムラグは存在するので、結局ツイートしてから音楽に反映されるまで10秒以上かかってしまう。

この問題に関しては、タイムラグがあっても構わない方法を探るほかない。また、よりリアルタイムに近い検索を可能にするTwitter Streaming APIの実用化も探っている。

3. 音質が低い。

ユーザーのマシンにアプリケーションをインストールし、そのアプリケーションが音楽を再生する場合はもちろん音質は問題ない。しかし、USTREAMでの配信では限界がある。

この問題に関しても、USTREAMを使うということは、モバイル機器からでも参加可能な音楽になるということで、高音質が前提の音楽では似合わないだろう。ふさわしい音楽にするしかない。

で、やってみた。

以上の問題を踏まえて、バージョンアップしたRAIN TOWER IVのベータテストを2010年3月27日、午前1時〜3時にかけて行なった。のだが、長くなってしまったのでこの詳細については次の記事でご報告したい。


[1] 音響合成のためのプログラミング言語「SuperCollider」はマシン上のサーバーに対してメッセージを送り、サーバーがそのメッセージを処理して音を発すると言う特殊な仕組みを採用している。ローカルマシン上のサーバーだけでなく、Open Sound Control(OSC)というプロトコルにより、ネットワークを介して他のマシンのSuperColliderサーバーに対してもローカルマシンと同様にメッセージを送信することができる。

Twitterの画面がハッキングされた!? #javascript

Twitterのタイムライン(ホーム)を改造して遊ぶJavascriptを作ってみました。いつも見ている見慣れたTwitterの画面が大変なことに!?

あそびかた

  1. このリンクをツールバーなどにドラッグしてブックマーク保存してください。
  2. Twitterに移動してログインしましょう。
  3. Twitterのホームが表示された状態で、保存したブックマークを選択すると、左上に小さなメニューが表示されます。
    faulttersample
  4. 「no1: don’t mouseover!」というリンクをクリックすると、Twitterの画面に変化が起きて面白いことが起こります!

※実際にハッキングしたりデータを書き換えたりはしていません。表示をちょこっといじっているだけなので心配しないでくださいね。

※FirefoxとSafariでは動作確認済み

いろいろ追加していこうかなとおもってます 😈

TweetToOSC 0.1 – Twitterからメッセージを取得しOSCとしてSuperColliderに送るアプリ

Twitterの検索結果を取得し、OSCメッセージとしてSuperColliderに送るアプリケーションです。Xcodeで作った始めての(サンプルを含めても2つめの)プログラムなので、あちこちおかしいところがありそうなのですが、とりあえず動いていますので公開します。アプリケーション名も仮なので、なにか分かりやすい名前はないかと思案中です。

使ってみていただけましたら、ぜひコメントをお寄せください! TwitterとSuperColliderの連携の可能性を一緒に考えてみませんか!?
その他、バグ報告や機能要望もお待ちしております!

何をするアプリケーション?

  1. 指定した検索ワード(ハッシュタグが使いやすいでしょう)をTwitter検索APIにリクエストし、検索結果を取得します。
  2. 取得したメッセージごとに中身をスペースで分割し、検索ワードを除いた先頭から3つの単語をOSCメッセージとしてSuperColliderに送信します。
  3. この処理を、指定した秒数ごとに繰り返します。

動作環境

MacOS 10.4.11で動作確認済み。大量の検索結果が存在する検索語だとおかしくなる…かも…。

gettweets使い方

検索語(Search Query)と取得間隔(Time Interval)の秒数を入力し、Startボタンを押すと開始します。
検索語は半角英数のみ、取得間隔は数字でお願いします。

Newest Status ID: 取得している最新のつぶやきのID
Total Tweet: 取得したつぶやきの総数
Message: エラーメッセージなど

SuperCollider側では

(
// register to receive this message
a = OSCresponder(nil,"/twittosc",{ arg time,responder,msg;
	msg.postln;
	// ここに処理を書く
}).add;
)

ダウンロード: TweetToOSC 0.1

2010.11.29追記:MacOS10.6で動くバージョンを公開しました

関連記事:Twitterとリアルタイムウェブがもたらす、新しい音楽の可能性の予感

SuperColliderのネタ探し中

Twitterで音楽を奏でる!というのを研究してるんだけど、方向性に行き詰まってsupercollider.jpの過去ログをだらだら見ていたらL-systemの話題があった。otophiliaさんの話題はいつも高度だ。
L-system Base

短い文字列を再帰的に処理して複雑にするという意味では、Twitterから取得できるのは「短い文字列」だから面白いかもしれない。でもこれを耳で聴いて理解するには聴音能力が必要で一般の人には分かりづらいから今回は見送る…
だれでも参加できるというコンセプトのためには、分かりやすい必要がある。しかも、1分くらい遅れて反映されても分かる変化が…色々悩んでいます。

しかし、imoutoid = otophiliaのコードを音にして公開したら需要あるのかな?
ジムノペディのコード・リミックスと、Demand UGenを試してみたコード、ACIDサウンドに挑戦したコードの3つくらいが、かろうじてまだ実行できるみたい。

彼の代名詞とも思ってた実行コード中の変数をぐりぐり変化させるという変態コードのotophiliaNumModifierは、もう今のバージョンのSCでは使えないみたいだし。