シンセサイザー制作メモ 〜プロトタイプ編〜
基本的なシンセサイザーの中身はこんな感じだと思う
[oscillator] -> [filter] -> [amp/EG]
ということでコピペして書いた
設定できるパラメータは以下
Oscillator
周期波形を生成
項目名 | 値の範囲 | デフォルト値 | 説明 |
---|---|---|---|
Wave | “sine”,“square”,“sawtooth”,“triangle” | “sine” | 波形の種類を指定する |
Freq | 50.0〜20000.0 | 440.0 | 波形の周波数,単位はHz |
Filter
フィルタを生成
項目名 | 値の範囲 | デフォルト値 | 説明 |
---|---|---|---|
Type | “allpass”,“LPF”,“HPF”,“BPF”,“LowShelf”,“HighShelf”,“Peaking”,“Notch” | allpass | フィルタの種類を指定する |
Freq | 50.0〜20000.0 | 50.0 | カットオフ周波数,単位はHz |
Q | 0.0〜50.0 | 5.0 | フィルターのQ |
Amplitude
信号の増幅/減衰をさせる EGも設定できる
項目名 | 値の範囲 | デフォルト値 | 説明 |
---|---|---|---|
Level | 0.0〜1.0 | 1.0 | ゲイン,倍率を数値で指定(dBではない) |
Attack | 0.0〜1.0 | 0.0 | 設定したLevel 値になるまでの時間 |
Decay | 0.0〜1.0 | 1.0 | Level がSustain になるまでの時間 |
Sustain | 0.0〜1.0 | 0.5 | Level の減衰が収束する値 |
Release | 0.0〜1.0 | 1.0 | Level がSustain から0(最小値)になるまでの時間 |
次にやること
- 鍵盤みたいなの作ろう(キーボードで音出すのでもいいけど)
AnalyserNode
波形を可視化したい- FFTから着手する
- ElectronかReact.jsを使おう
- まずは↓のリポジトリに移植しておこう
github.com
- まずは↓のリポジトリに移植しておこう