サウンド&ソフトウェアアート 2010
イントロダクション、Max/MSP Jitter入門
サンプルファイルのダウンロード
この授業で説明したプログラムは下記からダウンロードできます。
イントロダクション
この授業について
- 春学期の前期の第1クォーター(4月12日〜5月24日)に行います (授業回数は6回)
- 教室は206教室
- 選択必修
この授業の構成
- 全体の統括、久保田さん
- 月曜担当:田所 – 主にソフトウェアによる音響プログラミング(Max/MSP)担当
- 火曜担当:矢坂さん – 主にデバイス(Arduino)を使用したコントローラ制作を担当
最終的な目標
- オリジナル「楽器」を作る
- 物理的なコントローラをArduinoで制作
- ソフトウェアによる音響合成をMax/MSPで行う
- 最後の講評会では、自作楽器によるパフォーマンスを行います
月曜授業のおおまかなスケジュール
- 04/12:イントロダクション、Max/MSP入門
- 04/19:Max/MSPによる音響合成
- 04/26:Max/MSPによるサンプリング&プレイバック
- 05/10:インタフェイスについて、Max/MSPと外部デバイスの連携
- 05/17:個人制作プレゼンテーション
- 05/25 (※火曜日と統合):最終発表会 (自作楽器パフォーマンス)
Max/MSP Jitter入門
Max/MSP Jitterとは?
- Max/MSP Jitter:サンフランシスコのソフトウェア企業Cycling ’74が開発・保守している音楽とマルチメディア向けのグラフィカルな統合開発環境(ビジュアルプログラミング言語)
- Max:グラフィカルな音楽プログラミング言語
- MSP:MAXにデジタル信号処理(DSP)機能を追加 → 直接音響を生成、操作することを可能に
- Jitter:2D、3Dグラフィック、マトリクス操作を可能にするオブジェクト群 → 映像の生成、操作を可能にする
簡単な歴史
- 専用ハードウェアの自体 1:1981年、Miller PucketteがパリのIRCAMで、Sogitec 4X というデジタル音響処理専門のワークステーションをコントロールするために使用する専門のソフトウェア「Pathcer」として開発。
- 専用ハードウェアの時代 2:1991年、音響処理のための専用ボード、ISPW(IRCAM Signal Processing Workstation)+Max/FTSとして、NeXTコンピュータに移植される。しかし、その後NeXTがハードウェア事業から撤退。
- パーソナルな環境への移行 1:1991年 Macintosh版MAX – MIDIの処理を中心にした機能。DSP(デジタル信号処理)には未対応。
- パーソナルな環境への移行 2:1997年 MSP発売 – MaxにDSP機能を追加。Macintosh単体で音響生成が可能に。
- マルチメディアプログラミング環境へ:2002年 Jitter発売 – グラフィカルプラグラミングのためのオブジェクト群。
- 現在もバージョンアップをしながら開発は継続している。2010年4月現在の最新版はMax 5 (ver 5.1.3)。
Max/MSP Jitterの兄弟たち
- pd (PureData):Miller Pucketteが開発し、オープンソースプロジェクトとして発展。
- jMax (jMax Phoenix):IRCAMで開発された、Maxと類似したビジュアルプログラミング環境。
Max/MSPを利用した作品例
- Cycling ’74のProjectのページに大量の作品の実例が掲載されている
- Project 40: subcycle labs multi-touch performance engine – マルチタッチインタフェイスを使用したパフォーマンス
- Project 43: c74 / iPhone app – Max/MSPとiPhoneの連携
- Project 45: Antiphon – アルゴリズミックに音響と映像を生成
- Project 52: Tectonic – Earthquakes Generate Music in Realtime – 世界中の今の地震を検知し音響化
- Project 54: Laplace Tiger – ドラムの演奏と同期したライブエレクトロニクス、ライブビデオ作品
- Project 61: DELTA – 映像を解析して三角形の画像と音を生成
- その他にも、たくさんの興味深いプロジェクトが紹介されているので、各自で調べておくようにしてください
とりあえず起動してみる
- “MaxMSP.app”を起動する。
- 注意:“MaxMSP Runtime.app” ではないRuntimeは既にできあがったプログラム(パッチ)の実行専用、Runtimeはフリーでダウンロードできる。
Max/MSPの基本構成
- Maxウィンドウ:処理結果やエラーなどのテキスト情報を表示。
- Patcherウィンドウ:ここにプログラムを作成する。
- オブジェクトパレット:Patcherウィンドウの画面をダブルクリックすると出現。分野別に整理された「道具箱」のようなもの。
簡単なパッチを作成してみる
- 四則演算をするパッチ
オブジェクトの種類
- プログラムの処理をする単位
- Maxでは、このオブジェクトを接続していくことで、プログラムを構築していく
インレットとアウトレット
- 上についている「ポッチ」がインレット。オブジェクトに値を入力する。
- 下についている「ポッチ」がアウトレット。オブジェクトから値を出力する。
- 数値や信号などが、上から下に流れ落ちていくイメージ
インレットとアウトレット
音を出してみる
- Sin波を生成する簡単なパッチ(プログラム)を作成する
- 「cycle~」:Sin波の信号を生成するオブジェクト。オシレータ。
- 「dac~」:音を出力するオブジェクト。Digital Analog Converter
- cycle~ と dac~ を繋いでいるパッチケーブルが黄色と黒の縞模様になっているところに注目。この線の中にシグナル(つまり音響信号)が流れていることを表現している。
sin波を出力(※大音量で再生されるので、ボリュームに注意!!)
音程(周波数)を変化させる
- 方法1:「cycle~」の箱のなかに数値を直接記入する
- 方法2:「cycle~」の第1インレットに数値を入力する
周波数を変化させる
音量を変化させる – 音のかけ算
- 音量を調整するには? 全ての音の信号に一定の値をかけ算する
- 「*~」オブジェクト:シグナルのかけ算 (※単独の数値のかけ算「*」との違いに注意)
2つの音を混ぜる – 音の足し算
- 2つの音を混ぜるには、信号の足し算
- 「+~」オブジェクト:シグナルの足し算 (※単独の数値の足し算「+」との違いに注意)
- 複数のパッチケーブルを同じインレットに繋ぐことでも表現可能
音を見る
- 音の波形を表示してみる
- 「scope~」を使う
- scope~ オブジェクトを配置して接続した後、オブジェクトを右クリックして「Inspector」を選択
- Valueタブを選択。Buffer Sizeを100に、Buffers per pixelsを2に設定
宿題!!
- 来週までに以下のパッチを作成して発表する
- 課題:4つ以上のオシレータを用いたソフトウェア楽器(Max/MSPパッチ)をデザインせよ