Click here to register.

Test Acoustic Model Using Julius

1. First compile the Julian grammar files (i.e. the one you added to you test directory in Step 2) as follows:

$mkdfa.pl sample

2. Next, create a file in your test directory to tell Julius where all your wav files are located (Julius can use the same mfc files as does HTK, but recognition rates seem better when using the original wav files).  It should look like this:  wavlstwavlst

3. Next update your Julian configuration file as follows:

julian.jconfjulian.jconf

4. Then use Julian to recognize the test data as follows:

a.  If you created your Acoustic Model using the VoxForge How-to or Tutorial, execute the following command:

$ julian -input rawfile -filelist wavlst -smpFreq 48000  -C julian.jconf  > juliusOutput

b. If you Adapted the VoxForge Speaker Independent Acoustic Models to your voice using the adaptation tutorial, execute the following command:

$ julian -input rawfile -filelist wavlst -smpFreq 8000  -C julian.jconf  > juliusOutput

which creates the following file: juliusOutputjuliusOutput

5. Next you need process the Julius output so that HTK's HResults command can read it.  Download the following script: ProcessJuliusOutput.pl (note that if you download this file, you need to rename it to 'processjuliusoutput.pl' - otherwise it will download as 'processjuliusoutput_pl.txt').

6. Then execute it as follows (note: you may need to make this script executable - see Cheat Sheet on the Docs page):

$./ProcessJuliusOutput.pl juliusOutput juliusProcessed
which generates the following output:

juliusProcessedjuliusProcessed 

7. Finally, run the following command to determine the actual recognition performance of the Acoustic Model:

$HResults -I testref.mlf tiedlist juliusProcessed

which will display output similar to this (note: these are results for the 8kHz:16-bit VoxForge Speaker Independent Acoustic Model, build 396, which includes speech audio using my voice, so the results are better than what you would get):

====================== HTK Results Analysis =======================
  Date: Fri Sep 29 12:42:14 2006
  Ref : testref.mlf
  Rec : juliusProcessed
------------------------ Overall Results --------------------------
SENT: %Correct=82.00 [H=41, S=9, N=50]
WORD: %Corr=96.83, Acc=94.71 [H=183, D=2, S=4, I=4, N=189]
===================================================================

What this means is that:

  • for the line starting with SENT, there were 50 test sentences and 82% were correctly recognized. 
  • for the line starting with WORD, there were 189 words in total, of which 96.83% were recognized correctly.  But because Julius recognized words that are not in the audio file (i.e. insertion errors) it only gets a 94.71% accuracy rating.
  • Count definitions:
    • D - Deletion Error
    • S - Substitution Error
    • I - Insertion Error


Comments

Click the 'Add' link to add a comment to this page; click the 'Read More' link to view replies to a posted comment.

AddSearch

Julius performance
By DRF - 8/8/2008 - 1 Replies

I went through the steps to test the tutorial but found that the performance of Julius was considerably inferior to what was posted here.  I have not been able to get above %50 word error rate.

In particular, the recognizer seems to have lots of difficulty in identifying a long stream of digits.  It is only able to recognize the first few digits.  My guess is that the settings in the Julian.jconf file might need changing.  Any suggestions?