Max/MSPによるMIDIプログラミング
提供:kuhalaboWiki
				
								
				
				
																
				
				
								
				目次 | 
概要
- MIDIデータを自由にプログラミングし、音楽を自動生成させる。
 - キーボード、マウス、MIDIコントローラから情報を取得する。
 - MIDIコントローラからの入力をプログラミングし、リアルタイムに音楽演奏を変化させる。
 
-  工芸大図書館蔵書検索
- トランスMaxエクスプレス
 - 前の版。プログラミングの手法、MIDI処理、オーディオ処理までなら、大体同じ。映像処理Jitterの記述がない。
 - 2061:Maxオデッセイ
 
 
- 課題
 - 上記のテクニックを利用して、Interactive and Algorithmic Live Music Composition Systemを作成する。
 
ノート
- パッチ notein, noteout, makenote, stripnote, flush, sustain
 - 値 pitch, velocity, channel, duration
 -  note on とnote offの関連を理解する。 
- note offは,velocity の値が 0 の note on のこと。
 
 - channel 10 はドラムセット
 
プログラムチェンジ
-  パッチ pgmin, pgmout
- pgmout 楽器番号とチャネルを指定する。
 
 
- 楽器番号, channel
 - 楽器リスト
 
-  音色(program) 1番から128番までの128種類 (0番-127番のこともある)
- GM規格音色リスト( Program Number 0-127 )
 - GM規格音色リスト( Program Number 1-128 )
 - GM規格ドラムマップ( Note Number Channel 10 )
 
 
-  楽器は発音メカニズムによって大きく2つに分類できる。
-  減衰振動系
- Note ON時に瞬時に音量が立ち上がり、Note OFFがなくても、やがて音が減衰して消える。
 - ピアノ、ギター、ハープ、シロフォン、打楽器など。
 
 -  自励振動系
- Note ONから徐々に音量が立ち上がり、Note OFFがくるまで音が持続して鳴り続ける。
 - オルガン、バイオリン、クラリネット、サックス、トランペットなど。
 
 
 -  減衰振動系
 
時間制御
- パッチ metro, tempo, delay, pipe
 
ランダム
- パッチ random, drunk, decide
 
算術演算
- パッチ + - * / % mod
 
コントロールチェンジ
- パッチ ctlin, ctlout
 - コントロール値, コントロール番号, channel
 
ピッチベンド
- パッチ bendin, bendout
 - Pitch Bend値(–8192~8191), channel
 
ループカウント制御
- パッチ counter, uzi
 
条件分岐
- パッチ sel, route, switch, gate, if
 
キーボードとマウス
- パッチ key, mousestate
 
値の設定、プリセット
- パッチ loadbang 起動時に自動的にbangを発生させる。
 - パッチ preset 現パッチの数値、状態をボタンにセーブ(Shift+Click)、ロード(Click)ができる。
 
保存した値を呼び出して再生
- パッチ coll, table
 
マトリクス制御、スライダーなど
- matrixctrl, pictslider
 
MIDIシーケンス録音、再生
- パッチ seq, midiformat, midiin, midiout
 - MIDIメッセージをテキスト保存、再生
 
自動作曲パッチの例
- noteinからnote number, velocityを入力して、nouteoutに渡し、発音する。
 
- note ON(鍵盤を押す)とnote OFF(鍵盤を離す)に注意する。velocity の値が0の時、note OFF
 -  複数の数値を半角スペースで区切り、ひとまとめにして送ることができる。
- 複数の値をまとめたものをリストという。
 
 
- makenoutでnote OFFを自動で出力する。makenoteには、デフォルトのvelocityとduration(msec)を指定する。
 
- metroでビートを発生させる。
 - randomでランダムに数字を発生させる。ピッチを0-128の間でランダムに発音させている。
 - pgmoutで楽器を選択する。
 
- 算術演算子 + を使って、randomで発生させる数字を、調整している。
 
- channel 1とchannel 2 の2チャンネルでアンサンブルをする。
 -  s (send)と r (recieve)で変数を使い、数値を送受信(send recieve)している。
- 結線が複雑に絡み合うことを回避できる。
 
 - loadbangでプログラム起動時に自動的にbangを送り、チャネルの初期値を設定している。
 
- +演算子を使って、和音を発生させる。
 - pipeを使って、発音タイミングをずらす。
 
- selを使って、発音するピッチを特定のスケールに限定している。
 
- matrix controlを使って、発音ビートのタイミングを指定している。
 -  tempoを使って、ビートを発生させている。
- tempoは、(BPM, 倍数,単位音符)を引数として指定する。
 
 
- 複数行のmatrix controlを使用して、複数のビートパターンを指定している。
 - switchを使って、流れてくる信号の入り口を切り替えている。
 - randomで、信号の切り替えをランダムにしている。
 - unpackはリスト内の複数の数値をバラしている。
 
- switchを2つ使用し、1つをピッチのビート、もう1つをvelocityの強さの値を指定している。
 - loadbangで、ビートパターンの初期値を設定している。
 
オシレータ
- サイン波 cycle~, ノコギリ波 phasor~
 - 周波数
 - adc~ dac~
 - 音量操作
 
- line~によるなめらかな変化
 
- MIDIのpitchを周波数に変換 mtof~
 
LFO
- Low Frequency Oscillator(低周波発振器)
 
- LFOで、音源オシレータにモジュレーション(変調)をかける。
 - AMとFMの違い
 - 演算子(「*」 や「+」)の位置は、オシレータ(cycle~)の前か後のどちらか?。
 
- AM (Amplitude Modulation)合成
 
- 波形(シグナル)を乗算する
 -  波形の振り幅が変わる。すなわち、音量が変わる。
- トレモロ効果
 - 振り幅変化の周期と深さを変える。
 
 
- FM (Frequency Modulation) 合成
 
- 周波数(数値メッセージ)を加算する
 -  波形の周波数が変わる。すなわち、音高が変わる。
- ビブラート効果
 - 周波数変化の周期と深さを変える。
 
 
Envelope(エンベロープ)
- 時間軸における音量変化。楽器ごとに個性がある。
 - ピアノ、ギターなどはアタックが早く立ち上がるが、ストリングスはアタックがゆっくり立ち上がる。
 
フィルター
- 特定の周波数帯域をカットする。つまり、特定の周波数帯域のみを通す(パスする)。
- lowpass (highcut)
 - hightpass (lowcut)
 - bandpass
 - bandstop
 
 - 周波数構成が変わるので、音質が変わる。
 - イコライザーの一種
 - Max/MSPでは、biquad~とfiltergraph~を使う。
 
ディレイ
- 原音を時間を遅らせて再生する。エコー、やまびこ効果のこと。
 - 耳に聞こえてくる音は、原音以外に、壁や天井から跳ね返ってくる反響音が必ず含まれている。
 - Max/MSPでは、tapin~とtapout~を使う。
 
Tips
日本語フォントの文字化け対策
Macintoshで書かれたMaxパッチの日本語コメントは,Osakaフォントであることが多く、Windowsでは文字化けする。対処方法は以下のとおり。
- 各コメントを選んで,適当なWindowsのフォント(例:MS Pゴシック)を指定。
 - Maxをインストールしたフォルダ内の[Cyclin'74]フォルダ内の[init]フォルダにあるmax-fontmappings.txtに以下の一文を追加して、フォントを一括置換。
 
max system windows genericfontmap Osaka "MS Pゴシック";
参考リンク
- はじめてのMax/MSP(徳井直生)
- 徳井先生は、メディアアート表現学科3年後期サウンドデザインも担当しています。お奨め講義です。
 
 - Wiiを使ったライブ演奏ムービの例:遠藤綾香氏の作品例(NIME2008に出展)
 - MACOPISM 音が可視化されており操作できる作品。黒バックのグラフィックはどれも鮮やかな色で、音に反応していくので、音が光っているように感じる
 - d.v.d d(ドラム)+v(ヴィジュアル)+d(ドラム)という形態で、映像とドラムを融合させたパフォーマンスを展開するオーディオ・ヴィジュアル”ユニット
 - Chikashi Miyama: "Angry Sparrow" http://www.youtube.com/watch?v=6U-TVZDaryE
 
















