Hey, I have a project where I'm trying to plot a sound and show how you can see the sine waves in it. I try with
>> [y,fs]=wavread('C:\Users\Moen\Documents\MATLAB\Sine_wave_440.wav');
>> t=[1/fs:1/fs:length(y)/fs];
>> plot(t,y)
in MATLAB, but all i get in the plot is a blue square. What can I do to show sine waves in a sound?
Thanks!

 Réponse acceptée

Chad Greene
Chad Greene le 6 Nov 2014

1 vote

Can you upload the wave file? Without having the data it's hard to guess, but perhaps you're seeing too many sine waves squished into the window. If t is in seconds, two 440 Hz sine waves should be evident if you type
xlim([0 2/440])

Plus de réponses (2)

Star Strider
Star Strider le 6 Nov 2014

1 vote

The blue square is actually the signal, but plotted so densely you can’t see any detail. (This is normal.) If you want to see the signal in more detail, use the axis function. In your situation, you might want to do something like this:
plot(t,y)
axis([0 100 ylim])
Change the ‘0’ and ‘100’ values as necessary to whatever lets you see the part of the signal you want. (You can also zoom in the figure window, depending on what you want to do, but that is likely not as useful as axis.)
Leif Olav Moen
Leif Olav Moen le 7 Nov 2014

0 votes

Thanks for the help! xlim([0 2/440]) worked.

Catégories

En savoir plus sur Audio I/O and Waveform Generation dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by