基于kaldi的iOS实时语音识别(本地)+01+介绍

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

demo:https://github.com/andyweiqiu/asr-ios-local

你可能感兴趣的:(基于kaldi的iOS实时语音识别(本地)+01+介绍)