1

I am trying out Jasper on Raspbian. According to Jasper docs, along with PocketSphinx, we have to also install CMUCLMTK, MIT Language Modeling Toolkit, m2m-aligner, OpenFST, and Phonetisaurus.

Once I finished installing PocketSphinx, but before installing all those dependencies, I used pocketsphinx_continuous to test voice recognition. Regardless of accuracy, it obviously was able to capture my speech and went through the interpretation process. I even created my own .lm and .dict files using CMU's lmtool and tried them on pocketsphinx_continuous without problem.

My question is this: PocketSphinx seems to be able to perform speech recognition without all those dependencies. Why does Jasper tell me to install them? Does PocketSphinx really need them? What purposes do they serve?

Nikolay Shmyrev
  • 24,897
  • 5
  • 43
  • 87
Nick Lee
  • 5,639
  • 3
  • 27
  • 35

2 Answers2

2

In this list at least 2 are not needed. CMUCLMTK and MITLM are both language modeling toolkits with the same functionality. Even if you want to replace online lmtool, you need just one of them. Same, Phonetisaurus requires MITLM and m2m-aligner only to train g2p models, not to use them.

So ideally you only want MITLM, OpenFST and phonetisaurus to replace online lmtool and add new words locally. You do not need CMUCLMTK and m2m-aligner.

In the future Pocketsphinx will be able to work with new words without Phonetisaurus, so you'll be able to drop this dependency.

You need to complain to Jasper developers if they are still available for complaints.

blambert
  • 1,340
  • 13
  • 19
Nikolay Shmyrev
  • 24,897
  • 5
  • 43
  • 87
  • Thank you. That makes things much clearer. Installing those dependencies are far from trivial and very time-consuming on Raspberry Pi. I love to be able to get away without them. – Nick Lee Jun 02 '16 at 07:30
2

CMUCLMTK, MITLM, m2m-aligner, OpenFST, and Phonetisaurus are not PocketSphinx dependencies and not required by PocketSphinx.

Jasper uses CMUCLMTK to compile Language Model (.lm).

Phonetisaurus depends on OpenFST Lib.

Jasper uses Phonetisaurus to compile Dictionary (.dict).

Jasper is not using MITLM and m2m-aligner.

MITLM, m2m-aligner (only once) and OpenFST required to compile G2P(FST) model from corpus.

g10dras
  • 399
  • 2
  • 11
  • Last statement is not quite correct. m2m-aligner was once required for g2p model training, now phonetisaurus includes its own aligner. – Nikolay Shmyrev Jun 02 '16 at 05:07
  • @NikolayShmyrev you are correct. Jasper doc is very old and needs update. Btw lastest Jasper Code (jasper-dev branch) support precompiled G2P Model along with PocketSphinx-5prealpha. https://sourceforge.net/projects/cmusphinx/files/G2P%20Models/en_us_nostress.tar.gz hence there is no need to install MITLM and m2m-aligner for Jasper. – g10dras Jun 02 '16 at 05:22