esp8266 AMR转PCM

实践过程中对AMR转PCM的总结:

1.amr转pcm,8k采样率与16k采样率的数据格式不同。8k采样率的数据有很多 0x7f 和 0x80
2.移植的音频程序输出的是8k采样率,8位数据
3.转出的格式是8k采样率,单声道,8位,无符号uint8_t数据类型
其它:

AMR转PCM使用的库:

opencore_amr

wav与pcm的字节区别:​

https://www.jianshu.com/p/3f80fb907bd5

(下面的是我的废话,无参考价值,可以不用看)

我的思路:

官方有一个amr转pcm的例程。我也有一个移植了的例程,但是不能使用。我看着官方例程给的思路,然后对比移植好的程序的思路,看看有没有出入。但是一直很混乱,因为没有明白amr与pcm到底有什么区别,为什么那样干。于是我使用winHex软件打开一个acm的16进制,一个pcm的文件的16进制。我发现ACM的头有一个固定参数(#!AMR)。8k采样的,8位的,小端的(不确定8位数据有没有大小端)pcm数据大部分都是 0x7f与0x80这样的数据。我的程序中也有0x7f与0x80.于是我就想是不是程序输出的数据和我打开的这种类型的格式一样(8k采样,8位,小端),最后发现是一样。

教训:

有时候做一件东西,不一定非要先去弄细节,先明白大概原理,或者用简单的方式去复现程序要做的事,然后再去看程序,也许会有不一样的效果。比如我程序做的事就是把amr转pcm。那么我用了一个现成的软件把amr转了pcm,然后用winhex看了转后的文件有什么不同。当我再去看程序时候,感觉明朗了很多

联系:

有什么需要讨论的加我联系方式,一起讨论。QQ:848337706@qq.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值