4
有誰知道它是否有可能從像javascript庫得到一個精確的筆記(C,C#,D,Eb等),如riffwave.js?獲取精確的筆記與riffwave.js
演示讓我覺得是可能的,但我不確定如何將給定音符的piano frequency 轉置到生成的wave文件所需的數據數組中。
有誰知道它是否有可能從像javascript庫得到一個精確的筆記(C,C#,D,Eb等),如riffwave.js?獲取精確的筆記與riffwave.js
演示讓我覺得是可能的,但我不確定如何將給定音符的piano frequency 轉置到生成的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();
曾在迴路中「.sampleRate」後刪除*,但除此之外,當場!謝謝。 – 2013-03-10 20:14:42
哎呀!那裏有一個變量來定義音頻播放的時間。編輯來解決這個問題。 – fuzic 2013-03-10 20:20:36