Device09 線画で電子音を奏でるLOOP MAKER by Takayuki Nakamura
常にテンポ同期し16分音符で発音
私がMaxを使って本格的にプログラミングを始めたのは、2011年8月にオープンしたお台場の日本科学未来館の「アナグラのうた」という空間情報科学の展示のサウンド制作を担当させていただいてからです。この展示では12台のスピーカーの音量コントロールや、ボーカロイドの歌と伴奏の同期、OSCを使った映像との同期、場内の効果音の制御などをすべてMaxを使ってプログラムしています。それ以前もMaxを使ったプログラミングは行っていたのですが、このプロジェクト以降はスタンドアローンのアプリを制作しMac App Storeで販売するなど、Maxを使ったプログラミングにどっぷりはまっています。
さて今回紹介するのは、この記事用に作った“LOOP MAKER”というパッチです。
大きな四角の“lcd”オブジェクトの中でマウスをクリックしながら線を描くと発音し、上下で音程、左右でフィルターの周波数の値をコントロールできる仕様になっています。エンベロープやディレイの長さ、フィードバック、フィルターなどパラメーターのすべてがよくある仕組みなので、すぐに理解できるかと思います。音は常にテンポに同期し、16分音符のタイミングで発音するようになっています。
パッチの構造
テンポをパッチ内でコントロールするのに“transport”オブジェクトを使っていますが、このオブジェクトで“@name”を指定すると、同じ名前のすべての“metro”オブジェクトを同期させることができます。この際“metro”の“bang”のタイミングも時間指定ではなく、それぞれ4/8/16分音符でタイミングを指定することが可能になります。さらに音程は指定したスケール内の音だけを発音するようになっています。さまざまなスケールやコードが“umenu”で選べるようになっていますが、実はこの部分、「Graph Arpeggiator 3 Synth」という僕の作ったサウンド・アプリのアルゴリズムを、そのまま使っています。
サブパッチの“make_scale_pat”の中を見ると、“coll”を使ってスケール・テーブルを作り、そこから参照してノートの値を呼びだしている仕組みが見られると思います。僕はこうしたテーブルやテキスト・ファイルから値を参照するアルゴリズムをMaxでよく使います。
マウスの座標の値は“scale”というオブジェクトを使って、音程やフィルターの値に変換しています。このオブジェクトは参照した値の幅を簡単に欲しい値幅に変えてくれて、数式などを考える必要がないので大変便利です。
lcdの下には、“start”“reverse”“stop”という3つのボタンがありますが、試しにstartボタンを押してから発音させてみてください。すると直前に演奏していた音を録音し、ループ再生しながら演奏できるようになります。ループ再生する長さは1小節です。テンポから計算し“buffer”オブジェクトの大きさを調整しています。lcdに描かれる線の長さもちょうど1小節分だったことに気付きましたか?
音源部は“poly~”オブジェクトで、“OSC_d”という名前の別のパッチになっています。“rect~”オブジェクトを使った、極めてシンプルなpulse波形の音源です。このオブジェクトを変更するだけで簡単にサウンドを変えることができるので、ぜひ試してみてください。
さて、この“LOOP MAKER”の制作時間は、およそ半日ぐらいでした。パッチの中のさまざまな機能は、これまで僕が作ってきたアプリの流用なので、簡単に組み上げることができるのです。視覚的にプログラムの構造が理解できるのは、Maxの最大の魅力だと思います。思ったサウンドにたどりつくためには、まずはアイディアと、後は線をつないでトライ・アンド・エラーの繰り返しが必要です。無料のRuntimeを使って楽しむこともできますが、できればパッチを改造しまくって遊んでみてください。改造したらぜひ教えてくださいね。
ファイルをダウンロードする(LOOP_MAKER_SR.maxpat.zip)
Takayuki Nakamura
【Profile】日本科学未来館の「アナグラのうた」の楽曲やサウンド・システムを担当し、Maxを利用した「Nagi」「Graph Arpeggiator」といったサウンドアプリの制作や販売も行っている。過去にはさまざまなゲームのサウンドを制作を手掛け、多くの作品と実績を持つ。あらゆるメディアとプラットフォームに音を提供する異色のサウンド・デザイナーである。最新アルバム「Who will leave this land」がiTunes Storeにて発売中 @nakataka
CYCLING '74 MaxはMI7 STOREでオーダー可能