Plotting wav sound file onto graph
67 次查看(过去 30 天)
显示 更早的评论
Hey I am trying to plot a wav file in the time domain that I recorded from my own microphone onto a graph in matlab, I am reading in the file using audioread, and when I am plotting it, I am getting this weird orange superimposition over my graph. However, when I am using an audio clip from online and plotting it, it seems to be completely blue. What is the difference between the blue and the orange graphs? Is the orange portion ambient noise from my microphone? Here is my code
%filename is where I am getting the sound wav file from on my cpu,
[y,Fs] = audioread(filename);
%sound(y,Fs);
size(filename);
length(y)
whos y;
whos Fs;
TotalTime = length(y)./Fs;
t = 0:TotalTime/(length(y)):TotalTime-TotalTime/length(y);
plot(t,y)
Also as a follow up question, when I am going about finding the fft of these two waveforms, is it as simple as the following statements.
nfft = fft(y);
F = 1./t;
plot(F,y)
Any help is appreciated. Thanks.
0 个评论
采纳的回答
Star Strider
2016-9-15
The sound you recorded from your microphone is in stereo (by default, however you can make it single-channel monophonic if you want), so the plot is plotting both channels. The sound is stored in a (Nx2) matrix, with the left channel the first column and the right channel the second column. You can plot only one channel, or plot each in a separate figure (consider using subplot).
The sound you got from your online source is likely monophonic, and the plot displays only the one channel.
2 个评论
Star Strider
2016-9-15
My pleasure.
You could also calculate the mean as:
Mono = mean(y,2);
I would do the subplots as:
figure(1)
subplot(2,1,1)
plot(t, y(:,1))
grid
subplot(2,1,2)
plot(t, y(:,2))
grid
更多回答(0 个)
另请参阅
类别
在 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!