微软学生项目-微信语音转码为WAV格式
本项目的宗旨在于将微信语音转换为通用的wav格式。微信语音的格式为SILK,是Skype开发的一种专为网络语音传输使用的格式,具有体积小但保真度高的特点。SILK格式首先需要转换为PCM格式,再将PCM格式转换为WAV格式。目前,在Windows平台上已经实现了SILK->PCM->WAV的转换,Mac和Linux平台上只实现了SILK->PCM的转换。
下面以Windows平台为例说明我们项目的工作流程。
使用Skype官方提供的解码器完成工作。转换器为silk2pcm.exe
。
PCM格式与WAV格式基本一致,区别只在于它们的文件头部,WAV比PCM多一些音频文件的说明信息,这些信息可以通过文件本身计算出来,写入文件头部即可。我们原先将这个转换过程使用一个独立的转换器进行,后来将以上两个过程合并到一个转换器上,即silk2wav.exe
。
我们使用Python(3.6版本)编写了使用转换器的脚本,使用方法如下。
如图所示,运行脚本,按照提示输入要转换的文件的名称(若文件不在脚本所在的目录下还要输入地址),或直接将文件拖入命令行窗口;接下来输入转换之后的文件名称(地址问题同上)即可。双引号"不是必须的。
可能是由于编码的问题,同样的PCM->WAV转换器在Mac平台上无法正确运行,我们未能解决这个问题。