このチュートリアルでは、入出力とオシレーターだけを使用して、基本的なシンセサイザーを構築する方法を学びます。今後のいくつかのチュートリアルでは、エンベロープやフィルターなどの重要な機能を追加するための基礎を提供します。
- 続きを読む:Max MSP 初心者ガイド:モノフォニック ソフトウェア シンセサイザーの構築方法
まず、最後のガイドの手順に従って、新しいパッチ ページを作成します。次に、コメントツールを使用して、パッチの先頭に「入力」、「オシレーター」、「出力」というラベルを記述することをお勧めします。これらはヘッダーとして機能し、パッチのどの部分が何をしているのかを理解するのに役立ちます。
入力
入力を構築すると、MIDI コントローラーをパッチに接続して、MIDI 数値を周波数値またはピッチに変換できるようになります。すべての値が Hz になるようにする必要があります。これにより多くのことになります。 今後の作業が容易になります。
まず、オブジェクト「notein」を追加します。これは MIDI ノート メッセージを受け取ります。オブジェクトのアウトレットの下にマウスを置くと、ピッチ、ベロシティ、MIDI チャンネルが読み取られます。
MIDI キーボードからどの MIDI データが入ってくるかを確認できるように、2 つの「数値」オブジェクトをピッチとベロシティに接続します。
次に、MIDI キーボードでどのキーを押しているかを視覚的に表現するオブジェクト「Kslider」を作成します。 Pitch 数値の左下インレットを Kslider の左上インレットに接続し、Velocity 数値の左下インレットを Kslider の左上インレットに接続します。
次のようになります:
MIDI コントローラーをパッチに接続し、MIDI 番号を周波数値/ピッチに変換した後 次のステップは、MIDI データを周波数値に変換することです。これは、「mtof」という名前のオブジェクトを介して簡単に行うことができます。このオブジェクトは、「Kslider」の左下のインレットから接続する必要があります。
ここでの一番のヒントは、「mtof」が信号に対して実際に何をしているのかをわかりやすくするために、ワイヤーの「mtof」オブジェクトの上にナンバー ボックスを追加し、その下に浮動小数点数を追加することです。
完成した入力は次のようになります。
MIDI データを周波数値に変換した後 オシレーター
これで、MIDI キーボードがパッチをコントロールしているものの、ノイズが発生していないことがわかります。ここでオシレーター (および出力) が登場します。
オシレーターは一連の波形で構成されます。一般に、これには、正弦波、三角波、方形波、およびノコギリ波が含まれます。幸いなことに、Max MSP にはこれらのさまざまな音波を生成するオブジェクトがあるため、それらをパッチに配置し、ゲイン スライダーを使用して目的のレベルに設定するだけです。
ここは、使用する音波によってシンセサイザーが異なる場合があります。各音波のレベルを変更するためのプリセット (チュートリアル 5 で説明します) を作成できるように、4 つすべてをブレンドして使用します。
Oscillator 見出しの下で、cycle~ (正弦波)、tri~ (三角形)、rect~ (長方形)、saw~ (鋸歯状) の 4 つのオブジェクトを作成します。これがシンセサイザーの音の生成方法です。ただし、聞こえる各波の量を制御するには、「gain~」を使用して、下部の出口を使用して各音波オブジェクトにゲイン スライダーを接続する必要があります。
オブジェクトの目的が分からない場合は、alt/option キーを押しながらオブジェクトをクリックしてください。ヘルプ タブがポップアップし、必要な情報がすべて表示されます。
入力とオシレーター間の接続をよりシンプルかつ煩雑にしないために、「mtof」の後と音波の前の両方で浮動小数点オブジェクトを使用して、入力とオシレーター間の接続が 4 本ではなく 1 本のワイヤーになるようにすることができます。
完成した入力と接続されたオシレーターは次のようになります。ただし、別の音波構成を使用している場合は、見た目が異なっていても心配する必要はありません。
完成した入力と接続されたオシレーター 出力
オシレーターによって作成される美しいサウンドを聞くことができるように、非常に重要な出力を構築して接続する必要があります。
当然のことながら、ゲイン スライダーを出力オブジェクト (「ezdac」) に直接接続した場合、非常に大きな音になります。結局のところ、4 つの異なる信号が出力されているのです。これを軽減するには、信号が出力に到達する前に信号を減衰する方法を見つける必要があります。これを行うには 2 つの方法があります。
まず、4 つの信号すべてに 0.5 を掛けると、音量が半分になります。そのためには、オブジェクト「*~ 0.5」を作成し、4 つのゲイン スライダーすべてを左下のインレットからそれに接続する必要があります。乗算オブジェクトの左または右上のどちらかのインレットを使用できますが、次のチュートリアルでエンベロープを追加できるように、右のインレットに接続することをお勧めします。
次に、さらに 2 つのゲイン スライダーを作成して、左右のオーディオ チャンネルを制御します。それぞれのアウトレットとインレットを使用して、これらを乗算オブジェクトの下部に接続する必要があります。減衰された信号の音量は、スピーカーに出力される前に制御できるようになりました。
これはモノフォニック シンセサイザーであるため、左オーディオ チャンネルのゲイン スライダーの右下と右チャンネルのゲイン スライダーの左上をワイヤーで接続して、左右のオーディオ チャンネルを結合する必要があります。左チャンネルを制御すると、右チャンネルも動くはずです。
これで信号を減衰し、ボリューム コントロールを追加し、「ezdac」を使用して出力オブジェクトに接続しました。パッチに配置したら、ゲイン スライダーの左アウトレットを「ezdac」オブジェクトの左右両方のインレットに結合して、左右のチャンネルがモノラルに聞こえるようにします。
私たちからのもう 1 つのヒント:ワイヤーが思ったほどきれいではないかもしれません。順番に並べるには、Ctrl/command + A を押してパッチをハイライト表示し、次に Ctrl/command + Shift + Y を押す必要があります。
キーを押し続けていなくても、引き続き再生されることがわかりますが、心配する必要はありません。このため、次のガイドでは、ノートの再生時間を制御するエンベロープを構築します。
これで、基本的ですが機能するモノフォニック シンセサイザーが完成しました。オシレーターを自由にいじって、好きなだけ組み合わせて音波を追加してください。
Max MSP をまだダウンロードしていない場合は、Cycling74.com で 4 週間のトライアルにアクセスできます