本帖最后由 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
视频嵌入失败, 经验坛友介绍下方法.?
如果你们也踩坑了, 不妨下面回复留言讨论.!~
如果你有更好的方法, 或者觉得视频中有错误的地方, 也欢迎指正.!~
随便说说自己的看法,
做音频dft如果以音乐视觉效果为标准,感觉根本用不着显示20KHZ的带宽,4k就够了。
因为99%的乐器,人声的基频都在4K以内,之所以声音回放20K的范围,是为了人耳可听范围内尽可能展现谐波,谐波是体现乐器特 {MOD}的,但换成视觉反应,谐波恰恰是不必要的。
事实上,音乐是有标准的,标准钢琴从27.5~4186HZ,才88个频率点,其他人声乐器也一样,必须遵守这个原则,否则就是噪音,如何准确表示这88个音个人觉得是重点。
没有实践过,仅供参考,再赞一下楼主:)
难得的长评论, 说得不错~
我之前做的时候也试过你说的方案, 只扫4k频率范围到屏幕上, 而结果就是有些耳朵听得到, 但屏幕看不到谱线的现象发生, 视觉效果不和谐.
所以最终还是将全频段都扫, 只是将后面的频域大力压缩.
非线性显示有没有一个什么函数?代码共享一下就好了
我看了下标准的钢琴键与频率的对应关系线,发现频率是一个等比数列,可能也许横坐标用对数的方式更好。
Y轴的幅值你是用了dB还是直接的数据呢?
QQ截图20161225120837.jpg (21.95 KB, 下载次数: 0)
下载附件
2016-12-25 11:55 上传
一周热门 更多>