How can I Plot a simple linear plot of sound pressure v/s frequency from an audio track?
1 次查看(过去 30 天)
显示 更早的评论
I need to plot power v/s frequency (Hz) simple 2-d plots of an audio file.
0 个评论
回答(1 个)
Star Strider
2018-11-9
The full code would go something like this:
filename = 'YourFile.wav';
[y,Fs] = audioread(filename); % Import File
N = size(y,1); % Assuming Column Vectors
t = linspace(0, N, N)/Fs; % Time Vector (If Necessary)
Fn = Fs/2; % Nyquist Frequency
Fy = fft(y)/N;
Fv = linspace(0, 1, fix(N/2)+1)*Fn; % Frequency Vector
Iv = 1:numel(Fv): % Index Vector
figure
plot(Fv, abs(Fy(Iv,:))*2)
grid
2 个评论
Star Strider
2018-11-12
My pleasure.
I am not certain what you want to do.
You can certainly plot them, although I would plot each track in a separate axes, probably using the subplot function. You can make all the frequency vectors the same by using the second ‘NFFT’ argument to the fft funciton.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!