第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Google 微软 科大讯飞的语音识别引擎对比

Google 微软 科大讯飞的语音识别引擎对比

时间:2019-08-23 01:48:40

相关推荐

Google 微软 科大讯飞的语音识别引擎对比

—Google提供了一个在线语音识别的API接口,通过该API可以进行中文、英文等语言的识别。 API地址:/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN&maxresults=1 —参数解释

xjerr:错误标准

client: 客户端类型

lang:待识别语言类型,en-US是英文,中文为zh-CN,

maxresults:最大返回识别结果数量

—识别基本流程: ◦从音频输入设备获取原始音频并编码或直接调用音频文件。 ◦将音频POST至接口地址。 ◦分析处理返回的JSON并得出结果。 —请求接口 ◦地址:如前 ◦请求方式:http post ◦请求数据:编码后的音频数据 ◦音频编码格式:wav、speex或flac。 ◦音频采样频率:8000Hz、11025Hz、16000Hz、22050Hz、24000Hz、32000Hz、44100Hz、48000Hz —主要优点 ◦语音识别引擎庞大,识别精度很高,适用于文本语音识别。提供多国语言的语音识别。 ◦任何平台都可以进行访问,容易使用。 —主要缺点 ◦API未开放,未能获知具体开发细节。 ◦识别引擎位于服务器端,识别的速度和网络质量有关,识别速度较慢。 ◦待识别音频的格式、大小、时长的限制。

MicrosoftSpeech SDK

—Microsoft Speech SDK是微软公司提供在Windows平台上开发语音识别和语音合成应用程序的开发包,简称为SAPI,内含SR(Speech Recognition)和SS(Speechsynthesis)引擎,因此可以很方便地在自己的应用程序中添加这些功能。 —该语音引擎支持多种语音的识别和朗读,包括英文、日文、中文等。微软推出的应用编程接口API,虽然现在不是业界标准,但是应用比较广泛。 —识别基本流程: ◦从音频输入设备获取原始音频并编码或直接调用音频文件。 ◦设定语音引擎和识别上下文等内容,配置本地访问属性。 ◦分析处理得到的文本结果 —请求接口 ◦请求方式:本地访问 ◦请求数据:编码后的音频数据 ◦音频编码格式:wav ◦音频采样频率:8000Hz、11025Hz、16000Hz、22050Hz、24000Hz、32000Hz、44100Hz、48000Hz —主要优点 ◦基于COM组件,便于与DirectShow中的组件整合。 ◦语音识别引擎位于本地,便于访问,识别速度较快。 ◦待识别音频的大小、时长无限制。 —主要缺点 ◦缺少其他平台的支持,仅支持windows平台。 ◦语音识别引擎不够庞大,识别精准度较低。 ◦仅提供中日英三种语言的语音识别功能。

iFLY Mobile Speech Platform 2.0

—科大讯飞为开发者提供了语音应用开发平台,提供语音合成、语音听写、语音识别、声纹识别等服务,为语音应用开发爱好者提供方便易用的开发接口,使得用户能够基于该开发接口进行多种语音应用开发。 —其主要功能有: ◦实现基于HTTP协议的语音应用服务器,支持语音合成、语音听写、语音识别、声纹识别等服务 ◦提供基于移动平台和PC上的语音客户端子系统,内部集成音频处理和音频编解码模块,提供关于语音合成、语音听写、语音识别和声纹识别完善的API —只需要在上申请成为开发者,便可以下载相关的SDK和开发文档。 —主要优点 ◦支持平台丰富,各个平台上都有相应的详细SDK文档 ◦语音识别引擎较庞大,对中文的识别精度很高。 ◦具端点检测功能,便于划分识别文本的句子。 —主要缺点 ◦识别引擎位于服务器端,须远程访问,识别速度较慢。 ◦对语言支持不如Google,目前仅支持中文听写。 ◦需要使用1028端口,在某些地方会有使用限制。 ◦当软件用户达到百万次后,需要开始收费。 —测试流程: ◦从麦克风输入语音并编码或直接调用音频文件,调用的音频文件主要是从电影或是新闻节目中提取其音频,前者主要体现识别语音口音的多样性,后者是体现识别语音口音的正规性,从麦克风输入体现对针对某个人特定的口音。主要测试音频文件格式为wav和flac(flac需要由相同采样率的wav转换而来)测试采样率有8KHz、16KHz、24KHz、32KHz、44.1KHz。 ◦分析各个引擎的识别准确度和花费时间时,选取了5段时长为25S、平均长度为150个中文字符的音频作为其测试音频,记录识别正确的文字和花费时间,准确度以识别正确的文字/文本总字数,同时包含识别出的单独的字、词,花费时间对于非本地引擎需要考虑音频传送和结果返回的时间。 ◦分析各个引擎中语速对识别准确度的影响,针对同一文本,测试不同语速(分为慢速、中速、快速)的音频,且时间均控制在25S,仅选取了24KHz和44.1KHz音频进行测试,因为由测试准确度的测试中,已经得出在24KHz和44.1KHz情况下,识别精确度较高。 ◦分别用google、Microsoft和科大讯飞语音识别引擎对测试音频文件进行测试。其中使用google和科大讯飞引擎需通过访问其相关服务器,而Microsoft的语音识别引擎则是从本地进行访问。 ◦对所得结果进行数据分析,列出数据表格,分析各自引擎的优缺点。 — 测试结果: ◦语速对识别时间的影响 慢速 中速 快速 Google 8s8.94s 10.125s SAPI6.06s 6.63s5.375s 科大讯飞 34.6s 35s 23.6s ◦语速对识别精度的影响 慢速 中速快速 Google78.93% 77.52%11.58% SAPI 28.7% 42.79% 6.81% 科大讯飞 78.2% 80.48% 15.53% 结果评价: —1.Google ◦Google语音识别引擎可以识别wav格式音频,但是测试所用wav均为非原始wav故识别精度很低,若将其转换为flac后则识别精度增加。对于flac格式中文音频,快速语音准确率达到11.58%,中速语音准确率达到72.52%,平均花费时间8.94S。慢速语音准确率达到78.93%,平均花费时间为8S。对于英文音频,快速语音准确率达到40.22%,中速语音准确率达到89.2%,慢速语音准确率达到80.58%,平均花费时间各为9.2s,8.5s和9.9s。 ◦不同的音频采样率对识别效果和花费时间有影响,识别效果主要体现在音频中间部分名词和音频末端1s的识别结果,于中文而言新闻类平均准确率为72.37%,电影类平均准确率为44.36%。于英文而言,电影类平均准确率为35.3%。平均花费时间采样率越大,识别时间越短,如24KHz和44.1KHz的同样内容音频,后者时间少1S左右。 ◦对于google语音识别引擎,由于语速过快会导致识别不准确,会出现多个音识别为一个字的现象,故所用时间较短,但是准确度较差。而语速过慢时,虽然语音的特征更加明晰会使得准确率上升,但是字与字之间的联系不密切,会出现本该是一个词却识别为同音的两个字,导致准确率下降,故其平均准确率和中速识别率相当,另一方面是所需识别的字较少,故识别时间相对中速短。 ◦对于视频流提取的音频和麦克风输入人声的识别,麦克风输入人声的平均准确度高于视频流中的的平均准确度,原因是视频流中的人声会带有各种口音一般带有背景噪音,而麦克风输入人声是单一的稳定的,背景噪音较小。准确度顺序大致为:新闻类>特定人>电影类,但不能忽略电影中也存在普通话标准发音。对于时间长度为20s以上的快速语音,测试期间无法识别,一直未能返回正确结果。不知原因。对于特定人输入的音频,音频头尾都可正确识别。若是输入视频流中音频,头尾1S的内容都不能很好的识别,容易出错。 ◦Google语音识别引擎数据库丰富,可以识别大部分日常用语,还包括当下流行词汇,人名,地名等。对于新闻类词汇判别比较准,而特定专业类名词通常以同音字代替。 ◦对于google识别的时间包括网络发送音频数据包时间,识别花费时间,返回结果时间。由于引擎位于服务器,需要通过网络访问,故网络质量在识别时间上占据极重要的位置,识别过程中经常会发生访问延迟、访问超时和请求无效等错误,故应该在网络良好的条件下使用google引擎,这也是非本地语音引擎库的缺点。同时音频文件超过1M时,也无法正确返回结果,估计是服务器的文件限制。 ◦若考虑语音的精准度,则倾向于选择google语音识别引擎。—2.SAPI ◦微软的SAPI语音识别引擎可以识别任意采样率的wav格式音频,当采样率比较低时如仅为8KHz,音频内容采样过程中会缺失,故识别不准确,理论上来说,采样率越高,识别精度越好。但是采样率超过一定值后,改进并不明显。经过测试得出以44.1KHz采样率识别精度较好,且花费时间较短。快速语音准确率为6.81%,中速语音准确率达到42.79%,平均花费时间6.63S。慢速语音准确率达到28.7%,平均花费时间为6.06S。识别效果主要体现在音频中间部分名词和音频末端1s的识别结果,新闻类平均准确率51.48%,电影类平均准确率为41.43%,特定人平均准确率为53.06%。 ◦对于特定人输入的音频,音频头尾都可正确识别。若是输入视频流中音频,头尾1S的内容容易漏识别,且漏识别内容并非不显示,而是以其他文字代替诸如“他、淡”等字,影响了识别结果的理解。 ◦微软语音识别引擎数据库位于本地,访问方便、快捷,无需考虑网络延迟、音频文件过大无法传送等问题。其缺点便是本地数据库的大小限制了其识别精度,需要通过长时间的训练才有可能达到比较高的精准度,而相比之下google引擎数据库可以收集网络上的所有资料,训练文本并不缺乏,容易达到很高的精准度。SAPI可以识别大部分日常用语和常用的新闻词汇,但是对当下流行词汇,人名,地名识别精度很低,对特定专业类名词通常也以同音字代替。 —3.科大讯飞 ◦科大讯飞语音识别引擎仅可识别wav格式音频,为了达到理想的效果,有诸如条件限制,如音频须为采样率16KHz、每采样一点16bit、单声道,且音频长度小于90s。由于具有端点检测功能,每句话的长度不宜过长。快速语音准确率达到17.63%,平均花费时间29.2S。中速语音准确率达到80.48%,平均花费时间35S。慢速语音准确率达到78.2%,平均花费时间为34.6S。平均花费时间比另外两个引擎多了许多,主要原因是其端点检测功能,故一次能识别的语句长度有限制,需要分段识别,因此加长了识别的时间。 ◦端点检测的好处是方便音频中句子的分段,易于对对识别结果的理解。 ◦其引擎库也是位于服务器,需要通过网络访问,识别的时间包括网络发送音频数据包时间,识别花费时间,返回结果时间。网络质量在识别时间上也占据极重要的位置,且其需要开启80/1028端口后才能有效使用该引擎。待识别的音频需要质量清晰,一般对于网上流媒体而言,声音质量不高,识别较困难。 以上的SAPI和科大讯飞的测试DEMO都是用他们SDK里自带的。GOOGLE的C#代码可参照/eboard/archive//02/29/speech-api.html 另外介绍关于google语音识别的内容还可以参照/dlangu0393/article/details/7214728本文中有转载其小部分内容。

由于测试样本数量并不算多,因此以上测试仅供参考

转自 /yylsheng/article/details/8364487

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。