Voice control of electronic systems is not a new invention; however its development has been hindered until 10 years ago by the lack of powerful enough (and dedicated) digital signal controllers). Things are changing though, and with enough money on the market to create a demand for voice controlled application, several semiconductor suppliers have started to target complete such solutions through their research efforts.
Improved control of a device with voice commands is now possible using hybrid architecture that combines a microcontroller (MCU) with a digital signal processor (DSP). The digital processing capabilities of a hybrid MCU allow voice control to penetrate to embedded systems. Practically any new product containing a hybrid MCU can be controlled by voice. A system for control of lights and heating can be generalized for controlling any device with a voice command set. Software algorithms may be developed using the proven hidden Markov models. The declared aim of the application is to provide a reference architectural design for controlling home appliances via voice commands. Speaker dependence is one of the main aspects to be considered when dealing with speech recognition.
2. Basic design
The core of the system is a DSP (classical component is DSP56F805 from Freescale), around which other components are added in order to make all system-controlling functions accessible by voice command, manual switch or keypad input (in case of noisy environment). Each of the microphones used for voice detection has a corresponding switch and a lamp unit, which raises the need of an arbitration process (easily implemented in software). A block diagram of the speech recognition system is available in figure 1.
The DSP continuously samples all analog-to-digital converter (ADC) inputs, the affiliated software process determines if there is a speech on input, and the DSP assigns an actual device. The ADC on the DSP can have two modules, each multiplexed to four pins; a total of eight sources of analog signal. Optionally, one ADC pin can be connected to a phone through a subscriber line interface circuit; one pin is connected to a temperature sensor. The remaining six pins can be connected to microphones. To minimize memory requirements, a low sampling frequency is recommended for all speech channels. As an option, heating can be controlled by phone. The recognition process is the same. If the speech reference is recognized, the DSP returns it as an audio signal to confirm the validity of the recognition. Internal ADC is used at the input side and an external digital-to-analog converter (DAC) is used at the output side. The DAC and the DSP are connected through a serial peripheral interface (SPI). One of the special characteristics of the solution is the possibility of changing in real time the parameters used for speech recognition, through the facilities provided by the SDK. As you can imagine, a speech recognition system (voice control application is just a particular instance of speech recognition) has a quite complex software component. Running the vocal command recognition algorithm is probably the most complex of its tasks. This is done mainly employing algorithms based on the hidden Markov models, which were initially developed in the late 1960s and have been used in speech recognition applications since mid 1970s. In the figure 2 is an illustrated summary of the activities performed by the software component of the application.
Figure 2: Software algorithm
Although the reference design particularly refers to a design for home appliances control, the same generic principles may be applied to any device that needs to be controlled in such a manner.
Based on text written by brumbarchris