百度语音识别 ASR 收费导致的bug

[ERROR][bds_asr_response_agent.cpp:419][ASRResponse::get_server_err_desc]err_no is: -3004
[DEBUG][bds_EventManagerAsr.cpp:1031]Encounter error: Server app name unknown.
[DEBUG][bds_EventManagerAsr.cpp:936]vr_handler work_status=8, encoded_err=2225220, err_desc=Server app name unknown., need_finish=1, need_stop=0, need_loop=0
[DEBUG][bds_EventManagerAsr.cpp:937]vr_handler m_has_cancelled=0, m_need_cancelled_callback=0
[DEBUG][bds_EventManagerAsr.cpp:654]1cancel_internal m_vr_is_running=1
[DEBUG][bds_EventManagerAsr.cpp:660]2cancel_internal m_vr_is_running=0
[TRACE][bds_Chunk_Connection.mm:194][bds_Chunk_Connection] uptask finished.
2021-09-03 20:26:05.888644+0800 BDSClientSample[13947:7119533] EVoiceRecognitionClientWorkStatusError:33
[TRACE][bds_Chunk_Connection.mm:556][bds_Chunk_Connection] downtask finished.
[TRACE][AppThread.cpp:329]Thread end (SP ~ 0x16d62ef98, threadID: 0x16d62f000

[TRACE][AppThread.cpp:47]============================================= AppThread::~AppThread() ====================================
[TRACE][AppThread.cpp:329]Thread end (SP ~ 0x16dea6f98, threadID: 0x16dea7000

[TRACE][AppThread.cpp:47]============================================= AppThread::~AppThread() ====================================
[DEBUG][BDVRReachability.mm:74]BDVRReachability Flag Status: -R ------- networkStatusForFlags
[DEBUG][BDVRReachability.mm:74]BDVRReachability Flag Status: -R ------- networkStatusForFlags
[DEBUG][bds_EventManagerAsr.cpp:471]start sn=72A104F8-DAAE-4226-8DEE-B7F43402FF4C
[TRACE][bds_EventManagerAsr.cpp:1134][EventManagerAsr::resolve_property_list]PROPERTY:10005
[TRACE][bds_EventManagerAsr.cpp:909]ASR_ONLINE_PARAM_KEY_APPCODE = 24797995
[TRACE][bds_EventManagerAsr.cpp:917]ASR_ONLINE_PARAM_KEY_APPCODE = fxAfMkwQk4gu3RpmgE4Oxhy2
[TRACE][bds_EventManagerMic.cpp:119][Mic:]start recorder prepare cost: 1
[TRACE][bds_EventManagerMic.cpp:121][Mic:]start recorder cost: 102
[TRACE][bds_vad_proxy.cpp:110][VADProxy::init_vad]current vad: ModelVAD
[TRACE][bds_EventManagerDec_Chunk.cpp:370][setupConnection]Cached IP: 
[TRACE][bds_AddressResolver_getaddrinfo.cpp:194]PROTO: https:// HOST: vop.baidu.com PATH: /v2

今天晚上使用语音助理切换影院模式的时候提示错误,Server app name unknown.这特喵的就神奇了,当时各种appkey id之类的都换成自己的了,应该也不会有人删除这些东西。但是就是提示错误,真是人生何处不坑爹。登陆百度后台发现创建的key依旧存在,不过后面语音技术显示的是无!

Continue Reading

百度语音识别 语音唤醒失败

半夜起来给小朋友冲奶粉,于是忽然想到了那个在机柜里落灰的树莓派。当时用百度的语音识别和合成用python实现了一些功能。但是并没有实现语音唤醒,于是要想实现语音唤醒就只能不断的轮询接口,然后发送到百度云进行识别。但是觉得这种方式太坑了,什么都上传了,感觉随时在被监听一样。今天又看了下百度的sdk发现支持语音唤醒了。还能自定义唤醒词。

唤醒词规则

1 . 支持设置10个唤醒词,包含指令唤醒词和自定义唤醒词,指令唤醒词不支持自定义;10个唤醒词中,最多可以设置3个自定义唤醒词,最多可以包含3个两字指令唤醒词(如播放、暂停、拍照等)

2 . 已经支持的指令唤醒词有:
相机类:拍照、茄子
音乐类:增大音量、减小音量、播放、停止、暂停、上一首、下一首、
电灯类:打开电灯、关闭电灯、增大亮度、减小亮度
手电筒类:打开手电筒、关闭手电筒

3 . 自定义唤醒词可根据应用的个性化需求来免费定制,例如您的应用希望通过“你好百度”启动应用,则就可以设置“你好百度”为唤醒词;

4 . 建议每个自定义唤醒词在3至5个字之间(这里的1个字是指1个汉字、或1个英文字母),4个字最佳;一个唤醒词可以包含最多2个(含)英文字母;唤醒词中暂时不支持纯英文单词,如california;

5 . 唤醒词定制的温馨提示:请勿选择太常用的词作为唤醒词,例如”吃饭吧”,在生活中经常会用到,容易误唤醒;为保证唤醒效果,不同意义的唤醒词,请考虑唤醒词之间的差异,尽量保证唤醒词之间不易混淆;唤醒词过短会导致唤醒错误率较高,请不要选择太多短唤醒词(包括指令唤醒词);

6 . 唤醒词的音节覆盖尽量多,长度最少为4个音节;相邻音节请尽可能规避,字要发音清晰响度大;生僻字请尽量规避;零声母字请尽量规避;请避免使用叠词;例如:质量较高的唤醒词:“百度外卖”,音节覆盖多差异大;质量较差的唤醒词:“语音识别”,“语音”两个字均为零声母字,不是一个质量高的唤醒词;

Continue Reading