Deutsch (German)
Dies ist eine Anleitung wie Mycroft in Deutsch eingerichtet werden kann. Diese Seite beinhaltet auch eine Kurzanleitung.
ACHTUNG WICHTIG: Die in dieser Anleitung erwähnten Pfade
/usr/local/share
sind bei Manjaro / Arch-Linux - und ggf. auch bei anderen Linux-Distributionen - anders! Hier muss folgender Pfad gewählt werden: /usr/share/pocketsphinx/
!!!Aktuell ist das paaren von Mycroft noch nicht vollständig in deutsch möglich, daher sollten sie Mycroft bereits unter "lang": "en-us" verbunden und eingerichtet haben.
Folgend wird an den Beispielen Google/Mbrola der Sprachoutput (TTS) auf deutsch gesetzt. Mycroft bietet weitere TTS-Möglichkeiten über marytts, responsive_voice, polly, auf die hier jedoch nicht näher eingegangen wird. Zudem arbeitet die deutsche Community aktuell an einer eigenen TTS Stimme auf tacotron2 Basis.
Um Mycroft zu konfigurieren, führe in der CLI / Shell folgenden Befehl aus:
mycroft-config edit user
. Dies öffnet die Config-Datei in einem Editor.Gehe vor wie zuvor unter Konfiguration editieren beschrieben, und passe die Konfiguration wie folgt an:
Data:
{
"lang": "de-de",
"tts": {
"module": "google",
"google": {
"lang": "de"
}
}
}
Sollte sich die Standardausgabe von Mycroft in deutsch melden hilft eventuell das updaten mit
mycroft-pip install --upgrade gtts
oder mycroft-pip install --upgrade gtts-token
.Gehe vor wie zuvor unter Konfiguration editieren beschrieben, und passe die Konfiguration wie folgt an:
Data:
{
"lang": "de-de",
"tts": {
"module": "espeak",
"espeak": {
"lang": "german-mbrola-7",
"voice": "german-mbrola-7"
}
}
}
HINWEIS: Die Stimme 7 kann auch durch eine andere Stimme ersetzt werden. Alle geraden Zahlen sind männliche und alle ungeraden Zahlen weibliche Stimmen.
TIPP: mbrola für Raspberry kann hier als Debian Package herunterladen werden. Du kannst auch direkt auf dem Raspby
wget http://steinerdatenbank.de/software/mbrola3.0.1h_armhf.deb
und sudo dpkg -i mbrola3.0.1h_armhf.deb
ausführen. Dann espeak und mbrola via sudo apt install espeak espeak-data mbrola mbrola-de7
installieren.Mycroft sollte nach einem Neustart auf deutsch hören und sprechen. Viele Skills sind bereits übersetzt und können sofort genutzt werden.
Das Wake Word (z.b. Hey Mycroft, Christopher, Hey Ezra, Hey Jarvis) wird hierbei unter Mycroft Home eingerichtet.
Mycroft verwendet Precise und PocketSphinx als Wake Word-Mechanismus. Das Standard Wake Word auf englisch ist
Hey Mycroft
und nutzt Precise und - falls Precise es nicht erkennt - Pocketsphinx.Diese Anleitung bezieht sich insbesodere auf Pocketsphinx. Weiterführende Informationen zu Precise findet man hier (englisch)
Um das Wake Word (in ein deutsch klingendes) zu ändern muss das deutsche Wörterbuch und das deutsche akustische Modell herunterladen werden, danach trainiere es mit dem neusten
sphinxtrain
.Zuerst erstelle ein Verzeichnis für die
pocketsphinx
-Dateien:sudo mkdir -p /usr/local/share/pocketsphinx/model/de/de
HINWEIS: Für Manjaro-Linux, und wahrscheinlich auch für Arch-Linux und einige andere Linux-Distributionen ist der Pfad:
/usr/share/pocketsphinx
Als nächstes lade das deutsche Wörterbuch aus dem CMUSphinx-Projekt auf SourceForge herunter_ cmusphinx-voxforge-de.dic.
wget https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/German/cmusphinx-voxforge-de.dic/download -O cmusphinx-voxforge-de.dic
Dann installiere das Wörterbuch in das neu erstellte Verzeichnis.
sudo mv cmusphinx-voxforge-de.dic /usr/local/share/pocketsphinx/model/de/de.dict
Als nächstes lade das acoustic model cmusphinx-de-ptm-voxforge-5.2.tar.gz aus dem CMUSphinx-Projekt auf SourceForge.
wget https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/German/cmusphinx-de-ptm-voxforge-5.2.tar.gz/download -O cmusphinx-de-ptm-voxforge-5.2.tar.gz
Entpacke dann die gezippte Datei in ein temporäres Verzeichnis.
tar -xf cmusphinx-de-ptm-voxforge-5.2.tar.gz
Dann kopiere die entpackte Datei in das PocketSphinx-Verzeichnis
cd cmusphinx-ptm-voxforge-de-r20171217/model_parameters/voxforge.cd_ptm_5000
sudo mv * /usr/local/share/pocketsphinx/model/de/de
cd ..
Als nächstes lade das German language model cmusphinx-voxforge-de.lm.gz aus dem CMUSphinx-Projekt auf SourceForge.
wget https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/German/cmusphinx-voxforge-de.lm.gz/download -O cmusphinx-voxforge-de.lm.gz
Entpacke dann die gezippte Datei in ein temporäres Verzeichnis.
gzip -d cmusphinx-voxforge-de.lm.gz
Dann verschieben es in das PocketSphinx-Verzeichnis
sudo mv cmusphinx-voxforge-de.lm /usr/local/share/pocketsphinx/model/de/de.lm
Überprüfe, ob die folgenden Dateien existieren:
ACHTUNG: Bei Manjaro-Linux und anderen Linux-Distributionen ein anderer Pfad zu wählen:
/usr/share/pocketsphinx/
/usr/local/share/pocketsphinx/model/de
/usr/local/share/pocketsphinx/model/de/de.dict
/usr/local/share/pocketsphinx/model/de/de.lm
/usr/local/share/pocketsphinx/model/de/de
/usr/local/share/pocketsphinx/model/de/de/feat.params
/usr/local/share/pocketsphinx/model/de/de/mdef
/usr/local/share/pocketsphinx/model/de/de/means
/usr/local/share/pocketsphinx/model/de/de/mixture_weights
/usr/local/share/pocketsphinx/model/de/de/noisedict
/usr/local/share/pocketsphinx/model/de/de/README
/usr/local/share/pocketsphinx/model/de/de/sendump
/usr/local/share/pocketsphinx/model/de/de/transition_matrices
/usr/local/share/pocketsphinx/model/de/de/variances
Navigieren Sie dazu zum Mycroft-Sprachenmodellverzeichnis.
Zum Beispiel, auf
mycroft-core
für Linux, navigiere zu~/mycroft-core/mycroft/client/speech/recognizer/model
Es sollten die folgenden Verzeichnise zu sehen sein:
$ ls -las
total 24
8 drwxrwxr-x 3 kathyreid kathyreid 4096 Nov 24 00:08 .
8 drwxrwxr-x 3 kathyreid kathyreid 4096 Nov 24 00:08 ..
8 drwxrwxr-x 3 kathyreid kathyreid 4096 Nov 24 00:08 en-us
HINWEIS: Beachte, dass es nur einen Modellordner gibt -
en-us
für American EnglishErstelle hier ein neues Verzeichnis für deutsch, und verlinke es anschließend mit dem
pocketsphinx
Verzeichnis.mkdir de-de
ln -s /usr/local/share/pocketsphinx/model/de/de de/hmm
cp /usr/local/share/pocketsphinx/model/de/de.lm de/de.lm
cp /usr/local/share/pocketsphinx/model/de/de/de.dict de/de.dict
HINWEIS: Dercp
-Befehl könnte durchln
-Befehl ersetzt werden um Speicherplatz zu sparen. Es ist jedoch möglich, Wörter zude.dict
hinzuzufügen;cp
bedeutet, dass die Originaldatei unverändert bleibt und mit einer Kopie gearbeitet wird.
Falls mit
ln
gearbeitet wird, müssen die folgenden Verzeichnisse, Dateien und symbolische Verknüpft werden:~/mycroft/client/speech/recognizer/model/de
~/mycroft-core/client/speech/recognizer/model/de/hmm
~/mycroft-core/client/speech/recognizer/model/de/de.dict
~/mycroft-core/client/speech/recognizer/model/de/de.lm
Wähle ein deutsches Wake Word oder Wake Phrase auf deutsch und stelle sicher, dass es in der
cmusphinx-voxforge-de.dic
-Datei des Sprachmodells enthalten ist. Die Erfahrung zeigt, dass die beste Wahl ein einzelnes Wort mit drei oder mehr Phonemen ist.Überprüfen Sie zum Beispiel, ob das Wort 'hallo' existiert:
egrep '^hallo ' de.dict
hallo HH AE L AX UU
Wenn das gewählte Wake Word oder Phrase nicht in der
de.dict
Datei ist, dann wählen Sie entweder ein anderes Wake Word oder ändern Sie die de.dict
Datei, um es hinzuzufügen.Ändere oder ersetze die eigene Konfiguration
mycroft-config edit user
mit folgendem Inhalt.Data:
...
"lang": "de-de",
"listener": {
"wake_word": "hallo",
"phonemes": "HH AE L AX UU",
"threshold": 1e-10,
"standup_word": "hallo",
"standup_phonemes": "HH AE L AX UU",
"standup_threshold": 1e-10
},
...
Mycroft unterstützt auch Deepspeech STT. Hierfür muss ein deutsches Modell auf einem Deepspeech Server einrichten. Aashish Agarwal hat dazu entsprechende Modell Files unter Deepspeech V9.0 veröffentlicht.
- 1.Entpacke die heruntergeladenen Ordner und wechsle hinein.
cd release_v0.9.0
- 2.Aktiviere venv durch
source ~/mycroft-core/.venv/bin/activate
. - 3.Installiere Deepspeech mit
pip install deepspeech==0.9.0
oderpip install deepspeech-gpu==0.9.0
. - 4.Auf Raspberry installiere noch einige Pakete mit
sudo apt-get install gfortran libopenblas-dev liblapack-dev
- 5.Installiere Deepspeech Server
pip install deepspeech-server
.
HINWEIS: Bei der installation von Deepspeech Server auf einem Rasberry PI sollte über 1 GB RAM Verfügbar sein. Sonst entsprechend über Swap erweitern.
Erstelle eine Konfiguationsdatei
config.json
.Data:
{
"deepspeech": {
"model" :"output_graph.pb", ### unter Raspberry output_graph.tflite
"scorer" :"kenlm.scorer",
"beam_width": 1024,
"lm_alpha": 0.931289039105002,
"lm_beta": 1.1834137581510284
},
"server": {
"http": {
"host": "0.0.0.0",
"port": 8080,
"request_max_size": 2048576
}
},
"log": {
"level": [
{ "logger": "deepspeech_server", "level": "DEBUG"}
]
}
- 1.Starte Deepspeech Server
deepspeech-server --config config.json
- 2.Erstelle Testdatei
arecord -f S16_LE -r 16000 test.wav
. - 3.Sende Testdatei
curl -X POST --data-binary @test.wav http://localhost:8080/stt
Antwort sollte nun
test ein zwei drei test(.venv) pi@picroft:~/release_v0.9.0$
lauten.Füge folgendes in Startup Datei
/etc/rc.local
./home/pi/mycroft-core/.venv/bin/deepspeech-server --config /home/pi/release_v0.9.0/config.json
Ändere oder ergänze die eigene Konfiguration
mycroft-config edit user
mit folgendem Inhalt.Data:
...
"stt": {
"deepspeech_server": {
"uri": "http://localhost:8080/stt"
},
"module": "deepspeech_server"
}
Last modified 1yr ago