14.6.1 Running the speech recognition

Prepare two terminals. Run speech recognition using JuliusMFT in one terminal, and run speech separation using HARK in another terminal. The commands and results are shown in Figs. 14.32 and 14.33, respectively. Note that you need run JuliusMFT first to make sure that the separated sound is sent after the initialization of JuliusMFT. After the separation, you will find wave files in sep_files/ directory, and a result.txt, a speech recognition log file.

> 1_Julius.sh
After you see the message "waiting client at 10500",
press enter again [Press Enter]

 <-- You press enter

STAT: include config: julius.jconf
STAT: loading plugins at "/usr/lib/julius_plugin":
STAT: file: calcmix_heu.jpi  #0 [Gaussian calculation plugin for Julius.
                                                            (ADD_MASK_TO_HEU)]
      ... skipped ...
///////////////////////////////
///  Module mode ready
///  waiting client at 10500
///////////////////////////////

 <-- You press enter again.

Figure 14.32: An execution example of JuliusMFT
> 2_Recognition.sh 
 UINodeRepository::Scan()
 Scanning def /usr/local/lib/flowdesigner/toolbox
 done loading def files
 loading XML document from memory
 done!
 Building network  :MAIN
 TF = 1,INITW = 0,FixedNoise = 0
 SSMethod = 2LC_CONST = 0LC_Method = 1
 reading A matrix
 Try to read loc_tf.dat as HARK format.
 72 directions, 1 ranges, 8 microphones, 512 points
 done
 initialize
 Source 0 is created.
 Source 1 is created.
    ... skipped ...
Figure 14.33: An execution example of HARK

The wave files are the separated sound to be recognized. Since these wave files are standard monaural audio files, you can listen to them by your audio player.

The text file result.txt is a raw speech separation log.

Trouble shooting

If no wave files are created, it means that HARK does not work correctly. Check if you have all files listed in Table , and sep_files/ directory is writable. Next, check if you successfully installed HARK (See the recipe 3.1Installation fails for this.)

If result.txt includes no recognition result, it means that JuliusMFT does not work. Check if JuliusMFT is installed. Run julius_mft in your terminal. If you see command not found, it is not installed yet. Next, check if all files listed in Table exist. Finally, check if you typed exactly the same command shown in Fig. 14.32.

For any case, the reason of the error will be written in log file or error messages. Read them carefully.