Pragmatic Synth

Make a Synthesizer

VCO - VCA - VCF モデルの簡単なシンセサイザーを作ります。

UI

グラフィカルな UI は説明が膨大になるため省略し、簡易的に以下の仕様のインターフェースを使用します。

Keymap

VCO (Voltage Controlled Oscillator)

キーボードによる周波数の制御 (line:8)

T("osc").freq は数値以外の T オブジェクトを入力することができます (line:2)。以下の例では時間変化する T オブジェクト を周波数プロパティの入力にしてビブラートやポルタメントを行なっています。

Vibrato

Portament

T("param") を使用して周波数を滑かに変化させる (line:1,2,9)

Sound Effect

エンベロープオブジェクト T("env") で周波数の変化を直接記述する。

VCF

Voltage Controlled Filter. timbre.js では T("biquad") を使用します。

Envelope Filtering

エンベロープオブジェクト T("env") でカットオフ周波数を時間変化させる。

(line:1,2,12,13)

Auto Wah

LFOでカットオフ周波数を時間変化させる。

(line:1,13,14)

VCA

Voltage Controlled Amplifier. timbre.js では T("env")T("param") を使います。

Amplitude Envelope

一般的な ADSRエンベロープ。 (line:2,10,15)

Tremolo

LFOでトレモロ効果。 (line:2,3)

Polyphonic

今までの例ではモノフォニックだったが、T("SynthDef") オブジェクトを使用すると最低限の記述でポリフォニックシンセを作成できる。