Max/MSPによるオーディオプログラミング

提供:kuhalaboWiki
(版間での差分)
移動: 案内, 検索
(マウスの値をシンセに入力)
(色の検出)
 
(1人の利用者による、間の78版が非表示)
1行: 1行:
 +
== 音の物理的3要素 ==
 +
通常、音の3要素とは、「高さ、強さ、音色」であるが、ここでは、「音色」の代わりに「長さ」を考慮する。
 +
 +
;高さ
 +
: 周波数, 音高
 +
;強さ
 +
: 音量, ボリューム
 +
;長さ
 +
: 時間, 空間
 +
 
== オシレータ ==
 
== オシレータ ==
 +
*発振器のこと。振動を発生させる器械のこと。
 
* サイン波 cycle~, ノコギリ波 phasor~
 
* サイン波 cycle~, ノコギリ波 phasor~
 
* 周波数
 
* 周波数
* adc~ dac~
+
* adc~(マイク) dac~(スピーカー)
* 音量操作
+
** a : アナログ:空気の振動
 +
** d : デジタル:PCの中の数値
 +
** c : コンバート
 +
 
 +
* 音量操作 *~
 +
* 加算合成 +~
 +
 
 +
複数の周波数を足していくと、波形が変わっリ、音色が変わる。
  
 
[[ファイル:Sinwav.png]]
 
[[ファイル:Sinwav.png]]
 
 
* line~によるなめらかな変化
 
* line~によるなめらかな変化
 
 
[[ファイル:Sinline.png]]
 
[[ファイル:Sinline.png]]
 
 
 
* MIDIのpitchを周波数に変換 mtof~  
 
* MIDIのpitchを周波数に変換 mtof~  
 
 
[[ファイル:Sinemix.png]]
 
[[ファイル:Sinemix.png]]
  
22行: 35行:
 
* 演算子(「*」 や「+」)の位置は、オシレータ(cycle~)の前か後のどちらか?。
 
* 演算子(「*」 や「+」)の位置は、オシレータ(cycle~)の前か後のどちらか?。
  
;AM (Amplitude Modulation)合成
+
=== AM (Amplitude Modulation)合成 ===
* 波形('''シグナル''')を乗算する
+
* 波形('''シグナル''')を乗算(掛け算)する
 
* 波形の振り幅が変わる。すなわち、音量が変わる。
 
* 波形の振り幅が変わる。すなわち、音量が変わる。
 
** トレモロ効果
 
** トレモロ効果
31行: 44行:
  
  
;FM (Frequency Modulation) 合成
+
=== FM (Frequency Modulation)合成 ===
* 周波数('''数値メッセージ''')を加算する
+
* 周波数('''数値メッセージ''')を加算(足し算)する
 
* 波形の周波数が変わる。すなわち、音高が変わる。
 
* 波形の周波数が変わる。すなわち、音高が変わる。
 
** ビブラート効果
 
** ビブラート効果
42行: 55行:
 
*時間軸における音量変化。楽器ごとに個性がある。
 
*時間軸における音量変化。楽器ごとに個性がある。
 
*ピアノ、ギターなどはアタックが早く立ち上がるが、ストリングスはアタックがゆっくり立ち上がる。
 
*ピアノ、ギターなどはアタックが早く立ち上がるが、ストリングスはアタックがゆっくり立ち上がる。
 +
* Maxではfunctionパッチを使って、音量変化を描く。
 +
** クリックで点が増える。シフトクリックで点を消す。
  
 
[[ファイル:05-03-30envelope.png]]
 
[[ファイル:05-03-30envelope.png]]
92行: 107行:
 
[[ファイル:05-12-10Chorus.png]]
 
[[ファイル:05-12-10Chorus.png]]
  
=== マウスの値をシンセに入力 ===
+
== マウスを使ったインタラクション ==
 +
;世界初の電子楽器 '''テルミン'''
 +
* [https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%AB%E3%83%9F%E3%83%B3 テルミン]
 +
* テルミン https://www.mandarinelectron.com/theremin/
 +
* [https://www.youtube.com/watch?v=e6bSRcRAhnc Don't Worry, Be Happy on theremin]
 +
* [http://www.thereminworld.com/Article/14129/moog-music-introduces-polyphonic-theremin Moog Music Introduces Polyphonic Theremin]
 +
=== マウステルミン ===
 +
==== マウスの値をシンセに入力 ====
 
;mousestatでマウスの位置と速度の値を取得し、アナログシンセの変数に入力
 
;mousestatでマウスの位置と速度の値を取得し、アナログシンセの変数に入力
 +
*マウスのボタンのON/OF
 +
*マウス位置のx座標
 +
*マウス位置のy座標
 +
*マウス速度のx成分
 +
*マウス速度のy成分
  
 
[[ファイル:Synth20131210v1s.png]]
 
[[ファイル:Synth20131210v1s.png]]
  
;zmapを使って値を変換
+
==== zmapを使って値を変換 ====
  
[[ファイル:Zmap.png]]
+
*AからBに変化する値を、XからYに変化する値に変換する。
 
+
== Tips ==
+
=== 日本語フォントの文字化け対策 ===
+
Macintoshで書かれたMaxパッチの日本語コメントは,Osakaフォントであることが多く、Windowsでは文字化けする。対処方法は以下のとおり。
+
* 各コメントを選んで,適当なWindowsのフォント(例:MS Pゴシック)を指定。
+
*Maxをインストールしたフォルダ内の[Cyclin'74]フォルダ内の[init]フォルダにある'''max-fontmappings.txt'''に以下の一文を追加して、フォントを一括置換。
+
 
<pre>
 
<pre>
max system windows genericfontmap Osaka "MS Pゴシック";
+
zmap A B X Y
 +
</pre>
 +
*0から255に変化する値を、0.0から1.0に変化する値に変換する。
 +
<pre>
 +
zmap 0 255 0. 1.
 
</pre>
 
</pre>
 +
 +
[[ファイル:Zmap.png]]
 +
 +
[[ファイル:Zmap2.png]]
 +
 +
;FM合成とAM合成のパラメータをマウスの状態から入手
 +
 +
[[ファイル:MouseTerumin02.png]]
 +
 +
=== キーボードのキーの値を取得 ===
 +
 +
* key
 +
**キーのアスキーコードを整数で取得する。
 +
 +
== カメラ入力を使ったインタラクション ==
 +
=== 動き検出 ===
 +
#jit.grabを使ってカメラ画像を取得。qmetroでサンプリング間隔を指定。
 +
#jit rgb2lumaを使ってカラーをモノクロに変換。
 +
#t l l (triger list list)を使って、動画のフレームデータの連続したリストを得て、順番を入れ替える。
 +
#jit.opのabsdiff(差の絶対値)を使って、2つのフレームの差分をとる。'''動きが検出される'''
 +
#jit.3mで差分の平均と最大値を取得し、diff_meanとdiff_maxに送信
 +
 +
[[ファイル:Camera_diff01.jpg|600px]]
 +
 +
;検出された動きの平均値と最大値からアナログシンセで音を生成する。
 +
# diff_maxとdiff_meanを受け取り、
 +
# zmapで値を変換して
 +
# オシレータとLFOの周波数に入力している
 +
 +
[[ファイル:Camera_diff2synth.jpg|600px]]
 +
 +
 +
=== 色の検出 ===
 +
 +
# '''jit.findbounds'''で、画像の中の特定の色を検出して、その領域を含む矩形の座標を得る。
 +
# '''jit.lcd'''で、得られた矩形を囲う長方形を描く。
 +
 +
下記の例では、赤色の部分を検出し、面積を計算している。
 +
 +
[[ファイル:Color_detect_maxpat.png|600px]]
 +
 +
* 座標は、x軸が右向き、y軸が下向き。
 +
* 得られる座標は、左上と右下。対角線上の頂点。
 +
 +
[[ファイル:Zahyou.jpg|300px]]
 +
 +
;検出された色からFM合成で音を生成する。
 +
# 赤色を検出し、赤の領域の面積を求める、
 +
# FM合成のキャリア周波数に面積に基づいていられた値を入力。
 +
 +
[[ファイル:Color_detect_synth_maxpat.png|900px]]
  
 
== 参考リンク ==
 
== 参考リンク ==
*[http://www.sonasphere.com/max/ はじめてのMax/MSP(徳井直生)]
+
*[http://www.kuhalabo.net/~kuha/nime/wiimu/ Wiiを使ったライブ演奏ムービの例]:遠藤綾香氏の作品例([http://nime2008.casapaganini.org/ NIME2008]に出展)
** 徳井先生は、メディアアート表現学科3年後期[http://www.t-kougei.ac.jp/arts/subject/subject1_602.html サウンドデザイン]も担当しています。お奨め講義です。
+
*[http://www.media.t-kougei.ac.jp/wiimu/ Wiiを使ったライブ演奏ムービの例]:遠藤綾香氏の作品例([http://nime2008.casapaganini.org/ NIME2008]に出展)
+
*[http://www2u.biglobe.ne.jp/~macopism/ MACOPISM] 音が可視化されており操作できる作品。黒バックのグラフィックはどれも鮮やかな色で、音に反応していくので、音が光っているように感じる
+
*[http://www.dvd-3.com/ d.v.d] d(ドラム)+v(ヴィジュアル)+d(ドラム)という形態で、映像とドラムを融合させたパフォーマンスを展開するオーディオ・ヴィジュアル”ユニット
+
 
* Chikashi Miyama: "Angry Sparrow"  http://www.youtube.com/watch?v=6U-TVZDaryE
 
* Chikashi Miyama: "Angry Sparrow"  http://www.youtube.com/watch?v=6U-TVZDaryE
  
 
== 関連項目 ==
 
== 関連項目 ==
* [http://cb6.media.t-kougei.ac.jp/cgi-bin/ag.cgi?page=FileIndex&fCID=73499 久原研サンプルパッチ]
+
 
 +
== 参考 ==
 +
[[作曲演習]]
  
 
[[Category:授業|授業]]
 
[[Category:授業|授業]]

2024年8月28日 (水) 01:53時点における最新版

目次

[編集] 音の物理的3要素

通常、音の3要素とは、「高さ、強さ、音色」であるが、ここでは、「音色」の代わりに「長さ」を考慮する。

高さ
周波数, 音高
強さ
音量, ボリューム
長さ
時間, 空間

[編集] オシレータ

  • 発振器のこと。振動を発生させる器械のこと。
  • サイン波 cycle~, ノコギリ波 phasor~
  • 周波数
  • adc~(マイク) dac~(スピーカー)
    • a : アナログ:空気の振動
    • d : デジタル:PCの中の数値
    • c : コンバート
  • 音量操作 *~
  • 加算合成 +~

複数の周波数を足していくと、波形が変わっリ、音色が変わる。

Sinwav.png

  • line~によるなめらかな変化

Sinline.png

  • MIDIのpitchを周波数に変換 mtof~

Sinemix.png

[編集] LFO

Low Frequency Oscillator(低周波発振器)
  • LFOで、音源オシレータにモジュレーション(変調)をかける。
  • AMとFMの違い
  • 演算子(「*」 や「+」)の位置は、オシレータ(cycle~)の前か後のどちらか?。

[編集] AM (Amplitude Modulation)合成

  • 波形(シグナル)を乗算(掛け算)する
  • 波形の振り幅が変わる。すなわち、音量が変わる。
    • トレモロ効果
    • 振り幅変化の周期と深さを変える。

05-07-01amSynth.png


[編集] FM (Frequency Modulation)合成

  • 周波数(数値メッセージ)を加算(足し算)する
  • 波形の周波数が変わる。すなわち、音高が変わる。
    • ビブラート効果
    • 周波数変化の周期と深さを変える。

05-08-01 fmSynth.png

[編集] Envelope(エンベロープ)

  • 時間軸における音量変化。楽器ごとに個性がある。
  • ピアノ、ギターなどはアタックが早く立ち上がるが、ストリングスはアタックがゆっくり立ち上がる。
  • Maxではfunctionパッチを使って、音量変化を描く。
    • クリックで点が増える。シフトクリックで点を消す。

05-03-30envelope.png

[編集] フィルター

  • 特定の周波数帯域をカットする。つまり、特定の周波数帯域のみを通す(パスする)。
    • lowpass (highcut)
    • hightpass (lowcut)
    • bandpass
    • bandstop
  • 周波数構成が変わるので、音質が変わる。
  • イコライザーの一種
  • Max/MSPでは、biquad~とfiltergraph~を使う。

05-03-33filters.png

フィルターを実装したパッチの例

05-03-34filter.png

[編集] ディレイ Delay

  • 原音を時間を遅らせて再生する。エコー、やまびこ効果のこと。
  • 耳に聞こえてくる音は、原音以外に、壁や天井から跳ね返ってくる反響音が必ず含まれている。
  • Max/MSPでは、tapin~とtapout~を使う。

[編集] 基本的なディレイ

05-12-01BasicDelay1.png

  • 原音を dry ディレイ音を wet と呼ぶ。

[編集] dry, wetをLRに分配

05-12-01BasicDelay2.png

[編集] delayを入力に戻す(FeedBack)

05-12-04DelayFeedBack.png

[編集] delayタイムの異なる複数種類のwetを合成

05-12-02DelayMulti.png

  • Reverb : 原音に余韻,残響感を付加する。Delayの集合体。

[編集] Delayの応用エフェクト

delayタイムに手動で変化を加えて、ディレイ音を揺らがせる。

05-12-06DelayYuragi.png

delayタイムにLFOで変化を加えて、ディレイ音を揺らがせる。
  • Chorus : Delay音が弱め。Feedbackが少なめ。
  • Flanger : Delay音が強め。Feedbackが多め。

05-12-10Chorus.png

[編集] マウスを使ったインタラクション

世界初の電子楽器 テルミン

[編集] マウステルミン

[編集] マウスの値をシンセに入力

mousestatでマウスの位置と速度の値を取得し、アナログシンセの変数に入力
  • マウスのボタンのON/OF
  • マウス位置のx座標
  • マウス位置のy座標
  • マウス速度のx成分
  • マウス速度のy成分

Synth20131210v1s.png

[編集] zmapを使って値を変換

  • AからBに変化する値を、XからYに変化する値に変換する。
zmap A B X Y
  • 0から255に変化する値を、0.0から1.0に変化する値に変換する。
zmap 0 255 0. 1.

Zmap.png

Zmap2.png

FM合成とAM合成のパラメータをマウスの状態から入手

MouseTerumin02.png

[編集] キーボードのキーの値を取得

  • key
    • キーのアスキーコードを整数で取得する。

[編集] カメラ入力を使ったインタラクション

[編集] 動き検出

  1. jit.grabを使ってカメラ画像を取得。qmetroでサンプリング間隔を指定。
  2. jit rgb2lumaを使ってカラーをモノクロに変換。
  3. t l l (triger list list)を使って、動画のフレームデータの連続したリストを得て、順番を入れ替える。
  4. jit.opのabsdiff(差の絶対値)を使って、2つのフレームの差分をとる。動きが検出される
  5. jit.3mで差分の平均と最大値を取得し、diff_meanとdiff_maxに送信

Camera diff01.jpg

検出された動きの平均値と最大値からアナログシンセで音を生成する。
  1. diff_maxとdiff_meanを受け取り、
  2. zmapで値を変換して
  3. オシレータとLFOの周波数に入力している

Camera diff2synth.jpg


[編集] 色の検出

  1. jit.findboundsで、画像の中の特定の色を検出して、その領域を含む矩形の座標を得る。
  2. jit.lcdで、得られた矩形を囲う長方形を描く。

下記の例では、赤色の部分を検出し、面積を計算している。

Color detect maxpat.png

  • 座標は、x軸が右向き、y軸が下向き。
  • 得られる座標は、左上と右下。対角線上の頂点。

Zahyou.jpg

検出された色からFM合成で音を生成する。
  1. 赤色を検出し、赤の領域の面積を求める、
  2. FM合成のキャリア周波数に面積に基づいていられた値を入力。

Color detect synth maxpat.png

[編集] 参考リンク

[編集] 関連項目

[編集] 参考

作曲演習

個人用ツール
名前空間

変種
操作
案内
ツールボックス