How to Read an Audio File in Matlab
Audio Processing with MatLab
An Introduction
By:� Rachel Hager
This lab is an introduction to sound processing with MatLab.� This lab will help to familiarize you with some of the master functions to read in and play music files in MatLab.
The post-obit functions that will be used in this lab are:
wavread()�������� sound() soundsc()�������� flipud() wavwrite()
To sympathise how each of these functions is used in MatLab, type help followed by one of the above commands into the control prompt.� Notation that in society to use the wavread() function you must utilise a .wav file.� It is possible to convert .wma and .mp3 files into .wav files.� You can Google search to find programs to do this.� If you tin can�t find one that works, send me an email and I tin can forwards you some links.
This lab consists of the post-obit sections:
Section i:� Read and Store an Audio File in MatLab
Department 2:� Play the Sound File
Section 3:� Audio Scaling
Department iv:� Playing a Track Backwards
Department five:� Exercise What You�ve Learned
Section 6:� Create Music with MatLab
Let�s go started!!!
Section 1:� Read and Shop an Sound File in MatLab
To read and store an audio file, you tin use one of 2 different command lines.� The post-obit stores the file into variable y.
y = wavread(�filename');
Remember to include the entire filename including the directory.
����������� Example: C:\My Documents\EE186Labs\Audio.wav
The control line below stores the audio file into variable y and the sampling frequency in variable Fs.
[y,Fs] = wavread(�filename');
Section 2:� Play the Audio File
To play an audio file in MatLab you utilize the sound() function.� The following function plays the sound.� If the Fs variable is not defined or included in the control, information technology will assume the default sample charge per unit of 8192 Hz.
sound(y,Fs);
Section 3:� Audio Scaling
To scale an audio file the soundsc() command is used.� This allows for the modification of an audio bespeak�s amplitude or frequency.
soundsc(y,Fs);
To increase the volume of the audio track you can multiple the variable it is stored in by a scalar.� To slow downward or speed up the track played you lot tin can adjust the sampling charge per unit.� Comment on your observations using different values.
At present experiment with dissimilar bit values (1,2,..,16) in the following command:
soundsc(y,Fs,bits);
Comment on your observations.
Section four:� Playing a Track Backwards
The control to reverse the order of the samples in a matrix is flipud().� Experiment with this command.
Section 5:� Practice What You lot�ve Learned
Now for this function of the lab take fun with MatLab.� Take your favorite music files and catechumen them to .wav files if they are not already converted.� I�thou sure you all have audio files from some source or another!!! �If yous�re not sure how to convert the files, Google search information technology.
Once yous have a couple of your favorite audio files, you may need to ingather the file.� Most audio files are adequately large which can cause MatLab to lock upward.�
Read and shop the cropped audio file.� At present use some of the above commands to modify the audio signal.� Play your favorite song backwards or brand your favorite singer sound like a chipmunk.� Note that the above commands are just a basic look at MatLab�southward audio processing capabilities.�
Comment on your findings!!!
For your assist here is a file frontwards and backward that has been done with the same process
Section 6:� Create Music with MatLab
This section of the lab will teach you lot how to create songs using different tones created in MatLab.� Commencement we are going to code a sine moving ridge of aamplitude A = 1, with at an audio frequency of 523.25 Hz (corresponds to C).
cnote = sin(2*pi*523.25*(0:0.000125:0.5));
This vector cnote now contains simples of the sine wave from t = 0s to t = 0.5s, in samples that are spaced 0.000125s apart (this is the sampling interval Ts).� Annotation that this sampling interval corresponds to a sampling frequency of viii kHz (1/Ts = fs).� This is standard for voice grade audio channels.
At present to write this sound to a wave file we take the post-obit control.
wavwrite(cnote, �c.wav�);
At present to play the audio, same as before utilise the sound() function.� That is the single annotation that you just created.� Now that you�ve got ane downward� only several more to go!!
I�ve washed some of the like shooting fish in a barrel piece of work here for you.� The post-obit webpage gives the frequencies of unlike notes which are as well shown on the table below. http://www.dolmetsch.com/musictheory27.htm
Using this information create a few dissimilar notes in MatLab.
Note that in that location are unlike octaves as yous become through the dissimilar keys on a piano.� To get yous started here are a few:
f = sin(two*pi*174.61*(0:0.000125:0.5));
g = sin(2*pi*195.99*(0:0.000125:0.5));
a = sin(2*pi*220*(0:0.000125:0.5));
b = sin(ii*pi*246.94*(0:0.000125:0.v));
At present to create a line of music use the following command:
line1 = [a,b,c,d,east,f];
line2 = [a,b,c,d,east,f];
The letters should represent the notes that you accept created in MatLab.� Put the notes in the society you want them to play.
To create your song use:
song = [line1, line2];
Add equally many lines equally you like.� Now write your song, read and shop it into a new variable, and heed to it.� Comment on your musical abilities.� If you�re musically challenged, check out Google for some songs that you tin create.� Feel free to create your own song or attempt to copy some Beethoven.� Enjoy!!!
If yous demand some more help with this lab, check out the following link:
http://users.rowan.edu/~shreek/networks1/music.html
For some other example, at the end of this lab I have attached the song that I created which is a few lines of �Centre and Soul�.� Get creative with this assignment and comment on the problems you lot run in to.
Source: http://class.ece.iastate.edu/mmina/ee186/labs/audio.htm
0 Response to "How to Read an Audio File in Matlab"
ارسال یک نظر