SynthMaker奮闘日記~その2

今回は正弦波を作っていこうと思います。
前回の解説を理解している人には、非常に簡単です。
ほとんど前回説明したので、解説もほとんどないです。

最初に断っておかないといけないことがあります。
実は、といってもどうでもいいことではあるのですが、私は電気の人間だったりします。
元から電子関係とか音響関係だったりとかそういったタイプの人間ではありません。
なので波形の名称がところどころずれていたりします。
なのでどんな波形を使うか先に解説を入れたいと思います。

(電気波形の図より)
この図は音波形用のものじゃないので、全波とか半波とか要らないものがありますがw;
別名のものがあったりしますが、奮闘日記の上ではこの言い方にそろえたいです。
ちなみに正弦波以外のものを非正弦波と呼びます。
次回はこの非正弦波を作っていきます。

回路を作る

今回は前回の図に少し手を加えるだけでできます。

前回MultiOscを咬ませていた部分を正弦波用のコンポーメントに変更しました。

オシレーターを正弦波に変更する

図のOsc部分を見ていただけるとわかる通り、形がほとんど同じです。

「Hz to 0-1」は周波数を周期に変更するコンポーメントです。
単純に周波数を逆数にすると求められます。

前回にも言ったのですがMIDI to Polyは設定によって周期を直接返すこともできますが、
使うコンポーメントによって変更しなければいけないこともあるので、この方法を覚えておくと便利です。
ちなみに「0-1 to Hz」というものも存在します。

「Sine」は正弦波を発生するコンポーメントです。
MultiOscと違うのは、Freq入力の引数が周波数ではなく、周期であることです。
これがゆえに、Hz to 0-1を設定しないといけないのです。
その点以外は同じです。
Syncについてはこれもよくわかりません;
ヘルプを見て、「立ち上がり(偽から真へ変化すること)の同期」ということはわかるのですが、HardSyncって何なのか;;
とりあえず今のところ使う予定はないので無視します。

MIDIの音量に対応する

次に「×」とかかれたコンポーメントについて説明します。
これは上の端子の引数に、下の端子の引数をかけて返すというコンポーメントです。

Sineは返り値に-1~1の瞬時値(その時点での値、正弦波は時間によって値が変わるのでその時間によって返り値が違う)を返します。
しかしそのピーク値(最大値、または最小値)が、上も下も1と一定なので、音量設定をしていないといつも同じ音量の音が出ます。
これを調節するために、0~1の値をかけてあげる必要があります。
1は音波形の限界値なので、特殊な時以外は必ず超えないように設定しなければなりません。

そしてこの0~1はどこから引っ張り出してくるのかというと、前回MIDI to Polyでちらりと説明した「Velocity」です。
この端子はMIDIのベロシティに対応して、0~1までの小数値を返します。
この値をかけることによってMIDIに連動した音量が出せるようになります。

また、かける値をスライダーや摘みなどに変更することもできますが、こちらはまたの機会に説明します。

完成

今回も特記するような解説はないです。
SynthMakerでシンセを作るうえで一番重要なのは、どこからどのような値が流れてくるかということをしっかり把握することです。
それをしないといきなり大きな音量が流れたり、予期しない高音が出たりして大変です。
まさに、「Hz to 0-1」はそんなミスがおきやすいといえます。

次回は先ほども書きましたが非正弦波について解説します。
非正弦波を知るためには倍音の性質を知る必要があります。
なのであらかじめ予習しておくことをお勧めします。
時間あれば先に倍音のページを書いておこうと思いますが・・・

まぁここの奮闘日記はマイペースにゆっくりと書いていきましょうw;

最終更新:2010年03月14日 18:50
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。
添付ファイル