从微信中提取语音文件,并转换成文字的全自动化解决方案

电脑杂谈  发布时间:2019-05-13 12:23:08  来源:网络整理

ifly文件_ifly文件是什么意思_ifly文件怎么打开

还可以用这个静态库将silk转化成pcm,@hangcom 亲测可用。

根据刚才那篇博文,用博主的脚本就可以把pcm文件转换成wav文件,而他的解决方案正是ffmpeg:

file pcm wav, file adpcm wav (wav, wave)。pcm wav 文件、adpcm wav 文件(wav、wave)。2, sc)ss-s16(le-16。

播放此wav文件,听到的就是我在微信里发出的语音消息——

“定期整理用户昵称中含有的手机号、用户名、公司。”21.wav (267.3 KB)

从这里下载讯飞的官方iOS demo(注意勾选“语音听写”),在下载的工程中打开“MSCDemo -> MSCDemo -> business -> isr -> IATViewController.h”,其中的pcmFilePath即是音频文件的路径。

在IATViewController.m中的第42行,将pcmFilePath改为wav文件的地址,然后点击下图的“音频流识别”:

ifly文件是什么意思_ifly文件_ifly文件怎么打开

Simulator Screen Shot Mar 26, 2016, 7.06.24 PM.png375×667 23.3 KB

即可快速测试解析功能(注:讯飞iOS SDK仅支持pcm和wav格式的音频文件):

Simulator Screen Shot Mar 26, 2016, 7.44.29 PM.png375×667 25.6 KB

对比上面的wav文件,可以看到解析的偏差很大。因为讯飞的中文语音识别技术已经是全球领先的了,所以不大可能会出现这么大的识别错误。问了下讯飞的技术人员,得知问题可能在这些方面:

Screen Shot 2016-03-26 at 7.51.11 PM.png851×480 48.2 KB

好了,继续研究,看看怎么处理。

ifly文件_ifly文件是什么意思_ifly文件怎么打开

经张总@NavilleZhang

和爱拍的CTO指点:

得知讯飞哥们提到的“单通道,16位,16000/8000”各指的是channels、bit rate/sample size和sample rate。它们在ffmpeg里对应的设置方式分别是-ac channels、-b:a bitrate、-ar rate。我们来试试看:

file pcm wav, file adpcm wav (wav, wave)。pcm wav 文件、adpcm wav 文件(wav、wave)。16-bit linear pcm(*.wav后缀):等于 320 kbps。

识别效果如图:

ifly文件_ifly文件是什么意思_ifly文件怎么打开

Pasted image375×667 26.9 KB

识别得几乎没有问题了。

因为在上面的识别中,“昵称”被听成了“旅程”,还是有些不爽,于是我又擅自改变ffmpeg的参数,想看看能不能做到100%识别准确。ifly文件最后发现,按照如下的参数配置,识别率是最高的:

ffmpeg -f s16le -ar 12k -ac 2 -i /path/to/pcm -f wav -ar 16k -ac 1 /path/to/wav

但是,对于这个事实,我只知其然,不知其所以然,还请懂行的高手赐教


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-98357-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 汪遵
        汪遵

        不过再怎么作死

      • 郑煜蕾
        郑煜蕾

        感谢@SMTOWN让宋茜身高魔术般地变成了最矮的

      热点图片
      拼命载入中...