有谁知道是否可以从riffwave.js 之类的 javascript 库中获得精确的注释(C、C#、D、Eb 等) ?
该演示让我认为是可能的,但我不确定如何将给定音符的钢琴频率 转换为生成的波形文件所需的数据数组。
有谁知道是否可以从riffwave.js 之类的 javascript 库中获得精确的注释(C、C#、D、Eb 等) ?
该演示让我认为是可能的,但我不确定如何将给定音符的钢琴频率 转换为生成的波形文件所需的数据数组。
当然!您想创建一些从键到频率的映射函数(可能只是一个字典)。
要使用 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();