你做FFT音乐频谱的时候栽坑了吗? [附: 讲解视频]

2019-12-20 21:36发布

本帖最后由 kayatsl 于 2016-12-22 17:42 编辑

早在好多年前, 试水stm32的时候, 做过一次音乐频谱, http://www.amobbs.com/forum.php? ... =5437297#pid5662844

后面很多人也问我要资料, 没给的原因主要有俩:
1. 代码实在太烂, 基本不具备参考价值, 势必误人子弟
2. 我觉得其中仍存在很多问题, 没有参透应该如何实现才具备观赏性.

QQ图片20161222174920.png (455.22 KB, 下载次数: 0) 下载附件 2016-12-22 17:38 上传

视频中介绍一般初学者和进阶同学在做 FFT 音乐频谱时, 需要留意和很可能会踩到的坑

http://v.youku.com/v_show/id_XMTUzMDA2ODk3Ng==.html

视频嵌入失败, 经验坛友介绍下方法.?

如果你们也踩坑了, 不妨下面回复留言讨论.!~
如果你有更好的方法, 或者觉得视频中有错误的地方, 也欢迎指正.!~


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
85条回答
teddeng
1楼-- · 2019-12-24 08:53
楼主是真爱,顶一下:)
随便说说自己的看法,
做音频dft如果以音乐视觉效果为标准,感觉根本用不着显示20KHZ的带宽,4k就够了。
因为99%的乐器,人声的基频都在4K以内,之所以声音回放20K的范围,是为了人耳可听范围内尽可能展现谐波,谐波是体现乐器特 {MOD}的,但换成视觉反应,谐波恰恰是不必要的。
事实上,音乐是有标准的,标准钢琴从27.5~4186HZ,才88个频率点,其他人声乐器也一样,必须遵守这个原则,否则就是噪音,如何准确表示这88个音个人觉得是重点。
没有实践过,仅供参考,再赞一下楼主:)
kayatsl
2楼-- · 2019-12-24 09:56
teddeng 发表于 2016-12-24 19:11
楼主是真爱,顶一下:)
随便说说自己的看法,
做音频dft如果以音乐视觉效果为标准,感觉根本用不着显示20K ...

难得的长评论, 说得不错~

我之前做的时候也试过你说的方案, 只扫4k频率范围到屏幕上, 而结果就是有些耳朵听得到, 但屏幕看不到谱线的现象发生, 视觉效果不和谐.

所以最终还是将全频段都扫, 只是将后面的频域大力压缩.
deadline2012
3楼-- · 2019-12-24 10:01
kayatsl 发表于 2016-12-24 20:12
难得的长评论, 说得不错~

我之前做的时候也试过你说的方案, 只扫4k频率范围到屏幕上, 而结果就是有些耳 ...

非线性显示有没有一个什么函数?代码共享一下就好了
kayatsl
4楼-- · 2019-12-24 14:20
 精彩回答 2  元偷偷看……
fengyunyu
5楼-- · 2019-12-24 20:14
看起来很专业
deadline2012
6楼-- · 2019-12-25 01:40
kayatsl 发表于 2016-12-25 09:30
第6点,
其实非线性函数有不少,
比如 -1/x  ,  log,   sqrt(x) 等~


我看了下标准的钢琴键与频率的对应关系线,发现频率是一个等比数列,可能也许横坐标用对数的方式更好。

Y轴的幅值你是用了dB还是直接的数据呢?

QQ截图20161225120837.jpg (21.95 KB, 下载次数: 0)

下载附件

2016-12-25 11:55 上传



一周热门 更多>