1CS 188: Artificial IntelligenceSpring 2006Lecture 19: Speech Recognition3/23/2006Dan Klein – UC BerkeleyMany slides from Dan JurafskySpeech in an Hour Speech input is an acoustic wave forms p ee ch l a bGraphs from Simon Arnfield’s web tutorial on speech, Sheffield:http://www.psyc.leeds.ac.uk/research/cogn/speech/tutorial/“l” to “a”transition:2 Frequency gives pitch; amplitude gives volume sampling at ~8 kHz phone, ~16 kHz mic (kHz=1000 cycles/sec) Fourier transform of wave displayed as a spectrogram darkness indicates energy at each frequencys p ee ch l a bfrequencyamplitudeSpectral AnalysisAcoustic Feature Sequence Time slices are translated into acoustic feature vectors (~39 real numbers per slice) Now we have to figure out a mapping from sequences of acoustic observations to words.frequency……………………………………………..a12a13a12a14a14………..3The Speech Recognition Problem We want to predict a sentence given an acoustic sequence: The noisy channel approach: Build a generative model of production (encoding) To decode, we use Bayes’ rule to write Now, we have to find a sentence maximizing this product Why is this progress?)|(maxarg* AsPss=)|()(),( sAPsPsAP=)|(maxarg* AsPss=)(/)|()(maxarg APsAPsPs=)|()(maxarg sAPsPs=Other Noisy-Channel Processes Handwriting recognition OCR Spelling Correction Translation?)|()()|( textstrokesPtextPstrokestextP∝)|()()|( textpixelsPtextPpixelstextP∝)|()()|( texttyposPtextPtypostextP∝)|()()|( englishfrenchPenglishPfrenchenglishP∝4Digitizing SpeechShe just had a baby What can we learn from a wavefile? Vowels are voiced, long, loud Length in time = length in space in waveform picture Voicing: regular peaks in amplitude When stops closed: no peaks: silence. Peaks = voicing: .46 to .58 (vowel [iy], from second .65 to .74 (vowel [ax]) and so on Silence of stop closure (1.06 to 1.08 for first [b], or 1.26 to 1.28 for second [b]) Fricatives like [sh] intense irregular pattern; see .33 to .465Examples from LadefogedbadpadspatSimple Periodic Sound WavesTime (s)00.02–0.990.990 Y axis: Amplitude = amount of air pressure at that point in time Zero is normal air pressure, negative is rarefaction X axis: time. Frequency = number of cycles per second. Frequency = 1/Period 20 cycles in .02 seconds = 1000 cycles/second = 1000 Hz6Adding 100 Hz + 1000 Hz WavesTime (s)00.05–0.96540.990Spectrum1001000Frequency in HzAmplitudeFrequency components (100 and 1000 Hz) on x-axis7Part of [ae] from “had” Note complex wave repeating nine times in figure Plus smaller waves which repeats 4 times for every large pattern Large wave has frequency of 250 Hz (9 times in .036 seconds) Small wave roughly 4 times this, or roughly 1000 Hz Two little tiny waves on top of peak of 1000 Hz wavesBack to Spectra Spectrum represents these freq components Computed by Fourier transform, algorithm which separates out each frequency component of wave. x-axis shows frequency, y-axis shows magnitude (in decibels, a log measure of amplitude) Peaks at 930 Hz, 1860 Hz, and 3020 Hz.8Mel Freq. Cepstral Coefficients Do FFT to get spectral information Like the spectrogram/spectrum we saw earlier Apply Mel scaling Linear below 1kHz, log above, equal samples above and below 1kHz Models human ear; more sensitivity in lower freqs Plus Discrete Cosine TransformationFinal Feature Vector 39 (real) features per 10 ms frame: 12 MFCC features 12 Delta MFCC features 12 Delta-Delta MFCC features 1 (log) frame energy 1 Delta (log) frame energy 1 Delta-Delta (log frame energy) So each frame is represented by a 39D vector For your projects: We’ll just use two frequencies: the first two formants9Why these Peaks? Articulatory facts: Vocal cord vibrations create harmonics The mouth is a selective amplifier Depending on shape of mouth, some harmonics are amplified more than othersFigures from Ratree Wayland slides from his websiteVowel [i] sung at successively higher pitch. 123456710Deriving Schwa Reminder of basic facts about sound waves f = c/λ c = speed of sound (approx 35,000 cm/sec) A sound with λ=10 meters: f = 35 Hz (35,000/1000) A sound with λ=2 centimeters: f = 17,500 Hz (35,000/2)Resonances of the vocal tract The human vocal tract as an open tube Air in a tube of a given length will tend to vibrate at resonance frequency of tube. Constraint: Pressure differential should be maximal at (closed) glottal end and minimal at (open) lip end.Closed endOpen endLength 17.5 cm.Figure from W. Barry Speech Science slides11From SundbergComputing the 3 Formants of Schwa Let the length of the tube be L F1= c/λ1= c/(4L) = 35,000/4*17.5 = 500Hz F2= c/λ2= c/(4/3L) = 3c/4L = 3*35,000/4*17.5 = 1500Hz F1= c/λ2= c/(4/5L) = 5c/4L = 5*35,000/4*17.5 = 2500Hz So we expect a neutral vowel to have 3 resonances at 500, 1500, and 2500 Hz These vowel resonances are called formants12FromMarkLiberman’sWeb siteSeeing formants: the spectrogram13How to read spectrograms bab: closure of lips lowers all formants: so rapid increase in all formants at beginning of "bab” dad: first formant increases, but F2 and F3 slight fall gag: F2 and F3 come together: this is a characteristic of velars. Formant transitions take longer in velars than in alveolars or labialsFrom Ladefoged “A Course in Phonetics”HMMs for Speech14HMMs for Continuous Observations? Before: discrete, finite set of observations Now: spectral feature vectors are real-valued! Solution 1: discretization Solution 2: continuous emissions models Gaussians Multivariate Gaussians Mixtures of Multivariate Gaussians A state is progressively: Context independent subphone (~3 per phone) Context dependent phone (=triphones) State-tying of CD phoneViterbi Decoding15ASR Lexicon: Markov ModelsViterbi with 2 Words + Unif. LM Null transition from the end-state of each word to start-state of all (both) words.Figure from Huang et al page 61216Markov Process with Unigram LMFigure from Huang et al page 617Markov Process with BigramsFigure from Huang et al page
View Full Document