Trying to make the Spanish module work

Hey there, I need some help with the Spanish modules.

I’m trying to make Mycroft understand and speak in Spanish, but it doesnt respond to the “hola” wake up call. or it doesn’t work at all. it doesn’t trow any errors.

Any ideas?

I’m not at all familiar with this but I see that you’re editing the default config in the mycroft-core checkout. This will be overwritten by the config received from the web. For example wake word and phonemes are fetched from the web.

I suggest you copy the relevant parts into the ~/.mycroft/mycroft.conf

The resolution order of configuration: is

  1. mycroft-core/mycroft/configuration/mycroft.conf
  2. Remote config (home.mycroft.ai)
  3. /etc/mycrof.conf
  4. ~/.mycroft/mycroft.conf

Settings in higher numbers overrides lower numbers.

the wiki is outdated, it used to link to PocketSphinxAudioConsumer from SoloVeniaSaludar, i will see if i can find the link to his repo and share here

it is more complicated than the wiki makes it seem

disclaimer: havent tried, just looked into it because of using pocket sphinx as local STT option

You’ll have to translate the vocabulary, dialog and regex of the skills to your language.

Basically there are subfolders in the skills

vocab
dialog
regex

these contains a folder en-us copy this folder to es
edit each of the files translating them to spanish

a) change the threshold value
b) you need to also translate skills, it will not trigger anything because intents are in english
c) you only need translate vocab and dialog files (some skills may have hard coded speak in english), you don’t need to recreate the whole skill

you also need a STT that understand spanish, you are trying to use pocket sphinx, you need to copy this repo -> https://github.com/SoloVeniaASaludar/mycroft-core/

if you simply clone his repo you will be missing new mycroft.core features because it is not up to date, you need to compare and merge relevant files

you may have better luck (and performance) using Google STT or other api instead of pocketsphinx

could you make it work?

how to translate to any language guide

auto-translation skill

About a), these false positives in wakeword recognition are one of the reasons I’ve created the local speech client. (I will try to merge it with the official speech client to skip the disadvantages of a partial fork).

About b) could you post logs for client, skills and pocket.log ?

About c) if you look at client log and/or pocket.log you will see the bad recognition of “what time is it?”, because this phrase has words that doesn’t belongs to the Spanish dictionary.

Note: at this moment I’m not working on the internalization because I’m more interested on jump mycroft from a sympathetic device in the living room to a global smart home assistant. And that means an audio network in all house for commands and messges, a z-wave network for actions and sensors (new hardware to mycroft ? interface with a z-wave hub as samsung smartthings or wink? interface with ifttt?), … .

Yes, I do :slight_smile:

Which issues are you having ?

Here I come again trying to have Mycroft working in Spanish.

Some of the previous responses seems outdated:

So I’m trying google STT. These are the changes I’m doing:

1- gedit /mycroft-core/mycroft/configuration/mycroft.conf:

a “lang”: “es-la”,

b “tts”: {
“module”: “espeak”,

c “espeak”: {
“lang”: “es-la”,
“voice”: “m1”
}

d “server”: {

“update”: false,

},

e “stt”: {
“module”: “google”,
“google” : {
“credential”: {
“token”: “{google token}”
}
}
}

f

g “wake_word”: “hey mycroft”, —> “wake_word”: “hola mundo”,
“stand_up_word”: “wake up” —> “stand_up_word”: “despierta”

h “hotwords”: {
“hola mundo”: {
“module”: “pocketsphinx”, //also tried snowboy
"phonemes": “O L A . M U N D O”,
“threshold”: 1e-90
},

  "despierta": {
     "module": "pocketsphinx",    //also tried snowboy
     "phonemes": "D E S P I E R T A",
     "threshold": 1e-30
     }
  },

(tested the google token in an external app and worked ok)

2- Copy mycroft/res/text/en-us into mycroft/res/text/es-la and translate all text.

3- translated some skills /opt/mycroft/skills/skill-{skillname}/dialog/es-la
/opt/mycroft/skills/skill-{skillname}/vocab/es-la

4- mycroft/util/parse.py -> still working on it. It doesn’t seem to be needed at this point.

5- mycroft/util/format.py -> still working on it. It doesn’t seem to be needed at this point.

6- create the following folder structure downloading all the packages:

/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/es.dict
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/es.lm
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/es-la.dict (just in case)
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/es-la.lm (just in case)
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/hmm/feat.params
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/hmm/mdef
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/hmm/means
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/hmm/mixture_weights
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/hmm/noisedict
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/hmm/sendump
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/hmm/transition_matrices
/your_base_dir/mycroft-core/mycroft/client/speech/recognizer/model/es-la/hmm/variances

7- sudo apt-get install espeak

Then I ./start-mycroft.sh debug, write “chiste” (joke) and it works great, it says a joke in Spanish.

but the wake up word “hola mundo” doesn’t work, neither "chiste"
Any ideas what I’m missing? something with the stt I guess

Now I’m using pocketsphinx and its working! it throws some exceptions in intent_service_utterance but it recognize the wake up word and I can see in the log that it is understanding what I’m saying.

Thank you to everybody!

Good afternoon, first thank you for the hard work you hit to translate mycroft.

I have been using mycroft in English for a while now.

the other day I saw a wiki for mycroft to work in Spanish but I think the information is outdated, of course and followed the steps 100 times and this does not work.

Any advice … please I’m on the verge of madness:

my mycroft.conf is default of git.
if I change it breaks

thanks

Hi @Manuel_Bko,

Our Spanish documentation here;


is a little out of date, however in order to help I need to know:

  • Which steps have you tried?
  • What error messages are you getting?
  • What are you trying to do - such as change the Wake Word to Spanish, or have Spanish STT or TTS?

Kind regards,
Kathy

Hello Katy, first of all, thanks for answering so soon.

the first thing I do after downloading mycrof core and install, translate the skills of us-in to a folder “es”.

I follow the steps to where it says to check the following files:

/usr/local/share/pocketsphinx/model/es
/usr/local/share/pocketsphinx/model/es/es.dict
/usr/local/share/pocketsphinx/model/es/es-small.lm
/usr/local/share/pocketsphinx/model/es/es
/usr/local/share/pocketsphinx/model/es/es/feat.params
/usr/local/share/pocketsphinx/model/es/es/mdef
/usr/local/share/pocketsphinx/model/es/es/means
/usr/local/share/pocketsphinx/model/es/es/mixture_weights
/usr/local/share/pocketsphinx/model/es/es/noisedict
/usr/local/share/pocketsphinx/model/es/es/README
/usr/local/share/pocketsphinx/model/es/es/sendump
/usr/local/share/pocketsphinx/model/es/es/transition_matrices
/usr/local/share/pocketsphinx/model/es/es/variances

they are not the same as ls in my directory…

the problem is when I put the command
cd cmusphinx-es-5.2.tar.gz
cp * / usr / local / share / pocketsphinx / model / es / es.

error: cp only copy README…

I suppose something has changed in the structure of cd cmusphinx-es-5.2.tar.gz. after you documented.

this is its current structure of cmusphinx-es-5.2/:
/etc/
/model_parameters/
/results/
/scripts/
README

with which only "README is copied.

if I omit this detail …When i arrive to:

“Changes to listener.py and pocketsphinx_audio_consumer.py”

what takes us to the next step: where the documentation is very confusing,(from my point of view, this point should be documented in a clearer way. Well, it’s the most complex part) patching all the indicated files (it is easy that I have not done it well sometimes because I do not clarify which and how many to patch), maycroft_cli does not even start.

I do not know if I’m right, when I think it’s impossible for mycroft to work by following the steps you provide in
https://mycroft.ai/documentation/language-support/spanish/

I would like to write an entry in my blog “hackplayers.com” so that people know how to do, so that mycroft speaks and hears in Spanish.

so I do not know where to go
Well, this is my traffic jam.
for now

thanks

1 Like

please check the portuguese language docs, they are more up to date, you do not need to do those code hacks!

ok I think I’m too lost … I’ll start over again