我一直在尝试将 mulaw 媒体流传输回 Twilio。要求是有效载荷必须以 8000 的采样率和 base64 编码的音频/x-mulaw 编码
我的输入来自 LINEAR16 Google Docs中的@google-cloud/text-to-speech
我试过Wavefile
这就是我对来自@google-cloud/text-to-speech 的响应进行编码的方式
const wav = new wavefile.WaveFile(speechResponse.audioContent)
wav.toBitDepth('8')
wav.toSampleRate(8000)
wav.toMuLaw()
然后我通过 websocket 将结果发送回 twilio
twilioWebsocket.send(JSON.stringify({
event: 'media',
media: {
payload: wav.toBase64(),
},
streamSid: meta.streamSid,
}))
问题是我们只在 twilio 调用的另一端出现随机噪声,似乎编码不正确
其次,我通过保存在文件中检查了@google-cloud/text-to-speech 输出音频,它正确且清晰
谁能帮我编码