riffwave.jsのようなjavascriptライブラリから正確なメモ(C、C#、D、Ebなど)を取得できるかどうか誰かが知っていますか?
デモでは可能だと思いますが 、特定の音符のピアノ周波数を、生成されたWaveファイルに必要なデータ配列に移調する方法がわかりません。
riffwave.jsのようなjavascriptライブラリから正確なメモ(C、C#、D、Ebなど)を取得できるかどうか誰かが知っていますか?
デモでは可能だと思いますが 、特定の音符のピアノ周波数を、生成されたWaveファイルに必要なデータ配列に移調する方法がわかりません。
もちろん!キーから周波数へのマッピング関数を作成する必要があります(単なる辞書の場合もあります)。
riffwave.jsを使用して特定の周波数を合成するには、次のようにします。
function simHertz(hz) {
var audio = new Audio();
var wave = new RIFFWAVE();
var data = [];
wave.header.sampleRate = 44100;
var seconds = 1;
for (var i = 0; i < wave.header.sampleRate * seconds; i ++) {
data[i] = Math.round(128 + 127 * Math.sin(i * 2 * Math.PI * hz / wave.header.sampleRate));
}
wave.Make(data);
audio.src = wave.dataURI;
return audio;
}
var audio = simHertz(1000);
audio.play();