大規模な VST が正と負の数でそれを示す方法のオクターブの種類を変更できる単純なオシレーター プログラムを作成しようとしています。
(出典: massynth.com )
ここで、1 オクターブが 1200 セント (半音あたり 100 セント) であることを知っています。私が直面している問題は、Osc コードを作成しているときに、そのピッチがセントで測定されていることに気付きました。
ctx = new webkitAudioContext();
function osc1(pitch){
osc = ctx.createOscillator(),
osc.type = 2; //0 = sine, 1 = square, 2 = saw, 3 = triangle, 4 = custom
osc.frequency.value = pitch; //in cents
gainNode = ctx.createGainNode();
osc.connect(gainNode);
gainNode.connect(ctx.destination);
gainNode.gain.value = 1;
osc.noteOn(0);
};
osc1 (20);
ピッチはノートの周波数を変更するので、私が混乱しているのは、MIDI キーボードがなければどうやって知ることができるかということです
- どの音符が演奏されていますか?
- ノートが再生されている周波数は?
さらに、これらの波形から低音の効いたサウンドを得るにはどうすればよいでしょうか? 1 セント、2 セント、5 セント、20 セントなどでサウンドを生成するいくつかのテストを行って、それらがどのように聞こえるかを確認しました。Osc が 1 セントでピッチを生成すると、低いクリック音しか得られません。 2 セント、4/4 ビートでほぼ同じクリックが得られます。私の理解では、周波数は地図上の点のように見え、同様に、セントはそれらの点の間の距離のように見えます。そうは言っても、サウンドはブラウザから直接生成されているため、セントはどのようにして音符の周波数を決定できるのでしょうか? また、オシレーターのピッチを動かすだけの簡単な場合、オシレーターはどの音から始まりますか? 言い換えれば、あなたが「ピッチング」しているのはどの音ですか?
私自身がかなり混乱していることを考えると、私が書いたことが理にかなっていることを願っています.
助けとフィードバックをありがとう!