Busy busy days !

Aah! Finally got some free time.

Last two months were so damn busy that sometimes i feel like, I updated my blog  just a week ago.

Anyways, I know its already more than 2 months i haven’t updated my blog.

No such informational things to tell you about, Let me share few major project i have done in these 2 months.

1 ) Voice Reminder System – Basically a voice command based system to store voice reminders and play them on scheduled time. Using JSAPI ( Sphinx and FreeTTS Specifically ), JMF, JavaMail, JAF. ( I’ll be posting a video demonstrating this application soon )

2 ) Image Processing Application – An Image Editor application having all the features like any other image editor. Special feature is Image processing to other colors combos like Black ‘n’ White, Negative and more upto 80 combos.

3 ) Well well, This one is my favorite and Little private too. This one is a website based on HTML 5, CSS3 and JS. This one is going the complete fun package. Launching soon! 🙂

This is it for now ! Stay tuned for more  updates and specially the video.

Signing Off! ~Puneet Kalra

Finite State Machine ( FSM )

Hello everyone,

Its been quite long, I haven’t made any update on my site. Because i was busy researching/working on Artificial Intelligence techniques and specifically on Sphinx 4.

In this post, I’m going explain you a widely used, simple but important technique named “Finite State Machine”, In short “FSM”. Basically, FSM is used as a control technique in context of Artificial Intelligence. FSM is model of composition of Behaviors and executing Actions by finite numbers of states and transitions between those states.

Using this technique we can understand how Actors (Objects) will behave and perform action (Logic) when system realizes specific real time conditions and present state of system. Current state of system can be recognized by past states changing by input changes from start of system to the current state. Transition plays an important role in FSM. Transitions are like barriers between two states. Barriers should be unlocked by fulfilling the condition to move from one state to another.

FSM Example

FSM Example - Source : Wikipedia

Finite State Machine is widely used. It can used for Simple string data comparison and also for designing highly complex operating systems.

How To Improve Accuracy ( Sphinx 4 )

Hello everyone,

I’m back with a very big question.

How to improve accuracy ?!?!?

Its been a week, I’m getting 2-3 mails everyday  regarding “How to improve accuracy”. So this post is answer to all those and upcoming mails. First of all the problem is really big and complex, And to understand the problem first you need to understand the very basics of Speech Recognition and background process of Speech Recognition.

Basics of Speech Recognition are not Java coding part Or Whats gram file Or Why we use Recognizer and Microphone classes .. NO !

Remember ! Changes in Java Coding will not make any major effect in Accuracy. You need to focus on config.xml file.

To solve this problem, All you need to do is, understand the Automatic Speech Recognition, Search and Language Processing Algo’s. Specifically on Sphinx, you need understanding of Hidden Markov Models ( HMMs ) methods of Speech Recognition, Beam Searching, Language Configs and Modeling. Its highly recommended to read any good book before you continue to work on it.

Before we apply the configs on our application to give more accurate results, We must know to how to track results.

Click here to know how to apply Accuracy Tracker on your application.

Next part is, Knowing what kind of SR application you are creating. Basically, SR applications are divided into 2 major categories : Dictation and Command

Command Application When words are very few And Dictation Application When you have a large vocabulary.

And for both type of applications we need a language model or grammar file respectively. A language model is a file containing the probabilities of sequences of words. A grammar is a much smaller file containing sets of predefined combination of words.

Now again on the most important part, Accuracy Tracking. Find as many resources, examples, notes you can. Finally collect databases, Few are also available on Sphinx website. Work on it. Recognize it. Try to get your best results.

Expected Results in Silent Environment :

Command : 5% WER

Medium Vocabulary : 15% WER

Large Vocabulary : 30% WER

If environment is noisy, Multiply the results by 2.

If you are not getting the expected results. Keep trying and try to find the bugs in config file and run time reports.

Still if you are not happy with the results And have got extra time. Open the config.xml file and start playing with Configs and keep experimenting. Also, Make sure you make notes on every configs and their outputs.

If you have any better ideas or any suggestions, Please feel free to post comments.

That’s it for now ! Signing off.

Just a quick update

Hello everyone.

I’m busy in developing a Web/Desktop/Networking based application for European client of MBNInformatics in which Web part is developed in PHP and Desktop part is developed in Java and Networking is required in both sides.

And why i’m posting this update ? Reason is Help requests from Guests/Users. Firstly i would like to thank all of you, that you found me capable for solving your technical problems. And I’m extremely sorry to those I haven’t replied yet.

I have noted all your requests and i will try to solve all of them as soon as i get some free time. Also please be patient as i have about 14 help requests But i will reply you for sure. 🙂


Statistics Day !

Statistics for Puneet Kalra’s Blog

  • 400 Successful Days
  • Single Domain ( puneetk.com )
  • Hosted by 2 Webhosts ( servage & globat )
  • Faced 1 Server crash
  • 7 major projects
  • 2 open source projects ( pikk & pwing )
  • 20 articles published
  • Used 3 wordpress themes
  • 69 comments posted
  • 4000+ spam comments ( 270+ spam on pending )
  • Visitors from 55 countries ( 220 cities, Mostly from India, USA, UK, Israel, Germany & Chile )
  • 2530 Visits and 6583 Pageviews
  • 554 Unique Followers
  • 310 relative searches on Google
  • 121 pages cached by Google
  • and thousands of hours spent on exploring java and other technologies..

Happy Statistics Day! 😀