Today I’m going to tell you how to expand dictionary of acoustic model for Sphinx4. In simple words, This tutorial will tell you how you can add more words in Sphinx’s words database (Dictionary) and let it recognize those words, which are not available in default acoustic models provided by CMU Sphinx. This tutorial is based on “HelloWorld” example provided by CMU Sphinx.
Important Files in this example :
1 ) HelloWorld.java
Acoustic Model used in this example :
Lets say, We are creating a SR system for ABC National airlines. Everything will go fine and Sphinx will recognize most of the words except the name of cities and states of India. Now, I will tell you, How to add name of cities and states in dictionary.
Step 1 : Create a txt file “words.txt”, Write all the names of cities and states in it and save.
Step 2 : Open this link : http://www.speech.cs.cmu.edu/tools/lmtool.html
Step 3 : On that page, go to “Sentence corpus file:” section, Browse to “words.txt” file and click “Compile Knowledge Base”.
Step 4 : On next page, Click on “Dictionary” link and save that .DIC file.
Step 1 : Extract WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar file.
Step 2 : Go to edu\cmu\sphinx\model\acoustic\WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz\dict folder.
Step 3 : Open “cmudict.0.6d” file in that folder.
Step 4 : Copy data from .DIC file, you have downloaded in PART ONE, paste it in “cmudict.0.6d” file and save.
Step 5 : Zip the extracted hierarchy back as it was and Zip file named should be same as JAR file.
Now, remove “WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar” file from Project’s CLASSPATH and add “WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.zip” instead of it.
That’s it ! We are done. Now Sphinx will also recognize all name of cities and states that we wrote in “words.txt” file.
Now, FAQ time. I will be posting FAQ and few important notes in comments. 🙂
If you have any quires, Please feel free to ask.
After long long research on Speech Synthesizer and working on projects based on Speech Recognizer. Finally I made FreeTTS work using Eclipse SDK. I have tested it on Windows XP, Vista and Mac, Working fine on all the Operating systems. I found it little confusing but once you start working on something, Everything starts to solve out one by one.
About FreeTTS :
FreeTTS is a speech synthesis engine written entirely in the Java(tm) programming language. FreeTTS was written by the Sun Microsystems Laboratories Speech Team and is based on CMU’s Flite engine. FreeTTS also includes a partial JSAPI 1.0
Link To FreeTTS Website
Soon, I will be posting a “FreeTTS with Eclipse” tutorial.
So , Stay tuned!
After spending hundred of hours doing RnD on JSAPI, I have successfully created my first demo application that work on voice commands. Its just a simple application that accepts the voice commands and print numbers in a textbox by reading voice tokens. After working on it for so long, the things are pretty clear for me now.
Well, Im using Sphinx 4.0. Its a Speech Recognizer (no synthesizer) written in java. Sphinx is an implementation of Java Speech API (JSAPI) 1.0 and you must have JSAPI installed on your machine. Sphinx has quite different and easy implementation than others like FreeTTS etc. But the major fallback is, Its just recognizer. As wise people said, Something is better than nothing. Its much more than something, And according to me the best for beginners (Ofcourse for experts too).
About Sphinx :
Sphinx-4 is a state-of-the-art speech recognition system written entirely in the Java programming language. It was created via a joint collaboration between the Sphinx group at Carnegie Mellon University, Sun Microsystems Laboratories, Mitsubishi Electric Research Labs (MERL), and Hewlett Packard (HP), with contributions from the University of California at Santa Cruz (UCSC) and the Massachusetts Institute of Technology (MIT).
Sphinx-4 is a very flexible system capable of performing many different types of recognition tasks. As such, it is difficult to characterize the performance and accuracy of Sphinx-4 with just a few simple numbers such as speed and accuracy. Instead, we regularly run regression tests on Sphinx-4 to determine how it performs under a variety of tasks.
Link to Sphinx 4.0 website
Now, i’m working on a calculator application that works on Voice commands. I’ll be posting step by step tutorial to get sphinx work on windows and a simple example code of it.
Turn your PC into an easy-to-use virtualization platform with Sun xVM VirtualBox, the free and open source software that runs on all major operating systems and eliminates the need for tradeoffs or multiple hardware systems.
Some significant milestones by Andy Hall, Sun’s Sr. Product Manager of VirtualBox :
First, over 8 million copies of the software have been downloaded. Andy pointed out that the software is being downloaded a a rate that’s nearly 25,000 a day. As I’ve pointed out in other posts, the number of downloads doesn’t directly equal the number of copies of software in actual use. Andy must have read that post. Although he was polite enough not to say anything about that post, he do go on to say that over 2 million people gone to the effort of registering their copies. That figure is a better measure of software that either is involved with a pilot project or is in use in a production system.
Here’s what Sun has to say about this release:
xVM VirtualBox 2.1 software features a number of new enhancements, including:
- New Accelerated 3D Graphics: Uses the industry standard application programming interface (API) for high-performance graphics, Open Graphics Library (OpenGL), allowing users to flawlessly run applications like Google Earth and CAM-based software that are popular among heavy users of imagery like industrial designers, automotive and robotics engineers, architects, etc.
- Improved Network Performance: Makes network intensive applications like rich media (video, audio, interactive media, etc.) even faster. In addition, with new bridged networking configurations on Windows and Linux platforms, xVM VirtualBox software makes it easier to deploy server applications in virtual machines, allowing customers to easily deploy Web stacks like LAMP or SAMP.
- Storage Support: Comes with built-in iSCSI support to connect to storage systems, such as Sun’s newly announced Open Storage appliances, the Sun Storage 7000 family, also known as “Amber Road.” This feature enables easier management and sharing of virtual disk images.
In addition, xVM VirtualBox 2.1 software offers improved support for:
- Mac OS X on Intel Virtualization Technology (VT-x): Provides better support for Mac OS X as a host OS utilizing hardware-assisted Intel VT-x for better performance.
- VMware’s and Microsoft’s Virtualization Formats: Offers improved support for VMware’s virtual machine disk format (VMDK) and Microsoft’s virtual hard disk (VHD) file format, allowing for easy transfer of critical business information.
- Intel Core i7 processor: Enables extremely fast performance on leading-edge hardware with support for the new Intel Core microarchitecture in the Intel Core i7 processor (codenamed Nehalem).
- 64-bit guest OS on 32-bit host platforms: Allows users to run powerful 64-bit guest OS on 32-bit host platforms without the need to upgrade the host OS while taking advantage of multi-thread applications on powerful hardware.
For more information on VirtualBox, Click here.