我正在开发一个 Telegram 机器人,它可以接收语音消息,然后让 OpenAI 的 Whisper 转录它们,然后使用 OpenAI 的聊天完成 API 进行响应。
无论如何,Whisper 确实接受
webm
文件作为输入,但不接受 ogg
文件。尽管具有讽刺意味的是,根据我的阅读,webm
容器可以包含纯 ogg
文件作为其配乐。
我不能使用
ffmpeg
,因为我将其部署为无服务器功能(目前在 Vercel 上),我不能保证 ffmpeg
会安装在那里。但我在想,既然 webm
只是一个容器文件,它可以包含原始的 ogg
opus
编解码器作为配乐,难道不能只获取我可以从 Telegram 获得的二进制音频数据,使用const audioData = await response.arrayBuffer()
,并在它的开头和结尾添加一些字节来代表webm
容器?
如果是,那么有人可以告诉我我需要准确添加哪些字节吗?