FREQUENCY
ANALYZER
ABSTRACT
Students
are often more interested in learning technical material if they can see useful
applications for it, and in digital signal processing (DSP) it is possible to
develop homework assignments, projects, or lab exercises to show how the
techniques can be used in realistic situations. The
study of Fourier series from a musical perspective offers great in-sight into
basic mathematical concepts and the physics of musical instruments. Tools available
in Matlab allow students to easily analyze the wave forms and harmonics of recorded
sounds. The FFT (Fast Fourier Transform) and filter design are two fundamental
techniques in DSP.
In most signal analysis methods, the most important
task is the detection of frequencies present in the audio signal. The common approach
undertaken to achieve this is by analysing the signal in the frequency domain.
By performing a Fourier transformation on an audio signal, the frequency
spectrum of that signal can be retrieved. The FFT of the recording of a musical
instrument can be used to determine which note is being played and whether the
instrument is in tune, sharp, or flat.This tuner is one of the basic
application of FFT in the musical field.
In
this project ,we discuss the recognition of different notes of a musical instrument
namely a keyboard.
INTRODUCTION
The computer can capture live sound/music using a microphone
that is connected to the sound card. Modern sound cards can capture digital
signals. A digital signal is a set of quantized sound values that were taken in
uniformly spaced times. The digital signal does not provide any information
about frequencies that are present in the sound. To determine that, the data
need to be analyzed.
We will use a Fast Fourier Transform
(FFT) to generate the spectrogram of the signal of short periods of time. After
the spectrogram is calculated, the fundamental frequency can be determined by
finding the index of the maximum value of the magnitude squared. The improved
algorithm finds several such places, candidate frequency bins, with the
magnitude squared in the top of the maximum values, and further analyzes them
to verify the candidate fundamental frequencies by using the signal data.
When a note is played on a musical
instrument, the sound waves are generated by strings, air, or the speaker - an
instrument generates a musical note. One of the characteristics of a musical
note is a pitch (fundamental frequency). Traditionally musical alphabet
frequencies are divided by octaves, and then by semitones. An octave has 12
named pitches: C (prime), C#, D, D#, E, F, F#, G, G#, A, A#, and B. Octaves
also have names: great, small, one-lined, two-lined, etc. The "standard
pitch" (A one-lined or A4) has a fundamental frequency of its sound waves
equals to 440 Hz. The frequencies of two neighboring notes are different by 21/12, and frequencies of the notes with the same name
in two neighboring octaves are different by 2.
The
FFT of the recording of a musical instrument can be used to determine which note
is being played and whether the instrument is in tune, sharp, or flat.
The
note that an instrument played can be found by determining the fundamental
frequency of the signal and comparing it to a table that lists the frequency associated
with each note (see Table ). The FFT can also be used to compare the harmonic
structure of different instruments. As we all know ,harmonics are the multiples
of fundamental frequency.
The
table below shows the frequencies associated with each keys of a keyboard
,which we will be using later on in this project.
Figure(2)
below shows the expected result of the graphs.
In
this project ,we first find FFT of different musical notes recorded and then
compare this FFT with already existing table of frequencies ,finally giving us the
information on the corresponding music note .This is basics of instrumental tuner
and musical analyzer.
ANALYSIS
The
function analyze.m
uses the built-in Matlab functions wavread
and fft to calculate the power spectrum of
a Microsoft wave (.wav) sound file. The plots produced by analyze.m can be used to identify the pitch
and volume of a sound sample. Figure 2 shows the results of low A, middle A,
and high A played on a piano. The waveforms on the left are the pressure
variations with time detected by the microphone. The amplitude of the wave is a
measure of its pressure oscillations and corresponds to the volume of the
sound. Volume is usually measured in decibels, the logarithm of pressure. One
does not usually think of sound in terms of pressure, but feeling the pressure
waves of sound at a concert or near loud equipment is a common experience.
The
fundamental frequency f1
Doubles
with each octave, and the harmonics are spaced in proportion to f1 as expected. The spectrum is nonzero
between harmonics because the waves are not perfectly periodic.
Notice
that the difference in frequency between any two consecutive harmonics is
the
fundamental frequency. The human mind unconsciously uses this fact to identify a
pitch even if the fundamental and lower harmonics are missing.
Thus the frequencies of octaves form a
geometric sequence. For example, the frequencies of As are 55,110,220,440,880,…
CODE
function analyze(file)
[y, Fs] = wavread(file); % y is sound data, Fs is sample
frequency.
t = (1:length(y))/Fs; % time
ind = find(t>0.1 &
t<0.12); % set time
duration for waveform plot
figure; subplot(1,2,1)
plot(t(ind),y(ind))
axis tight
title(['Waveform of ' file])
N = 2^12; % number
of points to analyze
c = fft(y(1:N))/N; % compute fft of sound data
p = 2*abs( c(2:N/2)); % compute power at each frequency
f = (1:N/2-1)*Fs/N; % frequency corresponding to p
soundsc(y,Fs)
subplot(1,2,2)
semilogy(f,p)
axis([0 1000 10^-4 1])
title(['Power
Spectrum of ' file])
analyze('piano_A0')
analyze('piano_A1')
analyze('piano_A2')
From
the depiction above we can see that the value from the graph obtained is comparable
with the frequencies from the table.
INFERENCE;
The
desired output was obtained. The result that was obtained was comparable with
the expected one .
REFERENCE
1. ENHANCE YOUR DSP COURSE WITH THESE
INTERESTING PROJECTS
Dr. Joseph P. Hoffbeck, University of Portland
No comments:
Post a Comment
Note: only a member of this blog may post a comment.