読者です 読者をやめる 読者になる 読者になる

シンセサイザー制作メモ 〜プロトタイプ編〜

基本的なシンセサイザーの中身はこんな感じだと思う

[oscillator] -> [filter] -> [amp/EG]

github.com

ということでコピペして書いた
設定できるパラメータは以下

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 LevelSustainになるまでの時間
Sustain 0.0〜1.0 0.5 Levelの減衰が収束する値
Release 0.0〜1.0 1.0 LevelSustainから0(最小値)になるまでの時間

次にやること

  • 鍵盤みたいなの作ろう(キーボードで音出すのでもいいけど)
  • AnalyserNode波形を可視化したい
    • FFTから着手する
  • ElectronかReact.jsを使おう

参考にさせていただきました

Web Audio API 解説 - 01.前説 | g200kg Music & Software