シンセジェネレーター

Tone.js内のシンセサイザーの音作りができるジェネレーターです

このアプリについて

Tone.js内蔵のシンセサイザーを鍵盤で音を鳴らしながら設定値を変更しながら音作りができるアプリです。

進捗

  • ブログのURLを追加 #7

使い方

用途

下記のような用途に活用できます。

  • VCO(3OSC + Noise)、VCF、VCA、3EG、3LFO、Effectorのシンセサイザー
  • Tone.jsのシンセ機能でブラウザのみでシンセ音を出すことができる
  • パラメーターをどのように変えたらどういう音が出るかを調べることができる

VCO

3オシレーターとノイズの波形や音程などを設定できる。

VCO-1/VCO-2/VCO-3

基本となる3つのオシレーター。波形を変えると音色が変わる。sineは倍音がなく、triangleは次に倍音が少なく、sawtoothは一番倍音が多い。pulseは倍音周期のバランスを変更できる。

Wave:
波形。初期値はsawtooth。sine、triangle、sawtooth、pulseがある
Pulse Width:
パルス波の周期のバランス。初期値は0(50%)。範囲は0(50%)〜1(100%)。
Octave:
オクターブ単位の音程変更。初期値は0。範囲は-3〜3
Coarse:
半音単位の音程変更。初期値は0。範囲は-12〜12
Fine:
半音以内の音程微調整。初期値は0。範囲は-10〜10

Noise

ノイズ音のオシレーター。音程は変更できない。

Wave:
波形。初期値はwhite。white、brown、pinkがある

MIXER

VAOの4つのオシレーターの音量をミックス。EGやLFOで音程変化(ビブラート効果)

Gain

4つのオシレーターの音量バランスを変更できる。

VCO-1:
VCO-1の音量。初期値は0.5。範囲は0〜1。
VCO-2:
VCO-2の音量。初期値は0。範囲は0〜1。
VCO-3:
VCO-3の音量。初期値は0。範囲は0〜1。
Noise:
Noiseの音量。初期値は0。範囲は0〜1。

EG-1 Amount

EG-1のアマウント量をオシレーターごとに個別に設定できる。

VCO-1Amt (octaves):
EG-1のVCO-1へのアマウント量。初期値は0。範囲は0〜1。
VCO-2Amt (octaves):
EG-1のVCO-2へのアマウント量。初期値は0。範囲は0〜1。
VCO-3Amt (octaves):
EG-1のVCO-3へのアマウント量。初期値は0。範囲は0〜1。

LFO-1 Amount

LFO-1のアマウント量をオシレーターごとに個別に設定できる。

VCO-1Amt (amplitude):
LFO-1のVCO-1へのアマウント量。初期値は0。範囲は0〜1。
VCO-2Amt (amplitude):
LFO-1のVCO-2へのアマウント量。初期値は0。範囲は0〜1。
VCO-3Amt (amplitude):
LFO-1のVCO-3へのアマウント量。初期値は0。範囲は0〜1。

EG-1

音量の時間的変化(ビブラート効果)

Attack:
立ち上がりからピーク音までにかかる時間。初期値は0.01。範囲は0.01〜10。
Decay:
ピーク音から持続音までにかかる時間。初期値は0.01。範囲は0.01〜10。
Sustain:
持続音の音程の割合。初期値は0。範囲は0〜10。
Release:
鍵盤を離したあと音が消えるまでの減衰音の時間。初期値は0.01。範囲は0.01〜10。

LFO-1

音量の周期的変化(ビブラート効果)

Wave:
波形。初期値はsine。sine、triangle、sawtooth、squareがある。
Frequency:
周波数。周期のスピードが変わる。初期値は0.01。範囲は0〜10。
Delay:
Frequencyに至るまでの時間。だんだん早くなる。初期値は0。範囲は0〜10。
Min:
周期の最小値。初期値は0。範囲は範囲は0〜10。
Max:
周期の最大値。初期値は0。範囲は範囲は0〜10。

VCF

VCOの音にフィルターをかけて倍音をカットする。EGやLFOで倍音変化(ワウ効果)

VCF

倍音のカット設定。Filterを変更するとカットの仕方が変わる。lowpassは高音域、highpassは低音域、bandpassは前後の音域をカットする。

Filter:
カット方法の種類。初期値はlowpass。lowpass、highpass、bandpassがある。
Frequency (cut off):
カットする周波数。初期値は10000Hz。範囲は20Hz〜10000Hz。
Q (Resonance):
カット周辺の音を強調する効果。初期値は0。範囲は0〜10。
Roll off:
カットするカーブの角度のキツさ。初期値は-12dB/oct。-12、-24、-48、-96がある。
EG-2 Amt (octaves):
EG-2のVCFへのアマウント量。初期値は1。範囲は0〜1。
LFO-2 Amt (amplitude):
LFO-2のVCFへのアマウント量。初期値は1。範囲は0〜1。

EG-2

倍音の時間的変化(ワウ効果)

Attack:
立ち上がりからピーク音までにかかる時間。初期値は0.01。範囲は0.01〜10。
Decay:
ピーク音から持続音までにかかる時間。初期値は0.01。範囲は0.01〜10。
Sustain:
持続音の周波数の割合。初期値は0。範囲は0〜10。
Release:
鍵盤を離したあと音が消えるまでの減衰音の時間。初期値は0.01。範囲は0.01〜10。

LFO-2

倍音の周期的変化(ワウ効果)

Wave:
波形。初期値はsine。sine、triangle、sawtooth、squareがある。
Frequency:
周波数。周期のスピードが変わる。初期値は0.01。範囲は0〜10。
Delay:
Frequencyに至るまでの時間。だんだん早くなる。初期値は0。範囲は0〜10。
Min:
周期の最小値。初期値は0。範囲は範囲は0〜10。
Max:
周期の最大値。初期値は0。範囲は範囲は0〜10。

VCA

VCFの音の音量を変更するアンプ。EGやLFOで音量変化(トレモロ効果)

VCA

最終的な音量のd設定。EG-3 Amtがマスターゲインになる。

EG-3 Amt (gain):
EG-3のVCAへのアマウント量。初期値は1。範囲は0〜1。
LFO-3 Amt (amplitude):
EG-3のVCAへのアマウント量。初期値は0。範囲は0〜1。

EG-3

音量の時間的変化(トレモロ効果)

Attack:
立ち上がりからピーク音までにかかる時間。初期値は0.01。範囲は0.01〜10。
Decay:
ピーク音から持続音までにかかる時間。初期値は0.01。範囲は0.01〜10。
Sustain:
持続音の音量の割合。初期値は1。範囲は0〜10。
Release:
鍵盤を離したあと音が消えるまでの減衰音の時間。初期値は0.01。範囲は0.01〜10。

LFO-3

音量の周期的変化(トレモロ効果)

Wave:
波形。初期値はsine。sine、triangle、sawtooth、squareがある。
Frequency:
周波数。周期のスピードが変わる。初期値は0.01。範囲は0〜10。
Delay:
Frequencyに至るまでの時間。だんだん早くなる。初期値は0。範囲は0〜10。
Min:
周期の最小値。初期値は0。範囲は範囲は0〜10。
Max:
周期の最大値。初期値は0。範囲は範囲は0〜10。

EFFECTOR

VCAの音を加工。Distortion(歪み系)、Chorus(モジュレーション系)、Delay・Reverb(空関系)がある。

Distortion

歪み系エフェクト。歪んだ音になる。

Distortion:
音を歪める。初期値は0。範囲は0〜10。
Wet:
原音と加工音のバランス。初期値は0。範囲は0〜1。

Chorus

モジュレーション系エフェクト。音を揺らす。分厚い音になる

Frequency:
音を揺らす音の周波数のズレ。初期値は0。範囲は0Hz〜10000Hz。
Delay Time:
揺れた音がどのくらい遅れて鳴るか。初期値は0。範囲は0ms〜1000ms。
Depth:
音を揺らす深さ。初期値は0。範囲は0〜1。
Wet:
原音と加工音のバランス。初期値は0。範囲は0〜1。

Delay

空関系エフェクト。やまびこのように音を繰り返す。

Delay Time:
やまびこ音がどのくらい遅れて鳴るか。初期値は0。範囲は0〜1。
Delay Feedback:
やまびこ音の回数。初期値は0。範囲は0〜1。
Wet:
原音と加工音のバランス。初期値は0。範囲は0〜1。

Reverb

空関系エフェクト。残響音。広い部屋のような響き。

Reverb Delay:
残響音がどのくらい遅れて鳴るか。初期値は0.01。範囲は0.01〜10。
Wet:
原音と加工音のバランス。初期値は0。範囲は0〜1。

詳細

ブログ

【Tone.js & Next.js】Tone.jsでシンセジェネレーターを作った

ソースコード(GitHub)

リポジトリ

作者について

イイダリョウ

フロントエンドエンジニア。神奈川に住まう四十路のオジキ。 DTP→Webデザイナーから転向し今に至る。
引き続きコツコツの日々。ブログも書いてます。Webづくり やりたい時が 始め時!