找回密码
 立即注册
楼主: _NCY_

捣鼓51音频的小心得

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-9-30 22:41:02 来自手机 | 显示全部楼层
_NCY_ 发表于 2024-9-30 22:20
软件功夫做足了,默认的是你的硬件加速都用好了。卡顿之时,先问问自己hspi用了吗,2T上了吗?dma开了吗?
...

为了追求更好的性能,可以拉高一下主频。
但不宜过高。就以8H8K64U为例,
干到40M就行了。适可而止,别玩脱了。
(40M以上不稳定,容易死机)
然后还有hspi的速度选项。

如果你上了40M,别一上来就开到2T。
因为时钟太快有的劣质flash会受不了。
如果你的音乐里有频繁的咔嚓声,
很可能就是spi总线速度太快了,导致读到很多0xff
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:418
  • 最近打卡:2025-05-01 08:48:18

24

主题

108

回帖

448

积分

中级会员

积分
448
发表于 2024-9-30 23:05:07 | 显示全部楼层
分享链接呢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-10-1 07:13:40 来自手机 | 显示全部楼层
垂柳工作室 发表于 2024-9-30 23:05
分享链接呢

程序稍后会分享。
配套原理图就是按照作品展示里的卡东欧计算器来的,已经贴出来了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-10-1 07:18:36 来自手机 | 显示全部楼层
上次说到wav了。
为什么要说它呢,而不说说mp3什么的?
实属无奈。mp3之类的音频格式都是压缩过的,播放需要解码,而实时解码mpeg任务太重了。
而Wav里存放的则是原始数据,就是一个一个的采样点,自然十分亲民,直接拿来放就好了。
Wav文件格式,那就从网上拉一个图来吧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2024-10-1 08:04:36 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-10-1 08:20:37 来自手机 | 显示全部楼层
本帖最后由 _NCY_ 于 2024-10-1 08:23 编辑

Screenshot_20241001_075037.jpg
这是wav文件的结构概览。
网上对它的详细解析多了去了,我在这里只说对咱有用的。

从播放它的角度,它可以分为文件头和数据(好多文件都如此,比如bmp)

文件头是图片里的前44字节(即除了data外的那些个),负责描述wav的基本信息。其中我们只关心这4个量:
NumChannels(声道数),取0x01或0x02,代表单双声道。
SampleRate(采样率),一般可以是11025,22050,44100,单位赫兹。
BitsPerSample(采样点位深度),代表量化精度,比如常说的8bit音乐,指的就是这个,一个采样点占8个位,即一个字节。这个参数要取8的倍数。
Subchunk2Size:(数据块大小),就是data里的字节数

其余的参数,包括码率,都是固定套路,直接填充即可,我们并不关心。
码率ByteRate根据公式可由前三个量推出来=
(SampleRate*NumChannels*BitsPerSample/8)

注意:文件头里的东西有的是大端序,有的是小端序(前边标big/little),需要转换一下哦!



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-10-1 08:27:05 来自手机 | 显示全部楼层
数据就简单了。数据对应图片里的data。一般很大。
如果你的是单声道,就是采样点1,2,3…n线性排列;如果是双声道,就是左采样点1,右采样点1,左采样点2,右采样点2……线性排列。
采样点根据你的BitsPerSample可能是8位的,也有可能是16位的。如果是16位采样点注意小端序。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-10-1 08:27:05 来自手机 | 显示全部楼层
数据就简单了。数据对应图片里的data。一般很大。
如果你的是单声道,就是采样点1,2,3…n线性排列;如果是双声道,就是左采样点1,右采样点1,左采样点2,右采样点2……线性排列。
采样点根据你的BitsPerSample可能是8位的,也有可能是16位的。如果是16位采样点注意小端序。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-10-1 08:33:08 来自手机 | 显示全部楼层
就来实战一波吧。可以试试这三个小任务,能熟练完成对wav的理解就到位了
(顺便送你一个16进制查看器。)
任务一:解析这个wav文件。
任务二:通过修改wav文件,让这个wav文件二倍速/0.5倍速播放
任务三:播放stcisp的.exe文件,聆听来自stcisp的天籁之音
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-10-1 08:45:56 来自手机 | 显示全部楼层
_NCY_ 发表于 2024-10-1 08:33
就来实战一波吧。可以试试这三个小任务,能熟练完成对wav的理解就到位了
(顺便送你一个16进制查看器。)
...

新建文件夹.zip (21.18 MB, 下载次数: 87)
小测试和十六进制查看器
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:36 , Processed in 0.135077 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表