百度语音识别技术

联合创作 · 2024-08-28 16:41

优势能力

完全永久免费

业界首创完全永久免费新形式,为开发者提供基于百度大脑的业界顶级声学模型和语音模型。完全免费,永久使用,彻底摆脱有效期限制。

全平台REST API

行业率先推出语音识别全平台REST API,再也不用纠结没有SDK、SDK包太大,采用http方式请求,可适用于任何平台的语音识别,给你最大自由度!

离线在线融合模式

SDK可以根据当前网络状况及指令的类型,自动判断使用本地引擎还是云端引擎进行语音识别,极速识别、流量节省两不误!

深度语义解析

支持多达35个垂类领域的语义理解定制,以及和问答对设置。让你的应用理解用户的意图!

场景识别定制

开发者可根据使用场景,自定义设置识别垂类模型。有音乐、视频、地图、游戏、电商共17个垂类可供选择。一步设置,精准到位!

自定义上传语料、训练模型

开发者可以自行上传词库,训练专属识别模型。提交的语料越多、越全,语音识别的效果提升也会越明显。

接入指南

注册百度开发者

使用百度语音技术服务首先需要注册成为百度开发者,如果您在登陆百度账号后进入“应该管理”出现如下提示,说明您的百度账号还没有注册成为百度开发者。请按要求填写开发者信息并完成百度开发者的注册。

创建应用

在首页登陆已经注册为开发者的百度账号,然后点击页面上方的“应用管理”进入应用管理页面。如果您之前在创建过应用,则会出现您之前曾经创建过的应用;如果您之前没有创建过应用,则需要新创建一个应用。

1、点击右上角填写应用名称并选择应用垂类信息,即可创建一个新的应用。

2、创建成功后,新创建的应用会出现在应用列表最上方的位置。

3、点击“查看Key”可以查看当前应用的AppID、 API Key、Secret Key信息。

开通服务

如果您曾经在百度开发者中心管理控制台申请开通了语音技术服务,在这里您可以直接使用;对于新创建或从未开通语音技术服务的应用,则需要开通语音技术服务之后才可以使用。

1、点击应用卡片上的按钮,选择“语音识别”服务进行开通。

2、“语音识别”服务开通成功后即可获得50000次/天的在线调用次数配额。

申请提高配额

如果开通服务时初始分配的在线服务调用配额无法满足您的需求,可以申请提高配额。

1、点击对应服务的“管理”在下拉列表中选择“申请提高配额”。填写详细的预计日调用次数、应用介绍等信息后提交。管理员会在1个工作日内完成审核。

2、如果审核通过,则当前应用该服务的日调用次数将不再受配额限制。如果审核被拒绝,您可以再次提交申请。

申请离线授权

选择应用的语音识别的管理菜单,点击“申请离线License”。

选择应用类型为Android或者iOS,填写并提交离线授权所需信息:Android应用为应用包名和签名MD5值,iOS应用为Bundle ID。提交成功后即获取离线识别正式授权。

注:请确保填写提交的信息准确,否则会无法通过离线授权验证导致离线识别不可用。

如果暂时没有应用包名或者签名信息,可以先下载临时License文件,并集成到本地项目中进行测试使用。临时License有效期为30天,失效后请申请正式license,并从您的项目中删除临时的license。

开发集成

前往语音识别服务相关下载页面,下载开发所需的 SDK 及开发文档到本地进行集成开发。

常见问题

Q:语音识别REST API支持的音频格式、采样率有哪些?

A:支持的压缩格式有:pcm(不压缩)、wav、opus、speex、amr、x-flac。原始 PCM 的录音参数必须符合 8k/16k 采样率、16bit 位深、单声道。

Q:语音识别 REST API 最长支持多长的录音?

A: 最长支持60s的录音文件。对文件大小没有限制,只对时长有限制。

Q:语音识别SDK支持的音频格式、采样率有哪些?

A:

Android SDK:支持Android 2.2及以上系统,支持ARM\。安装包最小增加200k,支持8k/16k采样率,支持pcm格式。

iOS SDK:支持iOS 5.0及以上系统,支持ARM-v7\ARM-v7s\ARM64\i386\x86_64架构。安装包最小增加400k,支持8k/16k采样率,支持pcm格式。

Q:什么是语音识别REST API?有什么注意事项?

A:语音识别全平台REST API,采用http方式请求,可适用于任何平台的语音识别。使用REST API,录音、压缩及上传模块需要自行开发。且REST API语音识别暂时不支持语义解析。

Q:百度语音是否单独提供录音功能,以及语音通讯功能?

A:不单独提供独立录音的功能,识别SDK包含语音输入和识别功能。语音通讯功能需开发者自行搭建。

Q:语音识别REST API和SDK的区别是什么?

A: REST API:开发者上传录音——百度语音进行识别——识别结果返回开发者

SDK:百度语音提供从录音到识别结果返回的

Q:语音识别通过哪个接口获取音频信息?

A:

Android SDK:当VoiceClientStatusChangeListener.onClientStatusChange(int status, Object obj) 的status是VoiceRecognitionClient.CLIENT_STATUS_AUDIO_DATA时,obj为byte[]音频数据;

iOS SDK:MVoiceRecognitionClientDelegate的(void)VoiceRecognitionClientWorkStatus:(int) aStatus obj:(id)aObj;的aStatus是EVoiceRecognitionClientWorkStatusNewRecordData时,aObj为NSData音频数据。

数据格式均为pcm,采样率可通过VoiceRecognitionConfig.getSampleRate()/[[BDVoiceRecognitionClient sharedInstance] getCurrentSampleRate]获取,获取的音频格式是位深16bit,单声道。

Q:如何才能提高语音识别的准确率?

A: 自定义语音识别设置:打开百度开放云平台,在创建的应用下进行自定义语音识别设置。上传识别关键词文本,保存并生效。

设置对应的语音识别垂类:在代码中填写识别的垂类领域,识别结果将优先指向已设置的垂类,可以使得识别结果更准确

Q:百度语音SDK与其他百度SDK,或其他第三方SDK冲突时,如何解决?

A: 与其他百度SDK冲突一般是由于使用了相同的基础库galaxy.jar,请检查是否重复导入了该jar包;与其他第三方SDK冲突一般是由于so库的架构不统一,请保证工程libs目录下armeabi/armeabi-v7a/x86/mips目录的so库均一致,如果不能保证一致,则一般只能所有SDK仅使用armeabi架构的so库

Q:首次开启语音识别功能的延迟时间较长,需要如何调控?

A: 首次延迟时间较长一般是由于权限验证造成,可以通过预先调用接口:

(int)verifyApiKey:(NSString)apiKey withSecretKey:(NSString)secretKey;

来进行验证。首次开启语音时就不需要再发送验证请求,从而降低语音识别启动的延迟。

Q:如何在语音识别时获取音频文件?

A:

Api:cp服务器自己备存用户录音信息

Sdk:可以通过CLIENT_STATUS_AUDIO_DATA回调,将回调对象强转成byte[]顺序写入到文件中即可得到原始的音频文件。

Q:语音识别垂类是什么意思?

A: 语音识别垂类就是特指某个领域的意思,开发者可以根据用户使用场景设定特定领域使得识别结果更准确。比如垂直领域设定为”音乐“,则在语音识别时会优先识别为音乐相关的歌曲名歌手名或者歌词。

Q:为什么语音识别Demo的API_Key和Secret_Key是空的还能进行识别呢?我开发的应用的API_Key和Secret_Key是不是必须得填写呢?

A: SDK自带demo用的特殊的方式验证的,故可以不使用AK和SK。开发者自行开发的应用AK和SK是必须填写的,否则无法调用语音识别。

浏览 1
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报