This electronics and communication mini project is intended to implement a voice recognition system for password authentication. Major components of this project are
- Audio Signal Sampling
- Training algorithm
- Voice recognition
- MySQL Database
Project implementation is splitted into two phases. Training and Real time authentication. Inputs to the System will be fed from mic interfaced to computer. Entire project is built using C language.
During training, a person need to spell out the password 10 to 15 minutes via mic. Audio signal sampling modules read the audio signals from mic and sampled at rate of 16,000 per second. Sampling frequency is defined as the number of samples taken per second from a continuous audio signal to make a discrete signal. Amplitude of each sample will be calculated and stored into MySQL database with respect to a user. This process will be repeated for all the samples collected from a person. Once samples are collected, amplitude average of similar block in the signal will be taken and stored. During real time authentication, when a person spell out his password, audio signal will be sampled into blocks which is equal to the no of blocks in the trained signal. Then the amplitude of the real time block will be compared with the amplitude of the trained block data. We need to put a tolerance of 10 - 15 % on both sides , because there will be a slight deviation in voice when a person spell out his password each time.
To build a reliable voice recognition System, make sure that filter's are used to segregate the unwanted noise signal that blends with the audio signal. Some of the popular noise reduction algorithms are
- Dolby and dbx noise reduction system is developed by Ray Dolby. In this algorithm, amplitude of frequencies are increased during encoding in the four bands. During decoding amplitudes are decreased based on the increased proposition. Idea behind this algorithm is to increase the signal to noise ratio to 10 dB based on the initial signal. During played back, decoder reverse the process by reducing the noise level by up to 10 dB.
- Dynamic Noise Limiter and Dynamic Noise Reduction. DNL is developed Philips to avoid noise on cassette decks. Since DNL and DNR don't complement each other, they can be used to remove background noise from audio signal in FM radio broadcasts and Magnetic Tapes.
- Time frequency filters (linear or non-linear). This algorithm is implemented using spectral editing tools.
- Chroma and luminance noise separation
- MLP neural network
- Linear smoothing filters
- Anisotropic diffusion
- BRIL Noise Reduction Algorithm is intended to work in highly noisy environments without any distortion in speech signal. BRIL is used in Internet phones, conferencing, mobile telephony, speech recognition etc.
- SANR135 Harmonic Noise Reduction Algorithm is based on an adaptive line enhancer algorithm and therefore is very effective in reducing time varying additive harmonic noise.
- SANR145 Wide band Noise Reduction Algorithm
During password training, choose a location where external noises are not present, because it can tamper the training data and put entire project will be put into jeopardy.