Qt之调用FFTW3实现音频频谱(原理)
Posted 草上爬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt之调用FFTW3实现音频频谱(原理)相关的知识,希望对你有一定的参考价值。
一.效果
最近在用播放器业界天花板PotPlayer听歌时,发现其频谱跳动非常有趣,如下所示:
于是决定自己实现一个,如下所示:
别看功能很简单,但是涉及到的原理还是挺多的,本篇主要是关于原理的总结。
二.频谱的原理
既然是频谱,必然和频率相关。鼓声和弦乐的频率范围相差很大,当音乐中有震耳的鼓声时,频谱中低频的部分就跳的很高,说明这部分频率的功率比较高。同样,当高亢的小提琴声音响起时,频谱中高频的部分就跳的很高,说明高频部分的功率比较高。正是因为这个关系,频谱总是和正在播放的音乐“相映成趣”。因此要在播放器中显示跳动的频谱,就需要知道音频数据中各个频率对应的功率,常见的音频数据都是时域信号,需要转换成频域信号才能进行分析。
三.傅里叶变换
既然是频谱,也就是时域信号的频域展示。一维傅立叶变换的数学意义就是将时域信号转换为频域信号。连续时域信号以及对应的连续傅里叶变换都是连续函数(且是无限长度的时域信号),但是用计算机进行数字处理只能处理有限长度的离散信号,所以必须将原始信号离散化,同时建立对
以上是关于Qt之调用FFTW3实现音频频谱(原理)的主要内容,如果未能解决你的问题,请参考以下文章