本文汇总了您在使用语音唤醒服务时的常见问题。
语音唤醒初始化失败通常有哪些原因?
原因 | 详情 |
鉴权失败 |
|
资源问题 |
|
常见的鉴权失败情况有哪些?
注册失败的原因通常包括以下情况:
参数设置不正确:例如Appkey错误或Appkey对应的项目为设备端解决方案类型。
注册次数超过限制:管控台对单台设备每日注册次数有限制。
没有配额:用户配额超过申请上限。
没有网络:注册是需要联网的。
具体错误信息请参见下表,初始化失败时,可以通过error_msg
获取。
日志错误信息 | 含义 |
register_over_frequency | 注册次数超过限额。详情请参见一个Deviceid一天可以注册几次。 |
AccessKeyId is mandatory for this action | AccessKey不正确,配置信息错误。 |
quota not-enough | 配额不足。 |
sdk_type_err | sdk_code不正确。请确认开通的是标准版(software_nls_tts_offline_standard)还是精品版(software_nls_tts_offline)。 |
Specified signature is not matched with our calculation | 请校验AccessKey Secret是否填写正确。 |
unit_not_exist | Appkey没有申请过配额。 |
初始化成功但是唤醒失败该如何处理?
请检查录音模块是否正常,送入录音buffer的音频是否清晰,是否是16k、16 bit单通道格式音频。
配额消耗的规则是什么?
设备标识(Deviceid)每发生一次变更,就会消耗一个配额。设备标识是进行管控的有效凭证,SDK使用者要保证设置的device_id有效性和唯一性,否则可能导致占用多个配额,甚至鉴权失败。
调用者可能要考虑以下场景:
起初获取不到设备信息,后获取权限,Deviceid变化。
已获取设备ID权限,但用户关闭,Deviceid变化。
Android O升级后,AndroidId会随着软件包名称和签名密钥变化而变化,DeviceId变化。
一个Deviceid一天可以注册几次?
单个Deviceid每日只能注册5次。如已注册成功,设备卸载App并重新安装,将消耗一次注册机会,当5次机会消耗完后,只能等到24:00以后才能重新注册。
如果App不卸载,第一天登录和第二天登录分别会注册几次?
App注册成功之后,若有存储权限,鉴权信息成功保存至本地,不需要再次联网注册,可以永久使用。
配额耗尽还能增加吗?
当一个Appkey对应的配额消耗完毕时,可以重新购买配额,系统将按照合同约定,增加相应的配额 。
申请离线配额后,能直接访问在线语音服务吗?
申请离线配额后,不关联在线语音服务(如在线合成、在线语音识别等),如果想使用在线语音服务需要额外购买相应的服务。
已经投入使用的在线语音服务Appkey可以用于申请离线配额吗?
除设备端解决方案外的其他Appkey可以。如果之前使用的是设备端解决方案的Appkey,需要重新申请一个仅语音合成的Appkey,详情请参见创建项目。
设备唤醒率不高如何处理?
在确认设备能唤醒的情况下,如果您测试多次输入对应唤醒词语音但响应率低,通常是模型唤醒性能问题。唤醒率一般与设备使用场景、您输入的语音质量或模型训练数据质量有关,如确实唤醒成功率不高,可依次做如下尝试以确认问题:
将设备放置在安静场景下使用。
使用标准普通话匀速响亮地说出唤醒词。
如唤醒词为用户自定义,由于模型未针对该词语做适应性训练,性能不会太好,可尝试在设置自定义唤醒词时同步设置较低阈值尝试。
当前公版唤醒模型使用移动端数据,不一定符合您的实际使用场景,如需要进一步提升唤醒率,降低误唤醒,需要采集质量更好的语音数据进行模型定制。
NTP的作用是什么?
NTP:指网络时间协议(Network Time Protocol)。
唤醒SDK在首次使用时,需要访问阿里云鉴权,阿里云要求本地时间和阿里云时间相差不能超过15分钟,否则会鉴权失败,因此SDK使用NTP模块获取网络时间。
由于NTP本身和阿里云交互有一定时间消耗,网络较差时可能长达十几秒。因此需要业务方综合评估,如果端侧时间不会存在异常,或者概率极小的设备时间异常对业务没有影响,可以在初始化的时候通过将enable_ntp
设为false
,即关闭NTP。