yoppa.org


Software and Bio Art Workshop 2009

Max/MSP入門2:音響合成

授業スライド

スライドをダウンロード (PDF形式)

サンプルファイル

授業で説明したファイルは下記からダウンロードしてください

今日の内容

  • Max/MSPの入門その2
  • いろいろな音響合成について学ぶ
    • オシレータの種類 (正弦波、矩形波、三角波)
    • 加算合成
    • 減算合成
    • 変調合成 (AM, RM, FM)

先週の復習

  • cycle~で、正弦波生成
  • エンベロープで音量変化をつける

いろいろな音響合成について学ぶ

いろいろなオシレーター

  • cycle~の代わりに、いろいろな種類のオシレータを使ってみる
    • cycle~
      • 正弦波
    • rect~
      • 矩形波
    • tri~
      • 三角波
    • saw~
      • のごきり波
  • 複数のシグナルから1つを選択する仕組みも作る
    • selector~
      • 第1インレットに入力された数値によって、入力を選択する
  • いろいろな波形を選択して出力するパッチ

加算合成

  • 加算合成とは
    • Sin波を足し合せていくことで、音色を表現する方法
    • 理論的根拠
      • フーリエの定理
      • 「任意の関数は正弦波の合成で表すことができる」
    • この原理をもとにすれば、多くの正弦波を足し合せていくことで複雑な波形を表現できるはず
    • この原理を使用した楽器
      • ハモンドオルガン
  • パッチの構造化の工夫
    • 全てをひとつのパッチで実現しようと思うと、規模が大きくなるにつれて徐々に混乱してくる
    • パッチを構造化する:パッチの中に入れ子状にパッチを内包させる
      • p (patcher) オブジェクトを使用すると、パッチの中にサブパッチを生成することができる
      • inletオブジェクトと outletオブジェクトで入出力を配置
    • メインのパッチと同じフォルダに名前をつけて保存したパッチ
    • メインのパッチから呼びだすことができる
    • # 付きの数字(#1, #2, #3 …) はオブジェクトの引数となる
    • 例:第1引数が周波数、第2引数は音量で、正弦波を生成
  • Sin波を生成するサブパッチ “partial~.maxpat” を作る
    • 第1インレット:基本周波数
    • 第2インレット:倍音
    • 第3インレット:位相
    • 第4インレット:音量
  • “partial~”を6つ並行して接続し、足し合せる → 加算合成の完成
  • 加算合成の欠点
    • よりリアルな音や深みのある音を生成するには、もっとたくさんのオシレーターが必要となる
    • パラメータの数が増大
    • 全てをコントロールするのが難しい
  • 別のアプローチ
    • 既存の音を一度フーリエ変換して周波数成分を分析し、そのデータを変形加工した後、再度、加算方式で合成する
    • 分析再合成、フェーズボコーダー (PhaseVocoder)
    • 高速コンピュータが出現してはじめて実現

減算合成

  • 減算合成とは
    • 倍音を多く含んだ音源から、倍音成分を引くことによって、任意の音色を合成する方式
    • 多くのアナログシンセサイザー減算合成を使用していた
      • VCO、VCF、VCA、EG
      • Moogシンセサイザーなど
  • フィルター
    • 入力された信号に帯域制限をかけたり、特定の周波数をとりだす
    • 主なフィルターの種類
      • ローパスフィルター (LPF)
        • 低周波成分を通過させる
      • ハイパスフィルター (HPF)
        • 高周波成分を通過させる
      • バンドパスフィルター (BPF)
        • 特定の帯域の成分を通過させる
      • オールパスフィルター (APF)
        • 周波数帯域はそのままで、位相成分のみ変化させる
  • Max/MSPでフィルタを用いるには
    • filtergraph~ と biquad~ をくみあわせると便利
    • フィルタの種類やレゾナンスなどを、視覚的に操作できる
    • 例:ノイズをフィルタリングする
  • saw~を元のシグナルとして、フィルタリングする
    • 減算合成方式のシンセサイザー
  • 少し改良、オシレータの周波数とフィルタの中心周波数を揺らす
  • さらに改良、左右で微妙にピッチをずらしたオシレータを重ねる

変調合成

  • 変調合成とは
    • 「変調」とは
      • 信号(キャリア:搬送波)のパラメータを、もうひとつの信号(モジュレータ:変調波)によって変化させること
  • 変調合成の種類
    • 音量を変化させる:トレモロ、RM、AM
    • 周波数を変化させる:ビブラート、FM

リング変調(RM)

  • リング変調(RM)とは
    • sin波(キャリア)の音量を、もう一つのsin波(モジュレータ)で変調
    • 高速なトレモロ
    • モジュレータの振幅は、-1〜1
  • Max/MSPでリング変調を試してみる
  • 入力をマイクからに変更してみる
    • どんな効果が得られるか?

振幅変調(AM)

  • 振幅変調(AM)とは
    • RMによく似ている
    • sin波(キャリア)の音量を、もう一つのsin波(モジュレータ)で変調
    • ただし、モジュレータの振幅は、0〜1
  • AMをMax/MSPで実現する
    • モジュレータ側でDCオフセット値を設定している

RMとAMのスペクトラム(音色)の違い

周波数変調(FM)

  • 周波数変調(FM)とは
    • sin波(キャリア)の周波数を、もう一つのsin波(モジュレータ)で変調
    • John Chowningによって発明(1973)
    • Yamaha DX7に搭載され、爆発的に普及
    • 複雑な倍音成分をわずかなパラメータ操作で実現できる
  • シンプルなFM合成のパッチ
    • 超高速な音程のビブラート
  • FMでは少ないパラメータで多くの倍音成分を生成することができる
  • インハーモニックな音色を生成することも可能
  • FMのスペクトラム
  • より複雑なパッチにしてみる
    • キャリアのモジュレション・インデックス(変調の強さ)をエンベロープでコントロールできるように
    • キャリアとモジュレータの周波数は、比率で指定するようにする
      • C:M比
    • FM変調の部分をサブパッチにしてシンプルに
  • FM変調合成を行うサブパッチ “simpleFM~.maxpat”
    • インレット
      • 基本周波数、キャリア:モジュレータ比、音量
  • simpleFM~を使って、高度なFM合成を組む