{'fraction_non_alphanumeric': 0.029389880952380952, 'fraction_numerical': 0.004464285714285714, 'mean_word_length': 5.5108958837772395, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
SPEECH RECOGNITION WITH LOW-COST MICROCONTROLLERS

Speech recognition tools for human-machine interaction (HMI) in consumer equipments have been recently become a reality because of the improvement in pattern recognition technologies, signal processing, and the development of high performance microcontroller devices at low-cost. In this paper, a compact system for phonemes and small vocabularies recognition is presented, its orientation being consumer applications, where cost is of paramount importance. The idea is that the user could operate a home appliance (TV set, washing machine, etc.) by means of speech commands. Thus, the speech recognition method must be as simple as possible, in such a way that could be implemented (programmed) onto a standard microcontroller device, with the requirements of a typical low-mid range embedded application: about 1 kilobyte of RAM memory, limited computing resources (8/16 bit integer arithmetic), low clock frequency (MHz), portability among different microcontroller architectures, low resolution A/D converters and low sampling frequency. First, the speech signal is sampled at 6K samples per second. Then, the Linear-Cepstrum (LFC) is used for speech processing because of its relatively low computational cost, in comparison with those techniques used in computer based applications (or with powerful DSP processors), as Mel-Cepstrum (MFCC) or LPCC advanced analysis. The time domain analysis is limited to a unique Hamming window, been impossible in our case the use of a typical dynamic programming algorithm (as Dynamic Time Warping, DTW) because of the requirements exposed in the above paragraph (especially in relation to limited RAM memory available). Immediately after, a pattern recognition stage is carried out by means of a LVQ (Linear Vector Quantization) neural network, previously trained with a set of patterns from a limited vocabulary. The very simple pattern distance calculation allowed by the LVQ is especially interesting with the limited computing resources available. In addition, the neural network parameters are also adjusted to get an acceptable commitment among precision, noise immunity and implementation complexity. Finally, we estimate the performance of the whole speech recognition system developed by means of several parameters with validation groups in Spanish language. The prototype has been programmed onto a Mitsubishi M16C, a low-cost 16-bit microcontroller (about 5 euros), trained on a real environment (20dB of signal to noise ratio). Nevertheless, it can easily adaptable to microcontrollers of other manufacturers because the speech recognition system has been developed in C language.