以下是一个简单的示例代码,用于生成两个音频文件的频域对比图:

% 读取音频文件
[y1, Fs1] = audioread('audio1.wav');
[y2, Fs2] = audioread('audio2.wav');

% 计算频谱
N = 1024; % FFT 长度
f1 = Fs1*(0:(N/2))/N; % 频率轴
f2 = Fs2*(0:(N/2))/N;

Y1 = fft(y1, N);
P1 = abs(Y1/N);
P1 = P1(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);

Y2 = fft(y2, N);
P2 = abs(Y2/N);
P2 = P2(1:N/2+1);
P2(2:end-1) = 2*P2(2:end-1);

% 绘制频域对比图
figure;
subplot(2,1,1);
plot(f1, P1);
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('Audio 1 Frequency Spectrum');

subplot(2,1,2);
plot(f2, P2);
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('Audio 2 Frequency Spectrum');

这段代码首先读取了两个音频文件,并使用 FFT 计算了它们的频谱。然后,使用 subplot 函数在同一窗口中绘制了两个频域图像。在这个示例中,我们使用了相同的 FFT 长度和频率轴,以便更好地进行比较。您可以根据需要更改这些参数

matlab做两个音频的频域对比图在一个窗口里

原文地址: https://www.cveoy.top/t/topic/ewOj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录