1 视频抽取音频
我手头的视频格式为 mov 或者 mp4格式的,需要首先从视频中抽取音频。
看了下各家对音频数据的格式要求,一般是 pcm/wav/amr/mp3 等,采样率 16k/8k, 位长 16bit,单声道。
用到的视频抽音频工具是 ffmpeg,这个没啥说的了。
针对视频抽取音频:
ffmpeg -y -i audio.wav -acodec pcm_s16le -f s16le -ac 1 -ar 16000 audio.pcm
ffmpeg -y -i audio.wav -acodec pcm_s16le -f s16le -ac 1 -ar 16000 audio.mp3
2 调用各家SDK 对音频文件进行语音识别,并对比效果.
我这里用到的均为python 的SDK,列一下各家的python SDK的链接.
阿里云: https://help.aliyun.com/document_detail/120698.html?spm=a2c4g.11174283.6.576.25fa7275VZyc1R
科大讯飞: https://www.xfyun.cn/services/voicedictation
百度:https://ai.baidu.com/tech/speech/asr
腾讯云: https://cloud.tencent.com/document/product/441/19812
各家的python的SDK 都非常好用,甚至半分钟就能调通,一般去申请下 appid 和 app_key 即可。
科大讯飞的稍微麻烦,因为需要设置白名单ip,这里内网ip是不ok的(192.168.* 127.*),必须是外网ip。
而外网ip还可能会变,去讯飞控制台上设置完5-10min才生效。 比较浪费时间。
效果对比呢,针对不同的测试语料,效果可能存在差异,效果对比不够专业全面。
我测试的数据场景是,口语化较随意的数据 和 方言类数据不少,我说下我这边测到的情况,如有不同,欢迎讨论。
重申下,我测试的视频中的音频呢,偏vlog性质的,口语化,含方言。不是标准普通话的场景。
准确率排名: 科大讯飞 阿里云 > 腾讯云 > 百度。 有不同的结果和看法,欢迎讨论。