Voice Recognition System Jaime Diaz and Raiza Muñiz 6.111 Final Project May, 2007 Abstract This project attempted to design and implement a voice recognition system that would identify different users based on previously stored voice samples. Each user inputs audio samples with a keyword of his or her choice. This input was gathered but successful processing to extract meaningful spectral coefficients was not achieved. These coefficients were to be stored in a database for later comparison with future audio inputs. Afterwards, the system had to capture an input from any user and match its spectral coefficients to all previously stored coefficients on the database, in order to identify the unknown speaker. Since the spectral coefficients were acquired adequately the system as a whole did not recognize anything, although we believe that modifying the system’s structure to decrease timing dependencies between the subsystems might make the implementation more feasible and less complex.2 Table of Contents: 1. Design Overview .................................................................................................................... 4 2. Module Description and Implementation ............................................................................... 6 2.1 Audio Processing Subsystem ................................................................................................ 6 2.1.1 Front End Processing Unit ............................................................................................. 6 2.1.2 AC’97 Controller module .............................................................................................. 6 2.1.3 Audio Control module ................................................................................................... 7 2.1.4 FIFO Buffer module ...................................................................................................... 7 2.1.5 Back End Processing Unit ............................................................................................. 8 2.2 Distance Processor Subsystem .............................................................................................. 9 2.3 Operation............................................................................................................................. 11 2.3.1 Adding Users to the Database ...................................................................................... 12 2.3.2 Identifying Users .......................................................................................................... 12 2. 4 Control Unit ....................................................................................................................... 12 2.5 ADD .................................................................................................................................... 13 2.6 IDENTIFY ......................................................................................................................... 14 2.7 VALIDATION .................................................................................................................... 15 2.8 Memory ............................................................................................................................... 15 2.9 Action Register ................................................................................................................... 15 2.10 VGA .................................................................................................................................. 15 2.10.1 Display ....................................................................................................................... 15 2.10.2 Rectangle .................................................................................................................... 15 3. Testing and Debugging ......................................................................................................... 15 3.1 Simulated Waveforms ......................................................................................................... 16 3.2 Audio Testing...................................................................................................................... 16 3.3 Distance Testing.................................................................................................................. 16 4. Conclusion ............................................................................................................................ 16 5. References ............................................................................................................................. 17 6. Appedinx ............................................................................................................................... 17 6.1 Simulations ......................................................................................................................... 17 6.2 Code .................................................................................................................................... 173 Table of Figures: Figure 1. Figure 2. Block Diagram for the Audio Processing Subsystem Figure 3. State Transition Diagram for the Audio Control module Figure 4. Block Diagram of the Back End Processing Unit Figure 5. Block Diagram of the Distance Processor Subsystem Figure 6. State Transition Diagram for the Distance Processor Unit Figure 7. Control Unit Major FSM State Diagram Figure 8. MEM_ADD Minor FSM State Diagram Figure 9. MEM_ID Minor FSM State Diagram Figure 10. VALIDATION Minor FSM State Diagram4 1. Design Overview The overall design methodology for this project was to divide the system into two parts that could be done relatively independently. Unfortunately, the project ended up being more suitable for a three person subdivision and the remaining division had to be distributed as best as we could. Figure 1 shows the whole system’s block diagram. As can be seen the architecture used is fairly compact given the nature of the system. As a result of this desired compactness, system complexity was underestimated. In particular, the much desired modularity between our individual parts ended up being completely useless because the distance subsystem and the control unit should have been designed by the same person to facilitate posterior integration.5 Figure 1. Block Diagram of the Voice Recognition System AudioProcessing Distance
View Full Document