2016年9月6日火曜日

Web Music Hackathon #5 @Tokyo に参加してきました

Web Music Hackathon #5 @Tokyo に参加してきました


少し前の話になりますが、2016/7/30 に Google の東京オフィスで開催された、Web Music ハッカソン #5 に参加してきました。Web のオーディオ関連技術(Web Audio API/Web MIDI API)を使って、面白いものを作ってみようというイベントで、今回で 5 回目になります。私は、このイベントの存在は知っていたのですが、参加するのははじめてでした。

今回のハッカソンでは、「DJ が活用できるツール」というテーマが設けられており、各チーム/個人がそのテーマのもと、一日中ハックを行いました。このイベントの前に、アイデアソン/チームビルディングイベントがあり、すでにチームを構成している参加者は、すぐにチーム開発を開始していました。私はチームビルディングイベントには参加せず、ハッカソンのみの参加でした。

ハッカソンで何を作ったか

このハッカソンイベントで、私は、Trend Sampler(トレンドサンプラー)という、ループサンプラーのようなものを作りました。Trend Sampler は、Google トレンドのキーワードを音声化し、それをステップシーケンサーでループ再生できるというものです。サンプラーといえば、一般的には、録音した(サンプリングした)サウンドを再生するツールですが、Trend Sampler は「インターネット上の話題をサンプリングする」というコンセプトで作ったサンプラーです。

インターネットの面白さは、毎日流れてくる情報が変化していること、また、ある時はその発信者にもなれるところです。Trend Sampler は、楽器の一種でありながら、毎日使える音源が変わり、そしてそれを自分ではコントロールできないところに、インターネットらしさを演出しています。演奏当日に何が出てくるかわからない臨場感を、DJ 側、観客側も味わえるのではないか、と期待しています。

ソースコードは GitHub で公開中ライブデモはこちらです。Mac の Node.js 上で動く Web サーバを起動すると、Google トレンドから最新のトレンドワードを取得し、say コマンドを使ってサウンド化します。Web ブラウザからサーバへアクセスすると、生成された音声データをダウンロードし、ステップシーケンサで設定したタイミングに合わせてサウンドを再生します。

いちおう、このイベントの趣旨でもあるシリアスな DJ プレイに使えるようにと、次のような工夫をしています。
  • Web MIDI API 経由で受信したリアルタイムメッセージ(スタート、ストップ、タイミングクロック)をもとに、再生を外部シーケンサと同期する。
  • クロック同期できない(できるけどめんどくさい)状況に備えてタップテンポで BPM 推定
  • 再生速度設定、再生開始サンプル位置設定で、音声の音素がビートにのるように調整可能(手動)
  • テンポディレイ(お約束)

結果

審査員のみなさまの審査により、発表した15チーム中、3位をいただきました。たぶん、Web Music Developers JP の河合さんがアメリカで買ってきてくれた、Google ロゴの入ったボトルをいただきました、ありがとうございます。プレゼンは機材トラブルであまり上手くいかずちと無念。やはり、音や映像を使ったプレゼンは、リハーサルが重要ですね。

他のチームの様子は、河合さんのレポートが詳しいです。上位入賞が個人ばかりになってしまったのは、今回のような短時間のハッカソンイベントだと仕方ないのかな、と思います。それでもチームで挑み、見事ハックを完成させた参加者のみなさんは、本当に凄いと思います。お疲れ様でした。

雑感

このようなイベントを通じて、Web Audio API / Web MIDI API の認知度があがり、たくさんのハッカーがアイデアを具現化するようになることで、より面白い世界になっていくことでしょう。W3C 標準化を目指している Web Audio API / Web MIDI API は、そんな世界で、音・音楽との重要な足がかりとして役目を果たすことになるだろうと考えています。




2016年8月21日日曜日

Maker Faire Tokyo 2016 出展しました

Maker Faire Tokyo 2016 へ出展しました


昨年に引き続き、奇楽堂さんとご一緒に、Maker Faire Tokyo 2016 へ出展してきました。奇楽堂&Company ブースでは、
  • 昨年に引き続き「Magic Flute」
  • 六角形のタッチインターフェイスを使った新作「ハニカムベル」
  • ハニカムベル専用の音色を搭載した FM 音源モジュール「Raspberry Op.4」
  • タッチセンサを使った MIDI 出力モジュール「Touch MIDI」
  • パンチカードを光学センサで読み取って曲を奏でる「手回し MIDI シーケンサ」
を展示しました。昨年は、Magic Flute と Magic Flute 用物理モデリング音源モジュールのみでしたので、ずいぶんと作品の数が増えました。奇楽堂さんは、今回、「Touch MIDI」のイベント頒布にも挑戦されていました。


反応は?

手回しMIDIシーケンサ
「手回し MIDI シーケンサ」は見た目のわかりやすさもあって、多くの方が立ち止まって見てくださいました。光る、音が出る、は、目を引くための常套手段ではありますが、そこに大げさな手(体)の動きが加わると、さらに面白がって見てもらえるようです。ただ、二日間のデモの間ずっとハンドルを回し続けていたため、イベントの終わった翌日はひどい筋肉痛となりました。もう少し展示品の配線の取り回しを改良して、自由に触ってもらう形の展示にすればよかったかな、と後悔しています。

手回し MIDI シーケンサは、そもそも、学研の『大人の科学』の付録「手回し鳥オルガン」を改造したものなのですが、この号が刊行された当時の同誌編集長が、偶然ブースに来られ、ご挨拶できたことも良い思い出となりました。来場者の方からは、「私も作ってみたい」という声が聞かれましたが、残念ながらこの号はもう絶版で筐体を手に入れることができず、同じものを再製作することはできません。この時期の大人の科学はどれも傑作なので、何かの形で再販されるといいですね。


Raspberry Op.4



もう一つ製作を担当したハニカムベル用音源モジュール「Raspberry Op.4」は、拙作の iOS アプリ「DXi FM synthesizer」の音源部分をそのまま移植して利用しています。ハニカムベル専用音色ということで、FM の抜けの良い綺麗なベル音色を基本とし、複数の音が重なっても倍音がぶつからないようにチューニングを施しました。4 オペレータ12ポリの音源で、内部 32bit 演算、2 倍オーバサンプリング (88.2kHz) でエイリアシングを抑制しています。手持ちの Raspberry Pi 2 ではこれくらいが限界というところでした。また、まだ音色エディタがないため、iOS アプリ上で音色を作った後、データを JSON 形式で出力して Raspberry Pi へ送っています。今は音色を選択するためのボタンがあるだけですが、いつか専用パネルを作って、本体だけでエディットできるようにしたいな、と思っています。

その他の写真

ご一緒した奇楽堂さんが TouchMIDI イベント頒布を行いました。
スイッチサイエンスでも販売中とのことです。
ハニカムベル


ハニカムベルと Raspberry Op.4

リンク