我正在尝试使用微软的Bot框架为Facebook Messenger创建一个机器人,它将执行此操作:
-
获取通过Facebook Messenger发送的用户语音消息
-
将语音转换为文本
-
用它做点什么
从Messenger获取语音消息没有问题(可以从机器人收到的消息中提取URL),将音频文件转换为语音也没有问题(使用Bing Speech API或Google的类似API) .
但是,这些API需要PCM(WAV)文件,而Facebook Messenger会为您提供MP4文件 .
是否有一种流行的/标准的方式将一种格式转换为另一种用于编写机器人的格式?
到目前为止,我最好的想法是在我的服务器上运行 vlc.exe
作为控制台作业并转换文件,但这听起来不是最好的解决方案 .
1 回答
开发了一个解决方案,其工作方式如下:
从Facebook接收语音留言
使用
Activity.Attachments
中的链接将MP4文件下载到本地磁盘使用MediaToolKit(FFMPEG的包装器)将MP4 / AAC转换为本地服务器上的WAV
将WAV发送到Bing Speech API
所以我的问题的答案是:使用MediaToolKit ffmpeg转换文件格式 .
示例实现和代码:https://github.com/J3QQ4/Facebook-Messenger-Voice-Message-Converter