【语音识别-常见问答】汇总帖
周俊316 发布于2017-11 浏览:47341 回复: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
#147回复于2023-05

client.setSocketProxy("proxy_host", proxy_port);

0
#146回复于2023-04

真不错

0
#145回复于2023-04

试一下,已经预感到会有很多报错了

0
#144回复于2023-03

感谢楼主的整理

0
#114用户已被禁言回复于2020-02
#113 wwww140227回复
请问错误返回“数据:{"err_msg":"110: Access token invalid or no longer valid","err_no":3302,"sn":"836787276861582297996"}怎么解决
展开

3302是用户输入错误导致的鉴权失败。token字段校验失败。请使用正确的API_KEY 和 SECRET_KEY生成。或QPS、调用量超出限额。或音频采样率不正确(可尝试更换为16k采样率)。

0
#113wwww140227回复于2020-02


请问错误返回“数据:{"err_msg":"110: Access token invalid or no longer valid","err_no":3302,"sn":"836787276861582297996"}怎么解决

0
#112用户已被禁言回复于2019-11
#111 188******42回复
[TRACE][bds_ASRRequestBuilder.cpp:304]upload json: { "key": "", "cuid": "8beae0b8c05f33cab2447e5ac2ae635703b08c9f", "pfm": "iOS&iPhone10%2C3&12.4.1&0&1", "ver": "3.0.6.0:Core_3.0.0", "lm_id": 0, "pid": 1536, "appid": 17760943, "apikey": "OLy0PV7UkS1BfeYB1Syl8XTe", "smr": 16000, "sn": "14763F39-3C5A-4E82-BBB7-DD56457E6A1F", "app": "com.lilac.test", "cid": 1, "prop_list": [10005], "fun": 262145 } [DEBUG][bds_StatisticsManager.cpp:84]request body: {"error_code":2031617,"voice_to_text_result":"","pid":1536,"cmd_type":0,"time":1573649660745144,"app_id":17760943,"cmd_id":0,"pkg":"com.lilac.test","type":"asr_normal","decoder":0} 确认手机可以联网 但是一直报超时是什么问题 ios 系统12.4.1
展开

请先测试官方demo,如果仍有问题请反馈。

0
#111188******42回复于2019-11

[TRACE][bds_ASRRequestBuilder.cpp:304]upload json: {

"key": "",

"cuid": "8beae0b8c05f33cab2447e5ac2ae635703b08c9f",

"pfm": "iOS&iPhone10%2C3&12.4.1&0&1",

"ver": "3.0.6.0:Core_3.0.0",

"lm_id": 0,

"pid": 1536,

"appid": 17760943,

"apikey": "OLy0PV7UkS1BfeYB1Syl8XTe",

"smr": 16000,

"sn": "14763F39-3C5A-4E82-BBB7-DD56457E6A1F",

"app": "com.lilac.test",

"cid": 1,

"prop_list": [10005],

"fun": 262145

}

[DEBUG][bds_StatisticsManager.cpp:84]request body: {"error_code":2031617,"voice_to_text_result":"","pid":1536,"cmd_type":0,"time":1573649660745144,"app_id":17760943,"cmd_id":0,"pkg":"com.lilac.test","type":"asr_normal","decoder":0}

确认手机可以联网 但是一直报超时是什么问题 ios 系统12.4.1

0
#110用户已被禁言回复于2019-10
#109 rose20135188回复
真正的好心人,帮助他人节省查找时间,十分感谢楼主的整理。

大家分享的结果。

0
#109rose20135188回复于2019-09

真正的好心人,帮助他人节省查找时间,十分感谢楼主的整理。

0
#108用户已被禁言回复于2019-08
#107 燕赵卧牛回复
您好,现在官网上下载不了安卓语音识别的sdk了,请问在哪里可以下载?

你好,我这里刚刚测试过,是可以正常下载语音识别 android sdk的,请尝试更换网络和浏览器,以及解压工具。

0
#107燕赵卧牛回复于2019-08
#106 用户已被禁言回复
请先测试demo,看有无此问题。

您好,现在官网上下载不了安卓语音识别的sdk了,请问在哪里可以下载?

0
#106用户已被禁言回复于2019-08
#105 沧生踏歌la回复
我为什么语音提示params.put(SpeechConstant.SOUND_START, R.raw.start_tone);  R.raw 找不到raw
展开

请先测试demo,看有无此问题。

0
#105沧生踏歌la回复于2019-08

我为什么语音提示params.put(SpeechConstant.SOUND_START, R.raw.start_tone);  R.raw 找不到raw

0
#104用户已被禁言回复于2019-08
#103 wgfly回复
 我前段时间集成并测试通过了,前两天再用就不行了 params:{"origin_result":{"sn":"","error":4,"desc":"App name unknown","sub_error":4004},"error":4,"desc":"App name unknown","sub_error":4004} 测试成功后就没再动过这块的代码,我看控制台有应用并填写的包名
展开

重新获取 token ,并检查 appid ak sk

0
#103wgfly回复于2019-08

 我前段时间集成并测试通过了,前两天再用就不行了

params:{"origin_result":{"sn":"","error":4,"desc":"App name unknown","sub_error":4004},"error":4,"desc":"App name unknown","sub_error":4004}
测试成功后就没再动过这块的代码,我看控制台有应用并填写的包名

0
#102用户已被禁言回复于2019-07
#101 thomson2012回复
赟发音正确(yun)文字转换后发的(bin)。发帖验证码出问题了。输入正确情况下一直提示不对
展开

文字转换后,指的是什么转换呢?

0
#101thomson2012回复于2019-07

赟发音正确(yun)文字转换后发的(bin)。发帖验证码出问题了。输入正确情况下一直提示不对

0
#100jjlkill回复于2019-07

我想问下client.setHttpProxy("proxy_host", proxy_port); // 设置http代理 client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理;这两句代码的port具体指的是哪个端口?

 

0
#99用户已被禁言回复于2019-07
#98 冰冰尔河回复
我要把一段音频转换成文字,怎么操作?

您好,您可以先在这里了解一下

https://ai.baidu.com/docs#/ASR-API/top

https://ai.baidu.com/docs#/Begin/top

0
TOP
切换版块