基本频谱分析

您所在的位置:网站首页 歌曲频谱分析软件有哪些 基本频谱分析

基本频谱分析

2024-07-09 23:00| 来源: 网络整理| 查看: 265

音频信号打开实时脚本

您可以使用傅里叶变换来分析音频数据的频谱。

文件 bluewhale.au 包含水下麦克风记录的加利福尼亚海岸的太平洋蓝鲸发声的音频数据。此文件来自于康奈尔大学生物声学研究项目保存的动物发声库。

由于蓝鲸的叫声频率如此之低,以至人类几乎听不到。数据中的时间标度压缩了 10 倍,以便提高音调并使叫声更清晰可闻。读取并绘制音频数据。可使用命令 sound(x,fs) 来收听音频。

whaleFile = 'bluewhale.au'; [x,fs] = audioread(whaleFile); plot(x) xlabel('Sample Number') ylabel('Amplitude')

第一个声音为“颤音”,之后是三个“呻吟音”。本示例将分析单个呻吟音。指定大致包含第一个呻吟音的新数据,并校正时间数据以体现 10 部的加速。将截断的信号绘制为时间的函数。

moan = x(2.45e4:3.10e4); t = 10*(0:1/fs:(length(moan)-1)/fs); plot(t,moan) xlabel('Time (seconds)') ylabel('Amplitude') xlim([0 t(end)])

数据的傅里叶变换确定了音频信号的频率分量。在一些使用 fft 处理大量数据的应用中,通常需要调整输入,使样本数量为 2 的幂。这样可以大幅提高变换计算的速度,对于具有较大质因数的样本大小更是如此。指定新的信号长度 n(2 的幂),并使用 fft 函数计算信号的离散傅里叶变换。fft 会自动使用零来填充原始数据,以增加样本大小。

m = length(moan); % original sample length n = pow2(nextpow2(m)); % transform length y = fft(moan,n); % DFT of signal

根据加速因子调整频率范围,并计算和绘制信号的功率谱。绘图指示,呻吟音包含约 17 Hz 的基本频率和一系列谐波(其中强调了第二个谐波)。

f = (0:n-1)*(fs/n)/10; power = abs(y).^2/n; plot(f(1:floor(n/2)),power(1:floor(n/2))) xlabel('Frequency') ylabel('Power')



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3