見出し画像

maxmsp max8 入門 MSP編5


動画です。








正弦波と周波数

とりあえずサイン波≒正弦波を出すところまでいきました。
ここから正弦波を使って加算合成という合成方法を取り上げていきます。

正弦波には単一の周波数のエネルギーが含まれています。

spectroscope~を使うと周波数のスペクトルを確認できます。


加算合成

さまざまな音色の違いは周波数の構成の違いによって作ることができます。
さまざまな周波数の正弦波を足し合わせて音色を作る考え方はシンプルな考え方です。

この方法は加算合成と呼ばれます。

cycle~を足し合わせて音を作ってみます。4つの正弦波を足し合わせると波形が変わりました。足し合わせると振幅が大きくなるので*~ 0.25して小さくして出力します。


加算合成の最小要素をまとめて部品化することを考える。

  加算合成は同じ構成のパーツがたくさん集まって作られます。ひとまとまりの要素を部品化してサブパッチなどにまとめるとすっきりします。

とりあえず周波数と振幅のパラメータを持つ正弦波のオシレータがひとまとまりの要素とします。加算合成はこれがたくさん集まっています。


サブパッチ化する


 サブパッチを作成しこのように中身を作成します。


このように部品やまとまりをサブパッチ化するとコピペしたりして作成しやすくなったり少しスッキリします。


周波数が変わっても波形が変わらないようにする

 今周波数は独立に操作できるようにしてありますが、周波数が変わっても全体の音色が変わらないようにしたいと思います。

そのためには各周波数を基本周波数の何倍かという比率で設定できるようにすれば良いです。

一つ目のサブパッチ以外をこのようにします。
一つ目のインレットから基本周波数が入ってきてふたつ目のインレットで比率を掛けるようにします。


このような感じで作成します。 左のsig~の上が基本周波数で他が比率です。これで周波数が変わっても波形が変わらなくなります。


エンベロープジェネレータ-:function 

   line~を使うとエンベロープを作成できます。

functionというオブジェクトを使うとline~に対し簡単にメッセージのリストを作成できます。

インスペクターウィンドウで設定できます。 domain display valueは1000となっています。これはx軸が1000msであることを示しています。 Lo and Hi Display RangeはY軸の範囲を示しています。


複雑な音色

 エンベロープを個別に制御することで複雑な音色を作成できます。




いいなと思ったら応援しよう!

fendoap
よろしければサポートお願いします!