Для на чала о том, как вытащить массив данных из аудиофайла, выбранного на компьютере с помощью диалога:
<input id=myfile type=file>
var data_L, data_R;
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var source = audioCtx.createBufferSource();
myfile.onchange = function(){
var reader = new FileReader();
reader.readAsArrayBuffer(this.files[0]);
reader.onload = function(e){
audioCtx.decodeAudioData(e.target.result, function(buffer){
data_L = buffer.getChannelData(0); // получаем исходные семплы
data_R = buffer.getChannelData(1); // аудиофайла с помощью Web Audio API
// Теперь соответственно в массивах data_L и data_R находятся
// аудиоданные левого и правого каналов аудиофайла
});
}
}
Чуть позже изложу, как вытащить массив данных из аудиофайла на сервере.