整理下安卓音频相关资料小白问题

      接触AI智能方面已有三年,奈何本人只做应用层,其实对于语言相关技术理解也不是很深。最近项目相关,必须要深入一下音频使用,如果你也是做上层,公司也没有C做音频这一块的,只能借助三方资料了。

      第一:首先你要知道,安卓启动麦克风有耗时动作,这个再google官网有资料说明,常规是60ms~150ms之间,公司设备配置较低,耗时再110ms,为什么要知道这个,因为为后面做拾音准备,因为它的工作延迟,会让你第一个音,不准,或者丢掉

     第二:知道这个后,你就想一个问题了,麦克风拿到数据data数据,按音频格式是pcm,这个数据是无损,从http或者ws中,这个越小体积数据传输,会越快,成功率会提高,所以你需要接触到压缩,压缩的方法千千万万主流 speex,opus,我也不介绍了,随便推荐一个opus:https://github.com/martoreto/opuscodec

这个是有一段时间线上使用过,所以不用担心稳定性,跟可用性问题 

     第三:你要知道的有压缩就有解压,这方法得配套使用,怎么压缩就需要怎么解压

     当项目进行到这里的时候,就要开始优化了

     第四:比如ogg格式,这种通用标准,为了让你的音频更多三方可用,你还得接入了。所以有两个东西speex_ogg,opus_ogg。其中呢,opus_ogg 对google,跟微软,speex呢,像腾信,科大,国内很多也在用,所以你得研究用哪种了,所以呢你又要开始去找一些库了,没有C功底,你很难把ogg跟你前面的opus合并再一起,因为这个就是纯C之间调用,通过jni触发回调了。

     speex_ogg 这块呢,目前git上有源码,可以搜索到,不做说明,ogg_opus这块呢,git上目前有的非常非常少,大多数都是,可以使用完整音频转换,可我的场景需要实时,这块找了一段时间都没有,暂时放下了,后来一次偶然找了一个库,验证了还能用,意外,可开发者没有提供播放类,算是一个不完整的,因为前面说了要压缩跟解压一套才是完整的,安卓5.0支持ogg,你要知道ogg只是一种格式,内部压缩格式多了,解压每家用得都不一样,完全基本不可公用。这里说到这里

    第五:你要研究音频了,你有没有想过,识别率为什么底,相信你也查过资料,什么3A处理,什么原音加强,降噪,等等东西,一看,又是C相关,打住吧,看了看不懂,

   第六:好玩的东西来了,你会遇到一个场景,我按下说话,20秒,其实我就说了2句话,就两个5秒。其中没有声音的10秒,你是不是送到服务了啊,这段是不是可以优化下,去看看vad吧,也就是语音端点检测,资料给你https://github.com/wangzhengcheng1994/android-webrtc-vad,

你要是觉得到位了,那你还是太年轻,vad这个东西基础版是能告诉你静音还是活动的,但是最重要的是算法,怎么知道断句了,这一块是所有做AI语音识别公司,第一个技术攻关,好坏直接影响到拾音好坏,效率问题,没有一家公司公开,这一块没有任何资料(阿里,科大,百度,京东,华为)都没有开出来,心里是不是又要翻白眼了。目前呢,据我了解,好的vad里面会融合进去,原声加强,降噪,等处理。所以这一块资料,没戏,除非自己做,但是这一块算法,嘿嘿,做安卓应用又可以死心了

    惊喜处处有,意外总是不期而遇。欢迎讨论

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值