From SMC Wiki

User:Ar rahul/GSoC2013/

3,936 bytes added, 05:33, 26 January 2017
Reverted edits by Sperminator (talk) to last revision by Ar rahul
===Problem Statement===
Malayalam is one among 22 languages spoken in India with about 38 million speakers. Development of malayalam speech recognition system is in its infancy stage; although many works have been done in other Indian languages. To develop an automatic continuous speech recognition system for a language , an acoustic model and language Model has to be developed for that particular language. At present acoustic and language models , for continuous speech recognition , are not available for Malayalam Language . 
CMU Sphinx is an open source toolkit for speech recognition developed by carnegie mellon university.It contains series of speech recognizers of which latest is sphinx4 , acoustic model trainer (sphinx train) and a statsitical language model builder (cmuclmtk). For developing a continous speech recognition system we need well trained acoustic model and language model.An acousitc model process audio recordings with their transcriptions and form statstical representations of word. A language model describes the likelihood, probability, or penalty taken when a sequence or collection of words is seen. CMUSphinx project comes with several high-quality acoustic models and language model for language like english, french, spanish etc.
The aim of this project as a whole is to develop a high-quality an acoustic model and language model for malayalamMalayalam with reasonable WER ( Word Error Rate )
The entire project can be subdivided in four parts :
::#1.Collecting voice data and making transcription for acoustic model
::#2.Collecting text corpora for language model
:*Optimising the database
:::Careful selection of voice and text data that can better represent the language , can be performed at this stage/phase so that quality of the acoustic model and language model created can be improved.Text data can be optimised using grapheme to phoneme converters and optimal text selection algorithms. Selecting appropriate speaker and analysing data statistics can lead to better acoustic data .
:*Training the acoustic model
:::Acoustic modeling of speech typically refers to the process of establishing statistical representations for the feature vector sequences computed from the speech waveform. Hidden Markov Model (HMM) is one most common type of acoustic models. We use SphinxTrain ,to train the acoustic model, which is based on HMM. The quality of the model can be increased significantly by adjusting the parameters of the trainer(sphinxtrain). The tedious task of finding the appropriate language specific parameter values and configuring the trainer is done during this stage. 
:*Building language model
:::A language model gives the probabilities of sequences of words. Here for continuous speech speech recognition we use statistical modelling of language using CMUCLMTK. Estimating the probability of sequences can become difficult in corpora, in which phrases or sentences can be arbitrarily long and hence some sequences are not observed during training of the language model (data sparseness problem of overfittingover fitting). Hence forming a good quality language model is a challenge.  '''Examples of language specific challenges''' Malayalam has 37 consonants and 16 vowels in the language. It is a syllable based language and written with syllabic alphabet in which all consonants have an inherent vowel /a/. There are different spoken forms in Malayalam although the literary dialect throughout Kerala is almost uniform. :*People have a hard time pronouncing breathy-voiced plosives and tends to substitute them with voiceless aspirated ones in the same place of articulation. :*ഫ ( ph’a ) pronounced differently in ഫലം and ഫാന്‍ . ന (na) (Nasal dental and Nasal alveolar) is pronounced differently even though the grapheme notation is same (eg. നനക്കുക (nan’naykkuka). phonological rules have been applied manually and edited the dictionary :*In continuous speech, word boundaries are also challenging. For instance, the word "thalasthanam” (തലസ്ഥാനം ) can be misconstrued as "thala sthanam” (തല സ്ഥാനം ). :*Articulation of certain phonemes are context dependent .For eg: the words ബലം and ജലം are pronounced as ബെലം and ജെലം respectively .
===Experience===:*The prosody of spoken Malayalam makes it difficult to correctly identify the sound units.(Phonemes).
In order to address these language specific issues of Malayalam speech recognition we need to have a working acoustic model and language model, which is unfortunately not available or in naive state for Malayalam language. Our aim is to develop a working acoustic and language model and thereafter address language specific issues one by one as possible in the limited time constraint. ===Benefits=== # Language data is the key ingredient in terms of research and development in the area of language technology. The data ( speech corpora and text corpora ) collected for this project will be made publicly available for future works .# High quality acoustic model and language model for Malayalam with low WER(word error rate) will be developed which can be used for research and development purposes in Malayalam Speech Recognition and Processing area .# Acoustic and Language model developed can be used by programmers/developers directly to create solutions to many existing problems that need speech recognition in local language. ===Challenges=== # Lack of appropriate annotated speech databases for Malayalam Language .# Careful selection of voice and text data that can better represent the language# Understanding CMU Sphinx Engine and its tools to make language specific improvements and increase efficiency# Finding the appropriate language specific parameter values and configuring the trainer ===References=== #[‎ CMU Sphinx Website]#[ Learning to use the CMU SPHINX Automatic Speech Recognition system ]#[ Building Language Model]#[ Introducing Speech and Language Processing - John Coleman] ==Experience== ===Technical Skills===
#Languages : C,C++,Python,Java,Bash
#Embedded Platforms : Arduino , Atmel AVR , SiliconLabs CIP-
===Free Software===
I am passionate about technology and free and open source systems. I am actively involved in the free software community and have volunteered for various free/open projects in the past . I have participated in various national level conferences ( like FOSS.IN , Pycon India ) that promote FOSS.
===Developer Experience===
*Intern as Linux Distribution Developer [ Winter 2010 ]
===Unavailable - May 6th to June 2nd===
University tests and other academic responsibilities .
===June 2nd - June 15th===
I am familiar with the usage of sphinxtrain and cmuclmtk so i will be using this time to understand and learn to configure the internal parameters of the sphinx engine to improve performance of models formed.
===June 15th - June 30===
 During this period i will be collecting all the voice data and text corpora required for the acoustic model and language model respectively. Applying optimisations including graphemes to phoneme conversion and optimal text selection algorithms for text corpora . Choosing appropriate speakers based on data statistics is also done during this period.
===July 1st - July 15th===
Training Configuring the trainer parameters such as number of states in HMM(Hidden Markov Chain), different number of gaussian mixtures and tied states based on language specific features. Stressed consonants need to be treated separately and not as variants of the parent consonant for acoustic modeling . Finally training the initial acoustic model and building the language model .
===July 16th - July 28th===
Handling any unexpected issues regarding Once a working acoustic and language model has been formed further language specific improvements can be performed . Consulting linguists for incorporating Malayalam grammar rules to improve the data collected and finally retrainingrecognition accuracy of the modelsspeech recognition system is one such method .
===Midterm Evaluation===
Mid-Term should provide the community with a reasonably good acoustic model and language model for Malayalam.
Applying optimisations including graphemes This time will be utilized to phoneme conversion address and optimal text selection algorithms for text corpora solve as many of the language specific problems mentioned in the project proposal . Choosing appropriate speakers based on data statistics is also Multiple Forced alignment iterations could be done during this period. Finally training of the optimised data to form further improve thehigh quality acoustic model and language model.
===September 1st- September 15th===
Can be used for general bug fixing and detailed documentation.
===Final Evaluation===
Expects to complete a high quality acoustic Acoustic model and language model for malayalam with low WER(word error rate)will be formed.
===Pens Down===