【Max】urnで数値が重ならないランダム出力する

記事をシェアする:

ランダムな数値を出力するオブジェクトとして[random]などがありますが、[urn]は数値が重ならないように出力します。

十二音技法で音階を自動で作る時など、音高が重ならずにランダムに音高を選択するので便利です。

使い方

[urn 限界値]で設定すると、限界値未満 (図では< 5) の数値でランダムに数値を出力されます。

bangを第1インレットに送ると数値が重ならないようランダムな数値を出力します。

設定された全ての数値が出力されると第1インレットからの出力はされなくなり、第2インレットからbangが出力されます。

“【Max】urnで数値が重ならないランダム出力する” の続きを読む
記事をシェアする:

【Max】functionをfunctionで描く方法

記事をシェアする:

パラメータの変更カーブを描ける[function]はとても便利です。

サブパッチに入っていたり、複数の[function]を制御するために、[function]を[function]で描く方法を紹介します。

作り方

左の[function]を描くと[send]-[receive]を通り、右のfunctionに描かれるようにします。

点のデータを取得する

[function]に「dump」メッセージを送ると、第3アウトからリストメッセージで点の情報を出力します。左端の点から順番に「X  Y」の値がそれぞれ出力されます。

“【Max】functionをfunctionで描く方法” の続きを読む
記事をシェアする:

【Max】簡易的なポリフォニック・シンセサイザーを作る

記事をシェアする:

シンセサイザーで複数の音を鳴らすには、その数分のオシレーターを用意する必要があります。しかしMaxで素直にそれを作るにはオブジェクトが多くなりすぎて管理が大変になります。[poly~]オブジェクトを使用すればオシレーター部分を1つ用意して、いくつにも複製することが可能です。

オシレーター・パッチを作る

ノートナンバーでオシレーターをコントロール

ノートナンバーを受けたら[mtof]を使用して周波数に変換します。周波数の数値は[cycle~]に送ります。

エンベロープを描く

[function]オブジェクトに図のようなエンベロープを描きます。

ノートナンバーと[mtof]に間に[t i b]を挟み、ノートナンバーを受けたらエンベロープを描くようにします。[cycle~]の音量は[*~]でエンベロープの値と乗算されて、カーブが描かれます。

“【Max】簡易的なポリフォニック・シンセサイザーを作る” の続きを読む
記事をシェアする:

【Max】モノフォニック・シンセサイザーを作る

記事をシェアする:

今回は簡易的なモノフォニック(単音)・シンセサイザーを作ってみましょう。

OSCを用意する

波形

今回はこの5つの波形を使います。それぞれの波形の種類は以下の通りになります。

cycle~サイン波/正弦波
saw~ノコギリ波
rect~矩形波
tri~三角波
noise~ホワイトノイズ
“【Max】モノフォニック・シンセサイザーを作る” の続きを読む
記事をシェアする:

【Max】triggerで処理の順序を整える

記事をシェアする:

[trigger][t]は各種のメッセージを受けると、指定したメッセージに変換して出力します。

使い方

[trigger]にアーギュメントを設定すると指定したメッセージタイプで出力されます。アーギュメントの順が出力先の順になります。

使えるメッセージタイプ

bang / bbang
int / i整数
float / f浮動小数点
symbol / s文字列
list / lリスト
“【Max】triggerで処理の順序を整える” の続きを読む
記事をシェアする:

【ドラムマシンを作る2】matrixctrlのパラメータをランダムにする

記事をシェアする:

この記事は【Max】matrixctrlでドラムマシンを作るの続きです。

前回[matrixctrl]を使用してドラムマシンを制作しました。今回は[matrixctrl]のパラメータをランダムに設定する処理を作っていきましょう。

[matrixctrl]の編集

ランダム化する前に[matrixctrl]をメッセージで編集する方法を知りましょう。

「列 行 オン・オフ」 の形でメッセージを送るとセルを編集できます。

特定のセルをオンにする

オンにする場合は、列と行を指定し最後に「1」を付けます。

特定のセルをオフにする

オフにする場合は、列と行を指定し最後に「0」を付けます。

全てのセルを削除する

全てのセルを削除するには「clear」を送ります。

“【ドラムマシンを作る2】matrixctrlのパラメータをランダムにする” の続きを読む
記事をシェアする: