Professional Documents
Culture Documents
Analisis Spektrogram Dan Trackplot
Analisis Spektrogram Dan Trackplot
HCS 7367
Speech Perception Lab
http://www.utdallas.edu/~assmann/hcs7367/
Course information
Lab details
Speech demos
Matlab programs used for class assignments
Additional resources
Matlab Background
Kermit Sigmon, MATLAB Primer 2nd Edition.
http://www.fi.uib.no/Fysisk/Teori/KURS/WRK/mat/singlemat.html
Download Praat:
Praat tutorial:
http://www.fon.hum.uva.nl/praat/
http://www.fon.hum.uva.nl/praat/manual/Intro.html
Wavesurfer
Download Wavesurfer:
www.speech.kth.se/wavesurfer
www.speech.kth.se/wavesurfer/man.html
Start Matlab
doc Matlab
Examples of topics
Initial stages
Finding papers
PubMed search engine:
http://www.ncbi.nlm.nih.gov/entrez/
Finding papers
PubMed search engine
http://www.ncbi.nlm.nih.gov/entrez/
Find more
papers
Finding papers
Waveform
F0 = 1000 / 6 = 166 Hz
Amplitude (dB)
20
Harmonics are
integer multiples
of F0 and are
evenly spaced in
frequency
F0 = 1 / T0
0
-20
Amplitude
Spectrum
-40
0
0.5
1.5
2.5
Frequency (kHz)
Source properties
Amplitude
Spectrum
-10
-20
-30
-40
-50
0
200
400
600
800
1000
Frequency (Hz)
Filter properties
F2
F3
Amplitude
Spectrum
(with superimposed
LPC spectral envelope)
Amplitude in dB
F4
-10
(.wav)
(.wav)
(.wav)
-20
-30
-40
-50
0
2
3
Frequency (kHz)
Glottis
//
Lips
length, L
front
i heed
high
center
F2
back
u whod
hid
hood
e hayed
mid
head
o hoed
low
had
schwa
hawed
hut
hod
Height
Advancement
2000
1000
hod
u whod
0
200
400
600
800
1000
Quarter-wave resonator:
Quarter-wave resonator:
Fn = ( 2n 1 ) c / 4 L
Fn = ( 2n 1 ) c / 4 L
Helium speech
Helium speech
Speech in air
Helium speech
Audio demos
Speech in air
Speech in helium
Pitch in air
Pitch in helium
3
Frequency (kHz)
http://phys.unsw.edu.au/phys_about/PHYSICS!/SPEECH_HELIUM/speech.html
100
200
300
700
800
900
http://phys.unsw.edu.au/phys_about/PHYSICS!/SPEECH_HELIUM/speech.html
Speech in helium
Frequency (kHz)
Quarter-wave resonator:
Fn = ( 2n 1 ) c / 4 l
100
200
300
400
500
Time (ms)
600
700
800
http://phys.unsw.edu.au/phys_about/PHYSICS!/SPEECH_HELIUM/speech.html
Perturbation Theory
Perturbation Theory
delta
F1
glottis
delta
F2
lips
Perturbation Theory
glottis
lips
Perturbation Theory
delta
F3
delta
F3
glottis
glottis
lips
lips
Perturbation Theory
Perturbation Theory
0
-10
-20
-30
amplitude
spectrum
-40
glottis
-50
0
lips
2
3
Frequency (kHz)
Perturbation Theory
0
-10
-20
-30
amplitude
spectrum
-40
-50
0
2
3
Frequency (kHz)
Spectral analysis
Power or intensity
Amplitude or magnitude
Log units and decibels (dB)
Degrees or radians
F1 = 281 Hz
F2 = 2196 Hz
F3 = 2755 Hz
60
50
Amplitude (dB)
40
30
20
10
0
-10
0
2
Frequency (kHz)
Speech spectrograms
Gray-scale spectrogram
Waterfall plots
Animation
Speech spectrograms
The watchdog
waveform
spectrogram
Frequency (kHz)
F3
F2
F1
amplitude
time
sampling
quantization
In-class assignment
Nyquist frequency
Effects of discrete-time sampling on bandwidth
In-class assignment
In-class assignment
In-class assignment
In-class assignment
In-class assignment
u whod
F1
F1
F1
F2
F2
F2
F3
F3
F3
In-class assignment
hod
10
120
100
ABS
Absolute value.
80
60
40
0
200
400
600
800
1000
-10
-20
-30
-40
-50
0
2
Frequency (kHz)
11
Assignment 1
Assignment 1
// "hid"
/e/ "hayed"
// "head"
// "had"
// "hud"
// "hod"
// "hawed"
/o/ "hoed"
// "hood"
/u/ "whod"
// "herd"
Assignment 1
Assignment 1
// "heed"
// "hid"
// "hayed"
// "head"
// "had"
// "hud"
// "hod"
// "hawed"
// "hoed"
// "hood"
// "whod"
// "herd"
Assignment 1
Step 2: Load the waveform of each vowel from
the disk:
>> for i=1:12,
>>
>>
>>
Assignment 1
Step 2: extract the middle part from the waveform
>> % extract samples that lie between start and stop:
>> y = y( start : stop ); % but how do we select start and stop?
start
stop
>> end;
12
Exercise1
Exercise1
% vector length
min ( y )
% minumum value
nfft = 512;
max ( y )
% maximum value
mean ( y )
% mean value
plot ( y )
% inspect waveform
% y ( start : stop )
Exercise1
type fp.m
Function M-files start with a function statement (see next
page) and a series of comment lines. The comment lines
are included to provide online help and are optional (but
input vector
(waveform
segment)
sample
rate
type of
window
function
comment
lines
rate=10000;
set
defaults
end;
function
statement
13
x=x(:);
n = length ( x ) ;
if window=='rect',
% rectangular window = [1 1 1 1 1]
x=x.*ones(n,1);
elseif window=='hamm',
x=x.*hamming(n);
elseif window=='hann',
x=x.*hanning(n);
else,
x=x.*hamming(n);
end;
no2=round(n/2);
amp = a (1:no2);
Exercise1
Annotate graph:
>> xlabel ( 'Frequency (kHz)' );
% x-axis label
% y-axis label
% graph title
14
Annotations
% x-axis label
% y-axis label
% graph title
% x-axis range
Amplitude spectrum
Phase spectrum
60
150
50
Phase (deg)
Amplitude (dB)
100
40
30
20
50
0
-50
10
-100
0
-10
0
-150
1
2
Frequency (kHz)
2
Frequency (kHz)
15
Making spectrograms
Making spectrograms
hod
Frequency (kHz)
5
4
3
2
1
0
100
200
300
Time (ms)
400
500
600
TrackDraw program
Using TrackDraw
load wheel
y=wheel;
specsynth;
16
17