【语音识别-常见问答】汇总帖
周俊316 发布于2017-11 浏览:44353 回复:115
6
收藏
最后编辑于2023-05

语音识别
Q:语音合成、语音识别接口每天调用限额是多少?默认QPS是多少?如何申请提高配额?
A:语音合成服务默认提供100QPS,服务接口每天不限制调用量。语音识别服务默认提供10QPS,服务接口每天不限制调用量。如需要的QPS大于默认额度,需申请提高配额,请登录控制台,点击百度语音,选择应用列表,选择对应应用,查看详情,点击申请提高配额,一般会在2个工作日内完成审核,审核通过后,将可使用提额后的QPS额度。

Q:控制台--语音应用详情页高级设置,语音识别词库设置、语义解析设置有什么注意事项?
A: 语音识别词库设置,适用于在线语音识别,目前只在搜索模型下生效(API和SDK均支持)。上传词库中的词或句子,在单说的情况下,识别率会高
语义解析设置,覆盖天气、日历、航班等常见领域的语义库,可以有效识别用户意图,适用于相关领域的问答场景;目前只适用于语音识别SDK3.0以下版本设置。3.0以上版本,默认开启全部领域无需设置,且在此处的设置无效。

Q:语音识别REST API支持的音频格式、采样率有哪些?
A:原始 PCM 的录音参数必须符合16k 采样率、16bit 位深、单声道,支持的格式有:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。

Q:语音识别 REST API 最长支持多长的录音?
A: 最长支持60s的录音文件。对文件大小没有限制,只对时长有限制。

Q:语音识别SDK支持的音频格式、采样率有哪些?
A:Android SDK:支持Android 2.3及以上系统,支持ARM\X86架构。安装包最小增加200k,支持16k采样率,pcm格式。

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

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

Q:百度语音是否单独提供录音功能,以及语音通讯功能?
A:不单独提供独立录音的功能,目前识别SDK包含语音输入和识别功能。语音通讯功能需开发者自行搭建。

Q:语音服务是免费的?还是需要付费
A: 目前语音基础服务(语音识别、语音合成、语音唤醒)全部免费。

Q:语音识别和合成支持什么语言?
A: 语音识别支持:普通话、四川话、粤语、英语

语音合成支持:中英文混合

Q:我使用SDK后,代码出错,不能正常运行怎么办?
A: 您好,请您先测试官方demo,测试通demo,再添加您自己的代码,基本都是可以使用的了。如果还是有问题,可以在AI社区讨论,我们进一步查看原因。

Q:我想提高一些词的识别准确率,有什么办法?
A: 您好,您可以自行上传词库,训练专属识别模型。 入口是:控制台--语音应用详情页高级设置,语音识别词库设置。

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:为什么语音识别Demo的API_Key和Secret_Key是空的还能进行识别呢?我开发的应用的API_Key和Secret_Key是不是必须得填写呢?
A: SDK自带demo用的特殊的方式验证的,故可以不使用AK和SK。开发者自行开发的应用AK和SK是必须填写的,否则无法调用语音识别。

Q:【Android纯在线】如何从识别SDK中获取音频?
A:通过监听onClientStatusChange函数的CLIENT_STATUS_AUDIO_DATA消息(在一次会话中会回调多次)拼接音频,如:

class MyVoiceRecogListener implements VoiceClientStatusChangeListener{
OutputStream outFile;
@Override
public void onClientStatusChange(int status, Object obj) {
switch(status) {
... // 省略其它消息
case VoiceRecognitionClient.CLIENT_STATUS_AUDIO_DATA:
// 有音频数据输出
if (obj!= null && obj instanceof byte[]) {
// 演示如何保持PCM音频,细节请各位工程师更加实际情况优化
byte[] buf = (byte[])obj;
FileOutputStream out = new FileOutputStream("sdcard/your_file.pcm", true);
out.write(buf);
out.close();
}
break;
default:
break;
}
}


Q:【Android离在线】如何从识别SDK中获取音频?
A: 方式1:设置outfile参数可以指定语音数据的保存路径,设置方式如:

intent.putExtra("outfile", "/sdcard/your_audio.pcm");

语音数据的保存格式为PCM,播放和压缩请自行查找相关类库。

方式2:通过监听onBufferReceived(byte[] buf)回调,拼接音频实现。

收藏
点赞
6
个赞
共115条回复 最后由回复于2023-05
#98冰冰尔河回复于2019-07

我要把一段音频转换成文字,怎么操作?

0
#97用户已被禁言回复于2019-06
#96 136******14回复
请问这个长语音识别怎么加标点符号

看下文档里对于pid的介绍,部分pid是带标点符号的。

0
#96136******14回复于2019-06

请问这个长语音识别怎么加标点符号

0
#95rose20135188回复于2019-06

收藏下来备用。

0
#94crazyangwei回复于2019-06

请问android sdk 3.0.11版本,是否有eclipse的demo,或者eclipse的集成文档,目前官方的文档全是android studio的,看起来很吃力。

0
#93用户已被禁言回复于2019-04
#92 下顺回复
请教下,语音识别与语音合成放在子线程可以吗

工单有回复过您了吗?如果解决了的话,可以分享一下吗?

0
#92下顺回复于2019-04

请教下,语音识别与语音合成放在子线程可以吗

0
#91下顺回复于2019-04

我也遇到类似的问题,集成了语音唤醒与语音合成, 语音合成播放后语音唤醒/识别失效 。。。。

0
#90下顺回复于2019-04
#65 用户已被禁言回复
请贴一下完整报错日志。

我也遇到类似的问题,集成了语音唤醒与语音合成, 语音合成播放后语音唤醒/识别失效 。。。。

0
#89破碎凌乱回复于2019-04

更换刚注册的项目也好,或者根据教程集成到helloworld一直显示appid,appkey,Secretkey有错需要修改。直接运行demo是成功的。

0
#88用户已被禁言回复于2019-04
#87 187******42回复
<!doctype html> <html> <head> <meta charset="utf-8"> <title>文字转成语音并播放出来-jq22.com</title> <script src="https://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <style> </style> </head> <body> <div> <input type="text" id="ttsText"> <input type="button" id="tts_btn" onclick="doTTS()" value="播放"> </div> <div id="bdtts_div_id"> <audio id="tts_autio_id" autoplay="autoplay"> <source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&amp;ie=UTF-8&amp;spd=5&amp;per=0&amp;text=请输入文字" type="audio/mpeg"> <embed id="tts_embed_id" height="0" width="0" src=""> </audio> </div> <script> function doTTS() { var ttsDiv = document.getElementById('bdtts_div_id'); var ttsAudio = document.getElementById('tts_autio_id'); var ttsText = document.getElementById('ttsText').value; // 文字转语音 ttsDiv.removeChild(ttsAudio); var au1 = '<audio id="tts_autio_id" autoplay="autoplay">'; var sss = '<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=0&spd=5&text=' + ttsText + '" type="audio/mpeg">'; var eee = '<embed id="tts_embed_id" height="0" width="0" src="">'; var au2 = '</audio>'; ttsDiv.innerHTML = au1 + sss + eee + au2; ttsAudio = document.getElementById('tts_autio_id'); ttsAudio.play(); } </script> </body> </html>   如果需要调整为女声如何进行调整
展开

已回复过,请勿重复提问。

0
#87187******42回复于2019-04





文字转成语音并播放出来-jq22.com














 

如果需要调整为女声如何进行调整

0
#86用户已被禁言回复于2019-04
#85 雷欧纳德q回复
可以的啊,用postman直接塞样例文件进去也可以成功,就是程序里写不行了,/data/目录也访问不了,拿不到录音文件
展开

来qq群 910926227 交流一下吧。

0
#85雷欧纳德q回复于2019-04
#84 用户已被禁言回复
api的官方的demo能跑通吗?

可以的啊,用postman直接塞样例文件进去也可以成功,就是程序里写不行了,/data/目录也访问不了,拿不到录音文件

0
#84用户已被禁言回复于2019-04
#83 雷欧纳德q回复
8000,16000都试过了,不行,一直提示json param speech error 3300,不就是base64的文件流字符串数据吗,都打印出来了,我截了部分,为啥一直不对,到底要传什么进去[图片]
展开

api的官方的demo能跑通吗?

0
#83雷欧纳德q回复于2019-04
#82 用户已被禁言回复
.js sdk是对api的封装,可以参考api的demo,你应该是参数不对。比特率 16k 试试呢?
展开

8000,16000都试过了,不行,一直提示json param speech error 3300,不就是base64的文件流字符串数据吗,都打印出来了,我截了部分,为啥一直不对,到底要传什么进去

0
#82用户已被禁言回复于2019-04
#78 雷欧纳德q回复
react native开发app,官方并没有js的demo sdk参考, 录音并使用百度语音rest api json上传方式识别,使用js的fs.readFile读取本地文件获得base64数据,生成的语音及接口参数rate都为16000,具体参数和返回错误如下,请问是哪里有问题呢 [图片] [图片] [图片]
展开

.js sdk是对api的封装,可以参考api的demo,你应该是参数不对。比特率 16k 试试呢?

0
#81雷欧纳德q回复于2019-04
#80 用户已被禁言回复
语音识别api使用的是HTTP POST方法, BODY里直接放置json, Content-Type头部为 application/json。 并非常见的浏览器表单请求(application/x-www-form-urlencoded或者multipart/x-www-form-urlencoded)。 必填字段:format rate channel cuid token cuid token cuid token cuid token,请勿漏填。此外 (speech, len) 及 (url, callback) 这两组参数必须二选一,如果都填,默认处理第一组。 channel cuid token,请勿漏填。此外 (speech, len) 及 (url, callback) 这两组参数必须二选一,如果都填,默认处理第一种。 channel cuid token,请勿漏填。此外 (speech, len) 及 (url, callback) 这两组参数必须二选一,如果都填,默认处理第一种。 必填字段如format rate channel cuid token,请勿漏填。此外 (speech, len) 及 (url, callback) 这两组参数必须二选一,如果都填,默认处理第一种,并确认 音频时长截取为60s以下。
展开

你好,请看下我的截图内容及返回报错信息,您说的这些我都传了,文档看了好多遍,也试了很多遍,这种问题早就排除掉了

0
#80用户已被禁言回复于2019-04
#78 雷欧纳德q回复
react native开发app,官方并没有js的demo sdk参考, 录音并使用百度语音rest api json上传方式识别,使用js的fs.readFile读取本地文件获得base64数据,生成的语音及接口参数rate都为16000,具体参数和返回错误如下,请问是哪里有问题呢 [图片] [图片] [图片]
展开

语音识别api使用的是HTTP POST方法, BODY里直接放置json, Content-Type头部为 application/json。 并非常见的浏览器表单请求(application/x-www-form-urlencoded或者multipart/x-www-form-urlencoded)。

必填字段:format rate channel cuid token cuid token cuid token cuid token,请勿漏填。此外 (speech, len) 及 (url, callback) 这两组参数必须二选一,如果都填,默认处理第一组。 channel cuid token,请勿漏填。此外 (speech, len) 及 (url, callback) 这两组参数必须二选一,如果都填,默认处理第一种。 channel cuid token,请勿漏填。此外 (speech, len) 及 (url, callback) 这两组参数必须二选一,如果都填,默认处理第一种。

必填字段如format rate channel cuid token,请勿漏填。此外 (speech, len) 及 (url, callback) 这两组参数必须二选一,如果都填,默认处理第一种,并确认 音频时长截取为60s以下。

0
#79用户已被禁言回复于2019-04
#76 丶Baka_51218回复
你好,开启了语义理解之后,为什么语音识别没有回调语义理解的结果?byte[] data一直为空
展开

在你的帖子下回复过了。

0
TOP
切换版块