見出し画像

#4 Maxでプログラミングしてみよう | Max サウンドプログラミングの可能性

このシリーズでは、音楽や映像、アートやイベントなどいろんな分野で活用されているプログラミング環境「Max」を中心に、サウンドプログラミングについて紹介していきたいと思います。

今回は具体的に簡単なプログラムを作りながら、プログラミングの流れをさらってみたいと思います。

プログラミングの基本の流れ(おさらい)

#2でも述べましたが、大まかな流れは以下の通りです。

①パッチをアンロック状態にする
 ↓
②プログラミングをする
 ↓
③パッチをロック状態にする
 ↓
④数字やUIを動かす

ここからさらにステップを詳細にすると、

①起動する
 ↓
②新規ファイルを作る
 ↓
③パッチをアンロック状態にする
 ↓
④プログラミングをする
 ④-1 新しくオブジェクトを作る
 ④-2 オブジェクトを配置する
 ④-3 オブジェクト同士をつなぐ
 ↓
⑤パッチをロック状態にする
 ↓
⑥数字やUIを動かす

となります。

今回は音源ファイル(wav, aiffなど)を再生するプログラムを作ってみます。

プログラミング開始

オブジェクトの配置と接続

sfplay~という音源再生オブジェクトを使用し、プレイヤーを作ります。
新規オブジェクトを追加し(キーボードショートカット: n)、sfplay~ と入力します。
下の画像のsfplay~オブジェクト内の 2 という数字は出力のチャンネル数で、手動で設定してあげる必要があります。

メッセージオブジェクトを追加し(キーボードショートカット: m)、ファイルを開くための open というメッセージを入力します。

再生停止とシークバー機能のあるUIオブジェクト、playbar を追加します。
上部メニューから、または新規オブジェクトを追加し(キーボードショートカット: n)、playbar と入力します。

そして、こんなふうにつなぎます。

同様に、音量の上げ下げを行う live.gain~ オブジェクトと、音声出力をする ezdac~ オブジェクトを追加します。
上部のメニューから探すか、
新規Max for Liveオブジェクトを追加し(キーボードショートカット: l)、live.gain~という文字列を完成させ、入力します。
新規オブジェクトを追加し(キーボードショートカット: n)、ezdac~ と入力します。

下記画像のようにつなぎます。

動かしてみる

パッチをロック状態にし(MacではCommand + E、WIndowsではCtrl + E)、動かしてみます。

ezdac~をクリックしてオンにし、openで音源ファイルを選択します。
その後 playbar のプレイボタンをクリックすると、音が出るはずです。
※音が出ない場合は、アプリのメニューバーから option→Audio Status...を開き、オーディオデバイスが正しいものが選択されているかチェックしてください。

これで音源再生プログラムは完成しました。
さらに発展させてこのようにすると、右上のボタンをクリックするたびにランダムな位置から再生されるプログラムが作れます。
様々なアレンジをすると面白いです。

※補足
sfplay~オブジェクトは、ストレージから、対象の音源ファイルの単位時間分のデータをメモリに逐次持ってきて再生するタイプの音源再生オブジェクトです。音源ファイルのデータ全てをメモリ上に持ってくるタイプのプレイヤーは、メモリ確保オブジェクト buffer~ と、再生オブジェクト play~ や groove~ 等を使用することで実現できます。想定される動作を考慮し適切なオブジェクトを選択できると、より安定します。


Maxを用いて創られた音楽



田中文久 FUMIHISA TANAKA
ソニフィケーションアーティスト、サウンドプログラマー
東京芸術大学音楽環境創造科、同大学院修士課程修了。音楽に関する様々な技術やテクノロジーを駆使し、楽曲制作のみならず、空間へのアプローチや研究用途、最近では、あらゆるものを音に変換する「ソニフィケーション」を用いた制作・研究・開発等、音楽の新しい在り方を模索・提示している。


この記事が気に入ったらサポートをしてみませんか?