智能语音总结报告

近半年来一直在做智能语音这块的东西,使用的第三方语音识别技术分别是:科大讯飞、腾讯叮当(腾讯内部的一个开发团队)、阿里天猫语音。随着深入的了解和开发,踩了不少的坑。也遇到了一些集成的问题。比如说科大讯飞常见的错误:

  1. 20006 —— 录音失败

出现这个错误的情况,有可能是录音权限没打开、或者是录音通道被占用。

解决办法:

  • Android 6.0动态添加权限请求。
  • 查看麦克风是否被其他进程占用了(或者在代码层面开启了多个录音)。

出现这个错误的情况,是因为在 armeabi-v7a 文件夹中没有放 libmsc.so 库。可以 复制 armeabi 中对应的 .so 库。

  1. 20016 —— 无效的授权

这个情况,是因为下载 SDK 时,没有匹配相对应的 APPID 或者是 json 文件中配置 不一样。因为每一个申请的项目的 SDK 对应的 lib 是不一样的。需要和 APPID 配套 使用才行。

 

当然,这只是的一部分,不过总体来讲,科大讯飞还是令人满意的。简单明了的接口,可以让开发做各种骚操作。全面的错误码,可以让开发者快速定位问题点。成熟的后台管理,技能齐全,操作简便简单,有利于我们在开发不同的应用时配置不同的技能。

 

    在集成腾讯叮当语音时,有详细的说明文档和接口,遇到问题腾讯的开发人员也能给出相应的解决方法和措施。不过在配置自定义技能时,还是花费不少的时间的。原因在于他们提供的后台和科大讯飞的不太一样,需要我们自己配置一个后台服务器作为中转站转发数据。还有就是平台还不是很稳定,会出现一些数据不同步,或者页面出现小bug的现象。还有就是在新、旧平台中纠缠了不少时间。导致会时不时出现一点问题。特别的有一次,在集成到我们的项目中,运行上线了。突发性的使用不了,经过排查发现叮当后台在更换规则时,没有把我们的账号迁移过去导致出现了一系列问题。旧的SDK是可以内部解析数据进行判断是否需要跳转到 QQ 音乐,但是在新的 SDK 中,只给出了相关的文档,并没有一起封装起来进行统一化接口。不过由于大佬之间的抉择,关于腾讯叮当语音也就没有过多的时间深入了。

 

从九月份开始接触阿里天猫语音,同时我们的项目 BLE 语音助手——Ta 也开始立项了。由于公司和阿里有合作,双方达成协定,目标是双十一。在九月底需要给出初步版本,当时内心是崩溃的。在拿到阿里天猫语音 SDK 时,感觉代码很乱,还会crash。后来了解到情况之后,内心一直在安慰自己,没办法有问题也得开发呀。下面是简单总结在开发时遇到部分的一些坑和问题:

  • 由于阿里 SDK 内部封装较为混乱,打包 aar 库时会出现找不到类方法的错误。

         解决办法是:直接提供源码。

  • 识别错误的接口没有太多的错误码。目前只提供 code = 3 的错误码,关于其他识别问题没有较好的错误码返回。并 不能满足产品的所有功能。
  • 音乐数据内容较少,无法做成较为完整的音乐播放页面。(阿里的整个方式不同于 科大讯飞和腾讯叮当,服务器做管理,数据统一,根据分析之后返回数据)

       解决方法:只能暂时放弃部分功能,如:音乐列表,控制播放开关等。

  • 音频焦点处理不是很完善,前几个版本并没有很好的优化这方面的功能,导致在使 用导航功能时,音乐播放会出现播放异常情况。经过几轮的优化之后能够满足基本 需求。在获取焦点、短暂失去和永久失去焦点,这个地方纠缠了不少时间,主要还 是兼容性的问题。
  • VAD 判停效果不佳。从最初的没有超时时间,只能杀死APP,到现在控制在 8s 的 超时处理。经历了多轮调试、中间阿里的开发人员还专门来公司进行调试。主要的 方向还是解决 VAD 判停的问题。现在的效果自身感觉还行,但是相对于用户来讲 用户体验还是不行的,会经常出现快速判停的情况。一旦多次出现这种情况,体验 效果就会大大降低了。关于这方面的技术,阿里给出的解答是,他们内部没有专门 的算法技术储备。所以关于 VAD 目前只能优化到此了,如后续有需求,看看如何 根据不同的场景来做算法的优化吧。

其实还有比较多关于阿里天猫语音方面的一些细节性问题,目前也还一直在优化。

 

抛开公司的战略不说,在智能语音识别技术这个方面,科大讯飞是最好的。但是又由于各种各样的原因一直在选择不同的技术做应用,主要还是跟公司的战略方向有关。所以不管是科大讯飞有多好,只要不符合我们的需要、方向,即使阿里天猫语音存在多大的问题,我们也要尽量去优化出较为稳定的版本。总之,公司的发展才是我们最终选择的最大原因。

发布了48 篇原创文章 · 获赞 10 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jacksinrow/article/details/84401907