モノオシレータシンセの研究

音量1.0
モノオシレータシンセの研究(開設日2019/12/22)
 Web Audio Api を利用して、ピアノオルガン等の音源を作成しておりまして、シンセ正弦波シンセ矩形波等も作っております。
私も少し鳴らしてみたのですが、シンセ正弦波、シンセ矩形波などの音では、立ち上がりが速いなとも感じていました。もう少し違う立ち上がりの音も鳴らしたいなと思いまして、当ページの「立ち上がり時間の変化」の項目で、音の出始めが異なる音源を作りました。さらには、立ち上がりの差だけではなく、他の変数も少しずつ変えた音も作っていく予定です。Web Audio Apiの基本技集という感じになります。基本的にすべて音出し・演奏可能にしたいと思います。こういうのを組み合わせて、ピアノやオルガン、弦管打楽器などの音をつくっています。
モノオシレータシンセについて
 今回は、Web Audio Apiの機能として備わっておりますオシレータを1つ使用して、音を出していきます。モノオシレータとうたっておりますが、同時押しで和音を演奏することはできます。既存のシンセ矩形波等も同じ仕様になっております(1打鍵は1オシレータのみで但し和音は可能)。
 以下のリンク先の各ページで音出し・演奏ができます。リンク先に解説もありますが、リンク先での解説のテキストが今の所、全般的に少な目になっております。各わくの1番上のリンクの音源は、リンク先での説明を優先的に多めにしてあります。
 2個目の項目(減衰時間の変化)以降の、音の立ち上がり時間は、0.01秒にしてあります。
各音源名を英文字で表し、各音源の整理・管理のために、最初と最後にアルファベットを付しています。
最初…主題ごと
 a-(音の立ち上がりや減衰に関して、ADSRのa)、b-(1音内での周波数の変更についてpitch bendのb)、f-(フィルタに関して)、c-(カスタムウェーブに関して)、u-(バッファに関して。bufferの2文字目のu)、w-(ウェーブシェーパーのw)
最後…使用する波形ごと
 -s(正弦波)、-t(三角波)、-q(矩形波。squareのq)、-w(のこぎり波。sawのw)、-c(カスタムウェーブ、前記4つ以外をフーリエ係数で指定したもの)、-n(ノイズ、12秒程度をあらかじめ乱数で配列に書きこんでおきます)
(立ち上がり時間の変化)以下では、各波形別に、その立ち上がり時間を変えたものです。

正弦波
a_atk001_s 立ち上がり時間0.01秒 この5種内では最も早い
a_atk002_s 立ち上がり時間0.02秒
a_atk003_s 立ち上がり時間0.03秒
a_atk005_s 立ち上がり時間0.05秒
a_atk010_s 立ち上がり時間0.10秒 遅い立ち上がり

三角波
a_atk001_t 立ち上がり時間0.01秒
a_atk002_t 立ち上がり時間0.02秒
a_atk003_t 立ち上がり時間0.03秒
a_atk005_t 立ち上がり時間0.05秒
a_atk010_t 立ち上がり時間0.10秒

矩形波
a_atk001_q 立ち上がり時間0.01秒
a_atk002_q 立ち上がり時間0.02秒
a_atk003_q 立ち上がり時間0.03秒
a_atk005_q 立ち上がり時間0.05秒
a_atk010_q 立ち上がり時間0.10秒

のこぎり波
a_atk001_w 立ち上がり時間0.01秒
a_atk002_w 立ち上がり時間0.02秒
a_atk003_w 立ち上がり時間0.03秒
a_atk005_w 立ち上がり時間0.05秒
a_atk010_w 立ち上がり時間0.10秒
(減衰時間の変化)以下では、各波形で、減衰の早さを変えたものです。打鍵したままで、音が次第に小さくなります。

正弦波
a_ar200_s 打鍵したままで、非常にゆっくり減衰する。
a_ar100_s
a_ar040_s
a_ar020_s 打鍵したままで、かなり速く減衰する。
a_ar001_s 極端に速く減衰する。

三角波
a_ar200_t
a_ar100_t
a_ar040_t
a_ar020_t
a_ar001_t

矩形波
a_ar200_q
a_ar100_q
a_ar040_q
a_ar020_q
a_ar001_q

のこぎり波
a_ar200_w
a_ar100_w
a_ar040_w
a_ar020_w
a_ar001_w
(トレモロ)以下では、音量を上下に周期的に変化させます。

a_tremolo_s 正弦波のトレモロ
a_tremolo_t 三角波のトレモロ
a_tremolo_q 矩形波のトレモロ
a_tremolo_w のこぎり波のトレモロ
(1ノートクレッシェンド)以下では、音量をゆっくりと変化させます。
a_onenotecresc_s 正弦波のワンノート・クレッシェンド
a_onenotecresc_t 三角波のワンノート・クレッシェンド
a_onenotecresc_q 矩形波のワンノート・クレッシェンド
a_onenotecresc_w のこぎり波のワンノート・クレッシェンド
(ビブラート)以下では、周波数を上下に周期的に変化させます。
b_vibrato_s 正弦波のヴィヴラート
b_vibrato_t 三角波のヴィヴラート
b_vibrato_q 矩形波のヴィヴラート
b_vibrato_w のこぎりのヴィヴラート
(ピッチベンド)以下では、周波数を低音に変化させます。
正弦波のピッチベンド
b_pitchbendlower120_s 12秒で1オクターブ下がる
b_pitchbendlower030_s 3秒  〃
b_pitchbendlower010_s 1秒  〃
b_pitchbendlower004_s 0.4秒 〃
b_pitchbendlower002_s 0.2秒 〃
b_pitchbendlower001_s 0.1秒で1オクターブ下がる

三角波のピッチベンド
b_pitchbendlower120_t 12秒で1オクターブ下がる
b_pitchbendlower030_t
b_pitchbendlower010_t
b_pitchbendlower004_t
b_pitchbendlower002_t
b_pitchbendlower001_t 0.1秒で1オクターブ下がる

矩形波のピッチベンド
b_pitchbendlower120_q 12秒で1オクターブ下がる
b_pitchbendlower030_q
b_pitchbendlower010_q
b_pitchbendlower004_q
b_pitchbendlower002_q
b_pitchbendlower001_q 0.1秒で1オクターブ下がる

のこぎり波のピッチベンド
b_pitchbendlower120_w 12秒で1オクターブ下がる
b_pitchbendlower030_w
b_pitchbendlower010_w
b_pitchbendlower004_w
b_pitchbendlower002_w
b_pitchbendlower001_w 0.1秒で1オクターブ下がる
(ローパスフィルタ)以下では、ローパスフィルタを通して、高音の成分を弱めて鳴らします。

f_lpfdiv100_q 矩形波の除数1(フィルタ周波数(カットオフ周波数)とオシレータ周波数が同じHz)

三角波
f_lpfdiv100_t 除数1(フィルタとオシレータの周波数が同じ、フィルタきつめにかけた)
f_lpfdiv050_t 除数0.5
f_lpfdiv025_t 除数0.25
f_lpfdiv012_t 除数0.125
f_lpfdiv006_t 除数0.0625(フィルタの周波数はオシレータの16倍、フィルタ軽めにかけた)

矩形波
f_lpfdiv100_q 1番上のリンクと同じもの(除数1、フィルタきつめ)
f_lpfdiv050_q
f_lpfdiv025_q
f_lpfdiv012_q
f_lpfdiv006_q 除数0.0625(フィルタの周波数はオシレータの16倍、フィルタゆる目)

のこぎり波
f_lpfdiv100_w 除数1(フィルタとオシレータの周波数が同じ、フィルタきつい)
f_lpfdiv050_w
f_lpfdiv025_w
f_lpfdiv012_w
f_lpfdiv006_w 除数0.0625(フィルタの周波数はオシレータの16倍、フィルタゆる目)
(バンドパスフィルタ)以下では、バンドパスフィルタを通して、特定の倍音成分を強調させて鳴らします。

f_bpfdiv033_t 三角波の除数0.33(3倍音を強調した音)
f_bpfdiv033_t 三角波の除数0.20(5倍音を強調した音)

f_bpfdiv033_q 矩形波の除数0.33
f_bpfdiv033_q 矩形波の除数0.20

f_bpfdiv050_w のこぎり波の除数0.50(2倍音を強調した音)
f_bpfdiv033_w のこぎり波の除数0.33(3倍音を強調した音)
f_bpfdiv025_w のこぎり波の除数0.25(4倍音を強調した音)
f_bpfdiv020_w のこぎり波の除数0.20(5倍音を強調した音)

f_bpfdiv050q2_w のこぎり波の除数0.50、Q値2(2倍音をさらに強調した音)
f_bpfdiv033q2_w のこぎり波の除数0.33、Q値2(3倍音をさらに強調した音)
f_bpfdiv025q2_w のこぎり波の除数0.25、Q値2(4倍音をさらに強調した音)
f_bpfdiv020q2_w のこぎり波の除数0.20、Q値2(5倍音をさらに強調した音)
(カスタムウェーブ・1)以下では、カスタムウェーブで鳴らします。
あらかじめ用意されている矩形波等を、(わざわざ)フーリエ級数の係数を指定することで鳴らします。
c_triangle_c 三角波
c_square_c 矩形波
c_sawtooth_c のこぎり波
(カスタムウェーブ・2)以下では、カスタムウェーブで鳴らします。
矩形波・のこぎり波のフーリエ級数の式の係数(の分母)を少し変形してみます。

のこぎり波の倍音成分を弱めたもの
c_sawmulbase090pow_c 少し弱めた
c_sawmulbase080pow_c
c_sawmulbase075pow_c
c_sawmulbase070pow_c
c_sawmulbase060pow_c
c_sawmulbase050pow_c
c_sawmulbase040pow_c
c_sawmulbase030pow_c
c_sawmulbase025pow_c
c_sawmulbase020pow_c
c_sawmulbase010pow_c かなり弱めた

のこぎり波のフーリエ係数の分母をnの2乗と、(n+1)の2乗にしたもの
c_sawcoefsquared_c
c_sawcoefdivplus1squared_c

c_trisqwmean_c 三角波と矩形波との折衷
(カスタムウェーブ・3)以下では、カスタムウェーブで鳴らします。
パルス波を作成します。

定番的な
c_pulse25_c パルス波 25% 1/4 1:3
c_pulse12_c パルス波 12.5% 1/8 1:7

上記以外で分子が1のもの
c_pulse10_c パルス波 10% 1/10
c_pulse11_c パルス波 11.11% 1/9
c_pulse14_c パルス波 14.28% 1/7
c_pulse16_c パルス波 16.67% 1/6
c_pulse20_c パルス波 20% 1/5 1:4
c_pulse33_c パルス波 33.33% 1/3 1:2

分子が1以外のもの
c_pulse30_c パルス波 30%
c_pulse40_c パルス波 40%
c_pulse22_c パルス波 22.22%
c_pulse44_c パルス波 44.44%
(カスタムウェーブ・4)以下では、カスタムウェーブで鳴らします。
 フーリエ係数を等比数列で設定します。音源としての一貫性を2通り考え、2グループ作ってあります。前者は低音が弱めになり、後者はその逆になっているように聴こえると思います。低音部での比較で、各音源の特徴が比較的出ると思われます。

c_overtone6dbperoct_c
c_overtone12dbperoct_c
c_overtone18dbperoct_c

c_spectrumangle10_c
c_spectrumangle15_c
c_spectrumangle20_c
c_spectrumangle25_c 解説あり
c_spectrumangle30_c
c_spectrumangle35_c
c_spectrumangle40_c
c_spectrumangle50_c
c_spectrumangle60_c
c_spectrumangle80_c
c_spectrumangle100_c
c_spectrumangle120_c
(カスタムウェーブ・5)以下では、倍音列のうち特定の倍音のみをカスタムウェーブで鳴らします。
便宜上1倍音を「ド」とします。
c_harmonics1upto64th_c 「ド」のみの倍音で音源を構成。
c_harmonics1upto32th_c
c_harmonics1upto16th_c
c_harmonics1upto8th_c
c_harmonics1upto4th_c

c_harmonics15upto64th_c 「ド・ソ」のみの倍音で音源を構成。
c_harmonics15upto32th_c
c_harmonics15upto16th_c
c_harmonics15upto8th_c
c_harmonics15upto4th_c

c_harmonics153upto64th_c 「ド・ソ・ミ」のみ。
c_harmonics153upto32th_c
c_harmonics153upto16th_c
c_harmonics153upto8th_c

c_harmonics1537upto64th_c 「ド・ソ・ミ・シ♭」のみ。
c_harmonics1537upto32th_c
c_harmonics1537upto16th_c
c_harmonics1537upto8th_c

c_harmonics15372upto64th_c 「ド・ソ・ミ・シ♭・レ」のみ。
c_harmonics15372upto32th_c
c_harmonics15372upto16th_c
(カスタムウェーブ・6)以下では、傾いた三角波の波形をカスタムウェーブで鳴らします。

定番かどうか知らないけど
c_tiltedtriangle25_c
c_tiltedtriangle12_c

上記以外のもの
c_tiltedtriangle33_c
c_tiltedtriangle20_c
c_tiltedtriangle10_c
c_tiltedtriangle5_c
c_tiltedtriangle2_c
c_tiltedtriangle1_c
(バッファー・1)以下では、バッファーでノイズを鳴らします。
 これらの音源は、どの鍵盤を打鍵しても同じ音が鳴ります。
u_whitenoise_n ホワイトノイズ

 以下は青っぽいノイズです。
u_diff1noise_n 差分ノイズ
u_diff2noise_n
u_diff3noise_n
 以下は赤っぽいノイズです。
u_sum1noise_n 和分ノイズ
u_sum2noise_n
u_powseriesnoise995_n べき級数によって加工されたノイズ
u_harmonicprognoise_n 調和数列によって加工されたノイズ
(ウェーブシェーパー・1)以下では、ウェーブシェーパーで鳴らします。
 
w_sine_t 三角波をウェーブシェーピングして正弦波にします。
w_triangle_s 正弦波をウェーブシェーピングして三角波にします。

(ウェーブシェーパー・2)以下では、ウェーブシェーパーで鳴らします。直線的なウェーブシェーパーに正弦波と三角波を通します。
w_p75100_s 正弦波を通します。
w_m75100_s
w_m50100_s
w_m25100_s
w_p10075_s
w_m10075_s
w_p75100_t 三角波を通します。
w_m75100_t
w_m50100_t
w_m25100_t
w_p10075_t
w_m10075_t
(ウェーブシェーパー・3)以下では、ウェーブシェーパーで鳴らします。各曲線を元にしたウェーブシェーパーに正弦波と三角波を通します。

正弦波を通します。
w_sinedsined_s
w_twoxdivxsqplusone_s
w_minusxsqplustwox_s
w_atanxminushalfx_s
 
三角波を通します。
w_sinedsined_t
w_twoxdivxsqplusone_t
w_minusxsqplustwox_t
w_atanxminushalfx_t
(ウェーブシェーパー・4)以下では、ウェーブシェーパーで正弦波を変化させて鳴らします。
 
w_chebyshev7atk006_s チェビシェフ7次、立ち上がり時間0.06秒
w_chebyshev7atk003_s 0.03秒
w_chebyshev7atk001_s 0.01秒
w_chebyshev5atk006_s チェビシェフ5次、立ち上がり時間0.06秒
w_chebyshev5atk003_s 立ち上がり時間0.03秒
w_chebyshev5atk001_s 立ち上がり時間0.01秒
w_chebyshev3atk006_s チェビシェフ3次、立ち上がり時間0.06秒
w_chebyshev3atk003_s 立ち上がり時間0.03秒
w_chebyshev3atk001_s 立ち上がり時間0.01秒

(ウェーブシェーパー・5)以下では、ウェーブシェーパーで三角波を変化させて鳴らします。
 
w_chebyshev7atk006_t チェビシェフ7次、立ち上がり時間0.06秒
w_chebyshev7atk003_t 0.03秒
w_chebyshev7atk001_t 0.01秒
w_chebyshev5atk006_t チェビシェフ5次、立ち上がり時間0.06秒
w_chebyshev5atk003_t 0.03秒
w_chebyshev5atk001_t 0.01秒
w_chebyshev3atk006_t チェビシェフ3次、立ち上がり時間0.06秒
w_chebyshev3atk003_t 0.03秒
w_chebyshev3atk001_t 0.01秒

以下の鍵盤では、立ち上がり時間0.01秒の正弦波の音出しをする事ができます。
以下の鍵盤の音は、a_atk001_s と同じ音源です。
    15mb     8vb     loco     8va     15ma        

C
D
E
F
G
A
B
C
D
E
F
G

F
G
A
B
C
D
E
F
G
A
B
録音機能「ライン録りくん(仮称)」
  
status:ready
time :0 sec.

モノオシレータシンセの研究TOP   timbre code:a_atk001_s

home(音楽の理論のページ)  >  おんげん!のindexページ