Picroft: italian language


#1

Hi everybody!
Someone please can tell me if the team of mycroft is working to realize italian version of picroft?
Thank you!


#2

Hi there @Angelo_Yaoming, firstly a huge welcome to Mycroft - it’s great to have you with us.

We’re just starting to build out our languages support at the moment - it’s very experimental. This document outlines all the different pieces that have to be in place to be able to support a new language:

We have some documentation on configuring Mycroft for Italian on Linux, but these instructions may not apply to Italian.

You may also want to help support our translation efforts on Mycroft Translate for Italian:

https://translate.mycroft.ai/it/

Ciao ciao :wink:
Kathy


#3

hello, I’m tring to configure Picroft in Ityalian, but I have some problem, he recognize the Italian and also answer in Italian, but the answer is always the same: “i’m finishing to load”.

I tried the 2 link above but the links not work.

do you have more documentation?

thanks.

Silvio


#4

Hi @Uakkauakkafo

I haven’t done it myself, but I hear that getting a different language to work is a bit of work still. We are making progress, but it’s not yet as simple as selecting a new language unfortunately. Have you followed all the steps in the documentation to configure each of the components to use Italian?

Was Mycroft working in English to start with? Did this message start after changing things to Italian or was it saying the same kind of message in English?

There is a lot of new documentation that we need to write, and as the language support changes quickly, it’s not something that we have prioritised. There are quite a few members in the community who are using different languages though. If you jump into the Languages Chat they may have more direct experience getting started too.


#5

Hi @gez-mycroft

Yes I started the first time Picroft in English and works great, so I decided to change language only after I had a working AI in Englis.

thanks, yes I started to follow the documentation but I have some doubt about the file to change. I see that I have 3 " mycroft.conf", the first is located in “.mycroft/mycroft.conf”, the second in " /etc/mycroft/mycroft.conf" and the third one in “/mycroft-core/mycroft/configuration/mycroft.conf”.

  1. I start modifing the first file in “.mycroft/mycroft.conf” but at the reboot it wae overwritten with the original value.
  2. After the first fail I changed the full config in the file located in “/mycroft-core/mycroft/configuration/mycroft.conf” and something happens at the reboot, the Picroft understand the Italian and also answer in Italian, but always with the same sentence related to the no possibility to load the application. I just ask questio to Picroft on weather (because this skill as already the italian), but nothing.

I’ll go today deep in detail on the link that you send to me.

  • Do you have some suggestion about the order file change? --> is not clear to me which “mycroft.conf” I have to change, or if I have to change all the 3 files.
  • There are some other steps to perform after the change in the file “mycroft.conf”?

Thanks.


#6

~/.mycroft/mycroft.conf was the right one to start with, but others have had the same issue of it being overwritten on startup. We will need to look into what’s happening there.

In the meantime you can edit /etc/mycroft/mycroft.conf instead.
This shouldn’t get overwritten but best to keep a backup of the file just in case.

Just know that anything in ~/.mycroft/mycroft.conf will override settings in /etc/mycroft/mycroft.conf but by default there’s normally just a single line in there.
Also worth noting that JSON is very specific, so having a comma out of place means nothing will work at all, so just need to be careful.

I believe there should be three areas where you need to set the language:

  • overall language
  • STT language
  • TTS language

The STT and TTS settings can also be a bit tricky even if you’re staying with English as the 3rd party services (Google, Watson, etc) sometimes change the information they need.

If you’re still having trouble maybe post the config file here so we can see the settings.


#7

hi @gez-mycroft

I modified the file ~/.mycroft/mycroft.conf in this way:

{
   "lang": "it-it",
   "max_allowed_core_version": 18.8,
   "play_wav_cmdline": "aplay -Dhw:0,0 %1",
   "play_mp3_cmdline": "mpg123 -a hw:0,0 %1",
   "enclosure": {
      "platform": "picroft"
   },
   "stt": {
      "module": "mycroft",    
      "mycroft": {            
         "lang": "it-it"          
      }
   },
   "tts": {
      "mimic": {
         "lang": "it"
      }
   },
   "ipc_path": "/ramdisk/mycroft/ipc/"

}

the device seem to be set in italian but, always say “Per favore aspetta un attimo mentre finisco di caricare il mio software” (wait that i upload my software).
I have wait for 30 minute without any success.

Any idea?

thanks


#8

Hi,

I am not sure about the “tts” section in your mycroft.conf. Maybe you can try following:

"tts": {
      "module": "google",
      "google": {
         "lang": "it"
      }
},

#9

Hi @Dominik and @gez-mycroft,

I tried again following the suggestion of @Dominik, but I notice that the file “/mycroft-core/mycroft/configuration/mycroft.conf” override my user configuration, if I not change this portion:

{
// Definition and documentation of all variables used by mycroft-core.
//
// Settings seen here are considered DEFAULT. Settings can also be
// overridden at the REMOTE level (set by the user via
// https://home.mycroft.ai), at the SYSTEM level (typically in the file
// ‘/etc/mycroft/mycroft.conf’), or at the USER level (typically in the
// file ‘~/.mycroft/mycroft.conf’).
//
// The load order of settings is:
// DEFAULT
// REMOTE
// SYSTEM
// USER
//
// The Override: comments below indicates where these settings are generally
// set outside of this file. The load order is always followed, so an
// individual systems can still apply changes at the SYSTEM or USER levels.

  // Language used for speech-to-text and text-to-speech.
  // Code is a BCP-47 identifier (https://tools.ietf.org/html/bcp47), lowercased
  // TODO: save unmodified, lowercase upon demand
  "lang": "it-it",

of that file, my user file is not taken.

Any idea?

thanks a lot


#10

also modifing the header with " “lang”: “it-it”, " the message is always the same:

“Per favore aspetta un attimo mentre finisco di caricare il mio software” (wait that i upload my software).

I can upload the log file?

thanks


#11

Try pastebin.com and post the link here

Are you running Picroft downloaded as image or do you have a git-install?


#12

I installed Picroft downloaded as image, non able to install it via git on raspbian


#13

OK, you are using the Picroft-Image - in this case you should put your settings in ~/.mycroft/mycroft.conf by this your settings are loaded after all other configuration and overwrites the default. See the documentation on mycroft.conf location.


#14

Hi,
I modified the setting in ~/.mycroft/mycroft.conf but the same result, also setting google, it seems like the AI still waitng to load some config, if I use english no problem the basic skill works, I also checked if I have the it vocabulary and is present, any suggestion on some other files to set-up

thanks


#15

Strange, I just replicated this and had to change the primary defaults conf myself. Will flag this with the team.

Essentially Mycroft configuration consists of 4 possible locations:

  1. mycroft-core/mycroft/configuration/mycroft.conf (Defaults)
  2. https://home.mycroft.ai (Remote)
  3. /etc/mycroft/mycroft.conf (Machine)
  4. ~/.mycroft/mycroft.conf (User)

It loads them in this order so the User level conf should always override the Defaults but that doesn’t seem to be happening for “lang”.

I did however get Italian responses using the following User level conf, as well as changing “lang” in Defaults.

{
  "lang": "it-it",
  "max_allowed_core_version": 18.8,
  "stt": {
    "module": "mycroft",
    "mycroft": {
      "lang": "it-it"
    }
  },
  "tts": {
    "module": "google",
    "google": {
      "lang": "it"
    }
  }
}

I’m wondering if your “ipc_path” setting is the problem. Do you remember why you set that?
Try removing that line and see if you have any success. Also make sure to remove the comma on the line before.


#17

Solved, sorry for the confusion :slight_smile: with your suggestion works.

thanks


#18

Hooray!!!

Glad it’s working now, if you find any translations that aren’t quite right, please consider suggesting an alternative in translate.mycroft.ai

There are many that might be valid translations of a word but don’t make sense in another context. Eg “turn” can mean many things, but would likely be translated differently if it was “turn off the light” vs “take the next turn”.


#19

Hi everyone!
I’m trying to make Mycroft (on Ubuntu pc) working in italian, but unfortunately I was not able to make it work, and not finding the old guide pages for italian is not helpful. Could someone explain me how to set-up the speech to text and the wake word? tts is the only component that seem to work flawlessy.

Regarding the stt:

  • I’ve tried both mycroft, google and google_cloud, but for the latter I’ve not a credit card attached to my google account so I can’t use the google speech recognition api, or am I wrong?
    What’s the easiest to use stt engine for italian?
  • What about an offline stt like Sphinx? Where could I find instruction on how to make it work in italian?

Wake word:
All the time I change the wake word, the log message says he can’t find the italian languge model for pocketsphinx? I think this message is related to my last question, isn’t it?

My .mycroft/mycroft.conf file is quite simple

{
“max_allowed_core_version”: 19.2,
“lang”: “it-it”,
“stt”: {
“module”: “mycroft”, # google_cloud
“mycroft”: {
“lang”: “it-it”
},
“google_cloud”:{
“lang”: “it-it”,
“credential”:{
“json”: {
“type”: “service_account”,
“project_id”: “abcdefg”,
“private_key_id”: “mykey”,
“private_key”: “-----BEGIN PRIVATE KEY-----stuff—END PRIVATE KEY-----\n”,
“client_email”: "myaccount@myproject.com",
“client_id”: “123456789”,
“auth_uri”: “”,
“token_uri”: “”,
“auth_provider_x509_cert_url”: “”,
“client_x509_cert_url”: "
}
}
}
},

“tts”: {
“module”: “google”,

  "google": {
     "lang": "it"
  },

  "espeak": {
      "lang": "it"
   }

}
}


#20

Ciao Francesco,
I used the suggestion from gez-mycroft, check the files located here:

  1. mycroft-core/mycroft/configuration/mycroft.conf (Defaults)
  2. https://home.mycroft.ai (Remote)
  3. /etc/mycroft/mycroft.conf (Machine)
  4. ~/.mycroft/mycroft.conf (User)

and setup this config:

{
   "lang": "it-it",
   "max_allowed_core_version": 18.8,
   "play_wav_cmdline": "aplay -Dhw:0,0 %1",
   "play_mp3_cmdline": "mpg123 -a hw:0,0 %1",
   "enclosure": {
      "platform": "picroft"
   },
   "stt": {
      "module": "mycroft",    
      "mycroft": {            
         "lang": "it-it"          
      }
   },
   "tts": {
      "mimic": {
         "lang": "it"
      }
   },
   "ipc_path": "/ramdisk/mycroft/ipc/"

}

otherwise try this other config:

{
  "lang": "it-it",
  "max_allowed_core_version": 18.8,
  "stt": {
    "module": "mycroft",
    "mycroft": {
      "lang": "it-it"
    }
  },
  "tts": {
    "module": "google",
    "google": {
      "lang": "it"
    }
  }
}

the important think is to understand which of the first 4 listed files is used as default config by your installation.

let me know.


Contributing italian language
#21

Yep just to be clear, the config files are loaded in that order, so the later config files like ~/.mycroft/mycroft.conf will be loaded last and override all others.

Also just noticed the line:
"max_allowed_core_version": 18.8,
Make sure to remove or update this allow your device to continue receiving software updates.