Voice Recognition Using Java
Voice Recognition Using Java
Voice Recognition Using Java
SPEECH RECOGNITION
Speech recognition is a technology that able a computer to capture the words spoken by a human with a help of microphone .These words are later on recognized by speech recognizer, and in the end, system outputs the recognized words. An ideal situation in the process of speech recognition is that, a speech recognition engine recognizes all words uttered by a human but, practically the performance of a speech recognition engine depends on number of factors. Vocabularies, multiple users and noisy environment are the major factors that are counted in as the depending factors for a speech recognition engine.
History
The concept of speech recognition started somewhere in 1940s. Practically the first speech recognition program was appeared in 1952 at the bell labs, that was about recognition of a digit in a noise free environment. After the five decades of research, the speech recognition technology has finally entered marketplace, benefiting the users in variety of ways.
Voice Input With the help of microphone audio is input to the system, the pc sound card produces the equivalent digital representation of received audio. Analog to Digital The process of converting the analog signal into a digital form is known as digitization. Acoustic Model An acoustic model is created by taking audio recordings of speech, and their text transcriptions, and using software to create statistical representations of the sounds that make up each word. Language Model The software language model compares the phonemes to words in its built in dictionary
Speech engine The job of speech recognition engine is to convert the input audio into text to accomplish this it uses all sorts of data, software algorithms and statistics. Its first operation is digitization as discussed earlier, that is to convert it into a suitable format for further processing. Once audio signal is in proper format it then searches the best match for it. It does this by considering the words it knows, once the signal is recognized it returns its corresponding text string.
TOOLS
Eclipse 3.6.2 Android SDK Android emulator device ADT plug-in Command Prompt Java development kit 1.6
Eclipse Tool
Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++. With the help of Android ADT plug-in we can develop Android applications.
Android SDK
Android software development is the process by which new applications are created for the Android operating system. Applications are usually developed in the Java programming language using the Android Software Development Kit (SDK). The Android software development kit (SDK) includes a comprehensive set of development tools. These include a debugger, libraries, a handset emulator, documentation, sample code, and tutorials.
The Android tools include an emulator. This emulator behaves like a real Android device in most cases and allow you to test your application without having a real device. You can emulate one or several devices with different configurations. Each configuration is defined via an "Android Virtual Device" (AVD). The developer has to create different emulators for different versions of Android OS.
ADT plug-in
Android Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to give you a powerful, integrated environment in which to build Android applications. ADT extends the capabilities of Eclipse to let you quickly set up new Android projects, create an application UI, add components based on the Android Framework API, debug your applications using the Android SDK tools, and even export signed (or unsigned) .apk files in order to distribute your application.
METHODOLOGY
An Android application consists of code in java, XML for GUI, Resource file and android manifest in XML. An interface is created which has a speak button which is activated by the following line of java code. speakButton.setOnClickListener(this);
The voice is recognized by the class RecognizerIntent. This class contains constants for supporting speech recognition through starting an Intent. RecognizerIntent.ACTION_RECOGNIZE_SPEECH : Starts an activity that will prompt the user for speech and sends it through a speech recognizer. RecognizerIntent.EXTRA_LANGUAGE_MODEL : Informs the recognizer which speech model to prefer when performing ACTION_RECOGNIZE_SPEECH. The recognizer uses this information to fine tune the results. Activities implementing ACTION_RECOGNIZE_SPEECH may interpret the values as they see fit.
RecognizerIntent.EXTRA_PROMPT : Optional text prompt to show to the user when asking them to speak. intent.putExtra(RecognizerIntent.EXTRA_ PROMPT, "Speech recognition demo");
Voice input is recognized, the result comes in an array list. RecognizerIntent.EXTRA_RESULTS : An ArrayList<String> of the recognition results when performing ACTION_RECOGNIZE_SPEE CH. Returned in the results; not to be specified in the recognition request. A list of matches for the recognized speech is created by constant android.R.layout.simple_list_item_1 and method data.getStringArrayListExtra(Recognize rIntent.EXTRA_RESULTS);
CONCLUSION
The desired result of recognizing speech with a high accuracy rate was achieved by the java programming on an android platform. A sentence upto 3 lines can be easily recognized by the application with in a few seconds.