iOS在线识别:https://www.jianshu.com/u/3c2a0bd52ebc
该系列文章讲述的都是iOS本地语音识别。
最近花了点时间将kaldi编译成iOS静态库,放在本地进行解码。
由于网上这类资料几乎没有,也发邮件问过做过这一类的大佬,但都没有得到结果,所以遇到问题几乎是硬着头皮靠经验去解决,目前应用还没发现什么问题。
优点
- 脱离服务端,不需要网络传输音频;
- 解码速度快,稳定
- 支持实时流和文件
- 跨平台(iOS,Android,Unity,PC)
缺点
- 编译kaldi的静态库比较大(200M以内);
- 如果kaldi有需要改动,需要重新编译;
- 模型文件,配置文件都放在本地,导致应用包比较大
优化
- 从服务端动态加载模型文件;
- 调整参数进一步提升解码速度;
- 优化传输和解码的性能
难点
- 集成kaldi到iOS工程;
- 音频传输;
- 解码
效果
下面是实时流的效果,文件解码时长没有统计
机型 | 发送EOS到最终结果时长(秒) |
---|---|
iPhone 6 | ≈2 |
iPhone 7 | ≈0.7 |
iPad 2018 | ≈0.4 |