yoppa.org


immediate bitwave

サウンド&ソフトウェアアート 2010

Max/MSP入門2 – 様々な音響合成、サンプリング&プレイバック導入

サンプルファイルのダウンロード

解説で触れた全てのファイルはダウンロード可能です。以下のリンクからダウンロードしてください。

課題「4つ以上のオシレータを使用した楽器」のミニ講評回

  • 課題をB-labのファイルサーバにアップ
  • ひとりずつ、作成したパッチの簡単なデモ+解説をお願いします

パッチを便利にする工夫

GUI機能

  • Numberboxをマウスでドラッグして数値を変更することも可能だが、UIの使い易さとしては若干不親切
  • Max/MSPには、便利なGUIパーツが多数用意されている
  • 数値を設定 – diarl、slider、multiSlider
  • シグナルのゲイン(音量)の設定 – gain~
  • 鍵盤 – keybord
  • 複数の値を設定 – multiSlider
  • (x,y)平面にグラフを描いて、その値を記録 – function

GUI機能の使用例


dial sliderでオシレータの周波数を設定、gain~で音量を設定


keybordで音程を入力、functionでエンベロープ(音の時間的変化)を設定


multisliderで複数のオシレータの周波数と音量をコントロール

パラメータの記憶、preset

  • パフォーマンスの前に、大量のパラメータを設定していくのは大変
  • preset を使用することで、ナンバーボックスや slider や dial などの値を記憶することができる
  • パラメータを記憶させたくないオブジェクトには、preset の第3アウトレットの出力を入力する
  • shift + クリックで値を記憶、クリックで記憶した値に設定


multislider の例に preset 機能を付加

cycle~ 以外のオシレータ

  • rect~ – 矩形波
  • saw~ – ノコギリ波
  • try~ – 三角波
  • noise~ – ホワイトノイズ

シグナルのふりわけ

  • selector~


いろいろな波形のオシレータを切り替えて再生

左から、sin波、矩形波(パルス)、ノコギリ波、三角波

send と receive

  • パッチケーブルなしにメッセージをやりとりする
  • 送信側「s hoo」受信側「r hoo」※hooの部分は任意に名前をつける
  • シグナルの場合は、「send~ hoo」「receive~ hoo」


send と receive

サブパッチを使用する

  • 同じようなオブジェクトのブロックがくりかえし用いられている場合、サブパッチ化したほうがすっきりとまとまる
  • 「p patchname」というオブジェクトを作成し、ダブルクリックすると中にもうひとつパッチが出現する
  • サブパッチへの入力は「inlet」、サブパッチから出力は「outlet」


エンベロープ付きのオシレータをサブパッチ化する


サブパッチ「partial」

プレゼンテーションモード

  • プレゼンテーションモード – 選択したオブジェクトだけを画面上に残して、余計な部分は隠してしまうことができる
  • パッチをunlockして編集している状態で、オブジェクトを選択し、[option] + クリックでメニューを表示して、その中から”Add to Presentation” を選択
  • 画面下のPresentation Modeボタンを押すと、登録したオブジェクト以外は表示されなくなる
  • この状態で、表示されたオブジェクトを、自分の好きな場所に再配置することも可能
  • より洗練されたGUIを構築可能

エンベロープ付きのオシレータをサブパッチ化したものを、プレゼンテーションモード化

いろいろな音響合成の手法

加算合成

  • 音の足し算による合成
  • すべての周期のある波形は理論的にsin波とcos波の組み合わせで表現することができる → フーリエ級数展開
  • 歴史は古い – パイプオルガン、ハモンドオルガン
  • 倍音成分を多く含んだ複雑な音色は合成が困難
  • サブパッチの例で作成した cycle~ を足しあわせるサンプルが、まさに加算合成


パイプオルガン – 加算合成を利用した楽器


加算合成の例

減算合成:

  • 音の引き算による合成
  • 倍音成分をたくさん含んだ音(ノコギリ波、パルス波など)もしくはノイズを、フィルタで削っていく
  • アナログシンセサイザーの多くは、減算合成を使用
  • 比較的に、直感的な音作りが可能


Moogシンセサイザ – 減算合成方式を使用


減算合成の例

変調合成1:音量の変調 – AM (Amplitude Modulation)、RM (Ring Modulation)

  • 変調 – 元になる信号のパラメータを別のオシレータをつかって変化させる
  • 信号の振幅(= 音量)をオシレーターで変化させる – RM変調、AM変調
  • 変調させるオシレータの振幅の範囲が、-1.0〜1.0の場合 – RM変調
  • 変調させるオシレータの振幅の範囲が、0.0〜1.0の場合 – AM変調

RM変調合成の例


AM変調合成の例

変調合成2:周波数の変調 – FM (Frequency Modulation)

  • 信号の周波数を別のオシレータで変調する音響合成方式
  • ジョン・チョウニングを中心としてスタンフォード大学のCCRMA(Center for Computer Research in Music and Acoustics)で開発
  • ヤマハがライセンスを受け実用化 (1975)
  • Yamaha DX7 (1983) が80年代の音楽シーンを席巻
  • わずかなパラメータで非常に複雑な倍音成分をもった音響を生成することが可能


YAMAHA DX7


FM変調合成の例1 – シンプルなFM


FM変調合成の例2 – エンベロープ付きFM


サブパッチ「simplefm」キャリアとモジュレータの比率からFM合成する

サンプリング&プレイバック導入

課題「サンプリング&プレイバックを使用したライブパフォーマンス」

  • adc~ record~ buffer~ waveform~ groove~ を使用したサンプルパッチを配布
  • adc~ – オーディオ信号を入力する
  • record~ – 入力した信号をbuffer~に記録する
  • buffer~ – 入力したオーディオを格納する場所、[read]メッセージを使用してサウンドファイルを読みこむことも可能
  • waveform~ – buffer~ に格納された音を波形表示する、表示した波形の一部を選択する
  • groove~ – buffer~ に格納された音を様々な手法で再生することができる、ループ、ピッチの変更、ランダムに読み出しなど
  • サンプルパッチを改造して自分専用のライブパフォーマンス楽器を作成する


サンプリング&プレイバックのサンプル