190 likes | 336 Views
Voice Activated Phone System. Erik Wise, Yiftach Eisenberg. April 29, 1999. T.A. - In Seop Lee. Introduction. Reason for selecting project Real world application Creative new solution. Voice Recognition Issues Addressed. Beginning/End of Speech Detection Calculating Coefficients
E N D
Voice Activated Phone System Erik Wise, Yiftach Eisenberg April 29, 1999 T.A. - In Seop Lee
Introduction • Reason for selecting project • Real world application • Creative new solution
Voice Recognition Issues Addressed • Beginning/End of Speech Detection • Calculating Coefficients • Linear Time Warping • Least Mean Squared Recognition
Beginning of Code Is the phone picked up no yes Template button pressed yes no Flag not set, Recognition skipped Flag set, Recognition will be performed Determine what button is pressed
Audio Signal Frequency Cutoff: 4000Hz Sample input First Order Digital Filter y(n)=.95y(n-1)+x(n) Determine Energy Level (Real Time) Above threshold (start of speech) no yes Speech started
Speech started Store samples in memory no Energy level below threshold (end of speech) yes Calculate auto-correlation coefficients
Standardize Speech [Linear Time Warping] Flag set no yes Recognition [Least Mean Squared] Output to LED or Dial Number Done: to start of program Phone on yes no
Beginning Threshold Ending Threshold "Nine" Energy Patterns
Beginning Threshold Bad Ending Threshold Good Ending Threshold "Nineteen" Energy Patterns
"Nine" Time Pattern Good
"Nineteen" Time Pattern Good Bad
Coefficient Calculation • Frames • 240 samples = 30ms • 2/3’s overlapping in • Auto - Correlation Coefficients • Gain Normalization • Standardize Amplitude
10 10 Initial Coefficient Matrix Standard Matrix 8 Number of Frames X =(Number of Frames)/8
i = 10 x 8 = 80 Temp(i) Rec(i) Difference = (Rec(i)-Temp(i))^2 Least Mean Squared
Command Line DPS Board Operation Program Memory Y, X, Memory-- Can be shown in: Hex,Dec,Factional Registers, Pointers, Accumulators
Phone on 1 2 3 4 5 Port B of DSP Board Buttons tell program where to store template Output can power many different devices Eight bits - input Eight bits - output
Teamwork • Clear Goals and Strategy • Divide and Conquer • Large Algorithm --- Small Blocks • Memory Allocation • Simulation of individual blocks • Foresee Future Problems/Plan for Setbacks • LPC Coefficients • Floating Point Representation • Comparability of Different Work Habits
Conclusion • Performance • Monosyllabic Words • User Dependence • Microphone vs. Telephone • Improvements for the Future • Non-Linear Time Warping • Dynamic Threshold Setting