This is an outdated fork of https://github.com/jasperproject/jasper-client. With these patches it is possible to use Jasper with different languages. Only the Time, Unclear, Joke (partial) and Life plugins are translated yet. --- I wanted to use Jasper in German, so I did the following on my Arch Linux laptop: - Set up Jasper - Make sure everything works in English. I needed to change `aplay -D hw:1,0 str(filename)` to `aplay str(filename)` in client/stt.py - Get the language model, I got mine from [here](http://goofy.zamia.org/voxforge/de/). - In my case, the fst was in `phonetisaurus/dict-xsampa.fst` and the hmm_dir was `voxforge-de-r20141117/model_parameters/voxforge.cd_cont_3000`. After some fiddeling I realized that there are different formats, `ARPA` and `XSAMPA`. pocketsphinx needs `ARPA`, but my model was `XSAMPA` - luckily there [is a script](https://github.com/gooofy/voxforge) to convert inbetween them. I changed a regular expression, added an option for the conversion and included this script. You need to add the line `fst_ist_xsampa: true` below the line with `fst_model` in your `profile.yml`. - Now the keywords need to be changed. gettext does this, I added a draft translation. To convert it, go to Jasper's root folder and execute `msgfmt messages.po`. The phonetized words seem to be cached in `~/.jasper/vocabularies`, so you should flush it with `rm -rf ~/.jasper/vocabularies`. - Next, configure espeak to speak in the right language, that is `voice: 'german'` in the profile.yml. - I did not really like the espeak voice so I wanted to try PicoTTS instead. It turns out that the Pkgbuild is not working anymore because the source repository has been taken down (DMCA). [PicoPi](https://github.com/DougGore/picopi) worked fine for me: - Download, compile, install - Change `pico/tts/main.cpp` and replace the path `ttsEngine->init(synth_done, '../lang')` to the absolute path to the `lang` directory, because otherwise you need to be in the `tts` directory when running `./testtts`. - Compile again and add PicoPiTTS to `client/tts.py`. [Here](https://gist.github.com/MakeMeASandwich/cb284bae65f8b7870942) is a gist, it's hacky and insecure but works.