这段MATLAB代码实现了对输入音频信号进行汉宁窗口傅里叶变换,并生成其频谱图,适用于音频处理与分析。
汉宁窗傅里叶变换的MATLAB代码用于绘制音频频谱。该脚本读取音频文件并播放音频的同时实时生成频谱图。频谱样式由选择的不同版本的`refreshFig`函数决定,可以通过替换`refreshFig.m`为其他版本(如`refreshFig-2.m`或`refreshFig-3.m`)来更改。
这些刷新图功能在固定的时间间隔内被从主文件中调用,并使用汉宁窗计算音频采样数据的短时傅里叶变换(STFT),然后以条形图形式展示频谱。每个小节代表12个等分音高,已调整至标准音高A4=440Hz。
`refreshFig-2.m`与基本版本相同,但使用了不同的指数窗口函数;而`refreshFig-3.m`则绘制圆形频谱,并不采用对数频率刻度表示方式。
另外有两个脚本用于保存生成的频谱图作为视频文件: `spectrum2.m` 使用基础版的 `refreshFig.m` 样式,而`spectrum3.m` 则使用改进后的圆形频谱显示风格由`refreshFig-3.m`提供。
启动MATLAB后,请将工作目录设置为该存储库所在的目录。在命令窗口中输入`spectrum`, `spectrum2` 或者 `spectrum3`(不带参数)来运行相应的脚本。