Saturday, May 30, 2009

Switching Sphinx to Julius

Ah.. Its been long time since I updated this blog. I was really busy trying to use Julius.
Yes. right. I had to ditch Sphinx4 and move to Julius.

Following are the reasons that made me shift from Sphinx to Julius:
  • First and Foremost, Poor Recognition. I really could not get even 80% accuracy from this ASR. Me and one of my American friend tested it many times. Still no success.
  • Sphinx4 is based on Java. Hence its 'obviously' slow and hogs lot of memory.
  • It doesn't recognize words properly. However Digits are pretty accurately recognized.
  • No backward compatibility. Sphinx4 is re-written in Java. Whereas all previous versions are written in C/C++.
Reasons I will miss Sphinx:
  • Good documentation
  • Great helper demo examples
  • Active Forums and help by their developers
  • I kind of feel comfortable using Java. Hence using Eclipse for Sphinx4 really helped me in learning about Sphinx4 easy.
From next article onwards I will switch to Julius. I really couldn't get hang of Sphinx to make it work for my task. Sometime later, I shall work again on this and find out where I did wrong or has sphinx indeed become better recognizer :)


  1. Sphinx 4 is not the newest release of the Sphinx group of speech recognition engines.

    Sphinx 4, 3 and PocketSphinx are all separate development streams.

    The Sphinx Hieroglyphs manual provides an overview of the history and purpose of each different release.

  2. What language are you trying to recognize? I'm guessing Japanese, since Julius comes with that. Interested in knowing more about your decision to leave Sphinx. I'm looking for something that's relatively easy to implement, Sphinx appears to be very complicated to set up. Initially, I just want to get the timing for speech and text that already exists (for a closed caption system). Suggestions?

  3. Julius is not restricted to Japanese Language.
    Please go through tutorials and ready-to-use Julius demo for English.
    I used Julius and achieved nearing 100% recognition.

    Setting up Sphinx4 is not at all difficult. Do let me know if u need my help !!

  4. Can you please afford Julius' Windows Visual Studio 2008 projects for us to compile Julius in Windows?


  5. @Anonymous.
    I did try to compile Julius using C++ Builder as I do not have VS.
    But it was in vein. I ended up using only Cygwin to run Julius.

  6. Hi Amit:
    My name is Angel and I am triying to compile Julius, my problem is that I need to integrate Julius with a project which is written in c++, can I pass Julius from language C to c++???
    How can I compile Julius in Visual Studio in order to use it with the project written in C++???
    My email is

  7. Hello Amit,

    I am Yash, and I want to know how to build Sphinx for transcribing wav files to text format. I built the binary version of Sphinx using Eclipse, but I don't know how to use the ARPA format dictionary file in the code. My basic objective is to convert about 300 wav files into text.

    Currently the sphinx built is able to transcribe only the sample wav files (TIDIGITS grammar). I want it to transcribe regular human speech as well using the HUB4 dictionary.

    Kindly provide your inputs. My email is

    Any help would be appreciated.

    Thanks in advance.

  8. Hi Yash,

    I have tried to transcribe the WAV files via Sphinx. But I felt it was not very accurate. (I tried an year ago. Lot would have changed by now :)

    Why not try HTK and Julius.

    1. Hi Amit s,

      I have tried own acoustic model with use of sphinxtrain then tested with pocketsphinx_batch its giving 100 % accuracy while testing the same training audio file which used for training model.

      My question is not detecting other audio file

  9. I want to create a program could recognize about 10 words in my language Vietnamese. I'v read about how to creat acoustic model, but I stuck at "pronunciatin dictionary".

  10. @Khanh

    What issue you are facing ? Where are you stuck ?

  11. Hi
    Would anyone please guide me with installing julius and setting it up and running. I just downloaded this julius-4.2.3-linuxbin.tar.gz on my linux and ran tar and ran the script. Now I cannot figure out what to do next.