IBM Watson语音文本如何要求其WAV文件格式?我曾尝试向watson发送用JavaScript用MediaRecorder记录的wav文件,但收到错误“无法对数据流音频/音频->音频/ x-float-array进行转码。”我从媒体记录器创建了wav文件,创建一个Blob,然后创建一个.wav文件。我可以播放我的.wav文件。我还可以向沃森发送带有我未创建的不同wav文件的帖子,它可以转录音频很好。
我还尝试将音频采样率从每个样本32位降低到每个样本16位。我了解IBM Watson每个样本需要16位,但假设mediaRecorder记录的每个样本为32位?这是我完成该任务的代码。
var output = new DataView(new ArrayBuffer(arrayBuffer.byteLength * 2));
for (var i = 0; i < arrayBuffer.byteLength; i++) {
var multiplier = arrayBuffer[i] < 0 ? 0x8000 : 0x7fff; // 16-bit signed range is -32768 to 32767
output.setInt16(i * 2, (arrayBuffer[i] * multiplier) | 0, true); // index, value ("| 0" = convert to 32-bit int, round towards 0), littleEndian.
}
其中arrayBuffer是从我的blob创建的。当我将输出转换回文件时,出现与上述相同的错误。