Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added basic Julius STT engine and vocabcompiler #285

Merged
merged 4 commits into from
Jan 19, 2015

Conversation

Holzhaus
Copy link
Member

This adds a STT/Vocabulary implementation for the Open-Source Large Vocabulary CSR Engine Julius to Jasper.

Basically, recognition is working, but the freely available speaker-independent acoustic models offer a recognition rate that is probably too bad to use without custom training.

We COULD include this and state in the documentation that you need a custom trained acoustic model (you can define it via profile) and that we do not provide support for this step (and link to this tutorial).

@crm416 @shbhrsaha Do we want to merge this in on the above conditions?

@coveralls
Copy link

Coverage Status

Coverage decreased (-1.74%) when pulling b969d37 on Holzhaus:julius-stt-engine into dd418d6 on jasperproject:master.

@shbhrsaha
Copy link
Member

Yup, sounds good to give people the option. I support

@Holzhaus
Copy link
Member Author

I added documentation for this here.

@shbhrsaha
Copy link
Member

Not going to test this on the Pi, but I trust this worked for you on Arch so good to merge in

Holzhaus added a commit that referenced this pull request Jan 19, 2015
Added basic Julius STT engine and vocabcompiler
@Holzhaus Holzhaus merged commit 83e79cd into jasperproject:master Jan 19, 2015
@Holzhaus Holzhaus deleted the julius-stt-engine branch January 19, 2015 11:15
@andweber
Copy link

I tried the julius plugin and couldn't get it running out of the box.
It seems like the function definition of compile_vocabulary is not correct. That's why the profile options
"lexicon" and "lexicon_archive_member" are not recognized. I made a patch.

fix_def_julius_compile_vocabulary_patch.txt

Fixing this I'm stuck with the following error:

INFO:jasper.vocabcompiler:Starting compilation...
ERROR:jasper.vocabcompiler:Fatal compilation error occured
Traceback (most recent call last):
File "./jasper/vocabcompiler.py", line 140, in compile
compilation_func(config, self.path, phrases)
File "./plugins/stt/julius-stt/juliusvocab.py", line 133, in compile_vocabulary
subprocess.call(cmd, stdout=out_f, stderr=out_f)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(_popenargs, *_kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

It seems like it is tried to call "mkdfa.pl". Is it missing??

edit
my fault sorry - was not able to install julius correctly

@andweber
Copy link

one more issue. "Jasper" as default keyword is dropped when compared with the dictionary because comparison is case sensitive.

I added two ways of fixing this:

  1. always lookup with uppercase in translate_word
  2. making sure that the keyword is always uppercase
    choose the best one.

fix_def_julius_compile_vocabulary_patch_3.txt

@Renezera
Copy link

Hey guys, I'm very new to all this and I'm having trouble setting up Julius-STT. Is there any step-by-step guide out there that can help me? Or is there any other STT that works better than the sphinx? I have some accent and sphinx doesn't recognizes 40% of the words I say lol.
Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants