目前getUserMedia
正在从48Khz获得音频(从麦克风)。但是我的语音识别服务器只能使用16Khz的音频(可能是48Khz,但它会进行下采样)。我的目标是节省带宽,在客户端进行下采样。降采样48khz到16khz - Javascript
recorder.onaudioprocess = function(e){
if(!recording) return;
console.log ('recording');
left = e.inputBuffer.getChannelData(0);
Stream.write(convertoFloat32ToInt16(left));//write to server
}
function convertoFloat32ToInt16(buffer) {
var l = buffer.length;
var buf = new Int16Array(l)
while (l--) {
if(l%3==0){
buf[l/3] = buffer[l]*0xFFFF;
}
}
return buf.buffer
}
您的其他任何实现? 编辑: 我把nodejs服务器录制相同的音频到一个文件,然后用matlab打开它。这些文件具有相同的大小。不应该,对吧?
Matlab的阴谋 - 16K
Matlab的阴谋 - 48K
既然你没有真正的问题,但你正在寻求确认,我会说你的帖子属于codereview,而不是stackoverflow。投票结束在这里。 (http://codereview.stackexchange.com/) – GameAlchemist