見出し画像

maxmsp max8 入門 MSP編3


動画です。





cycle~オブジェクト

  cycle~オブジェクトはサイン波のオブジェクトです。実際にはcycle~は波形をテーブルから読み出して繰り返し再生することができるオシレータです。cycle~は初期設定では512個のサンプルを読み込んで波形として使います。


buffer~オブジェクトは波形やデータを収納する

 buffer~オブジェクトは波形やデータを収納するメモリ部分を作成することができます。buffer→cycle~にデータを読み出して再生して簡易的なウェーブテーブルオシレータのように使うことができます。

ここではbuffer~にノコギリ波の波形を読み込んでcycle~からノコギリ波を出力しています。本格的なウェーブテーブルオシレータにはwave~などを使いますがここでは簡易的にcycle~が使われています。


buffer~オブジェクトの作成方法

 buffer~オブジェクトの使い方は[buffer~ 名前 長さ チャンネル数]です。
buffer aa 3000 1とすると3000ミリ秒=3秒の1チャンネルの長さのバッファーが作られます。ここに音を録音したりオーディオファイルを読み込んだり再生したり様々な入れ物として使えます。

長さを-1として@samps 512というようにサンプルの数で指定することもできます。
replaceを使うとオーディオファイルを読み込んだ時に自動で長さをファイルに合わせてくれます。

buffer~と組み合わせて使えるオブジェクトは他にも色々あります。

line~で複雑なエンベロープを作る。

 line~は時間で変化する値を作ることができるオブジェクトです。

[目標の値 時間]の二つの数値のペアのリストを送るとその時間かけて目標の値に達します。ここでは1まで1000msかけて移動するという意味です。

line~は値のペアを複数使うこともできます。それを使って複雑な動きを作れます。

初期値 カンマ  [目標値 時間] [目標値 時間] [目標値 時間]
という書き方で複数のペアを使うことができます。

初期値 カンマ  [目標値 時間]の場合はこのような感じです。
1 カンマ 0 1000とすると 最初に1になり0まで1000msかけて変化します。

初期値 カンマ  [目標値 時間] [目標値 時間]だとこんな感じです。

0になり1まで1000msかけて上昇し0まで1000msかけて下降します。

line~は音量やパラメータを制御したりすることに使えます。


信号を追加して合成音を生成する

 2 つ以上の信号が同じ入力に入ると、それらの信号は加算されます。ここではcycle~の二つの信号が足されて*~オブジェクトに入力されています。

信号の振幅について

 信号の振幅はdac~の前では-1~1の範囲である必要があります。
信号を足すと振幅が1を超える場合があるので振幅が1以下になるようにスケーリングする必要があります。先ほどのcycle~では範囲は-2~2になる可能性があるので*~ 0.5して-1~1の範囲にしています。

*~を使ってエンベロープを作り組み合わせる

 *~とline~を使うと信号にエンベロープ=音量制御をかけることができます。


複数の信号とエンベロープ

 複数の信号を異なるline~で制御すると複雑な変化を作ることができます。



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

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