Jasper Sprachsteuerung - Sprachausgabe auf Deutsch


Ich werde euch nun zeigen, wie man die Sprachsteuerung auf deutsche Standardtexte umstellt und den Namen JASPER auf einen beliebigen Namen eurer Wahl ändert. Im Kapitel Homeserver hatte ich euch den Inhalt der Konfigurationsdatei profile.yml ja schon gezeigt. Damit stellt ihr generell die Sprachausgabe auf Deutsch um. Nun müssen wir in einigen Dateien die englischen Standardtexte gegen deutsche Texte austauschen.

Wir beginnen mit der Datei jasper.py. Loggt euch über SSH auf dem Raspberry Pi (Raspi) ein, und öffnet die Datei mit dem Texteditor nano:

 nano jasper/jasper.py

In dieser Datei sucht ihr nach folgendem Text:

    def run(self):
        if 'first_name' in self.config:
            salutation = ("How can I be of service, %s?"
                                   % self.config["first_name"])
        else:
            salutation = "How can I be of service?"
        self.mic.say(salutation)

und ändert ihn in:

    def run(self):
        if 'first_name' in self.config:
            salutation = ("Ich bin bereit, %s."
                                   % self.config["first_name"])
        else:
            salutation = "Ich bin bereit."
        self.mic.say(salutation)

Als nächstes öffnen wir:

 nano jasper/client/brain.py

den Text:

                 self.mic.say("I'm sorry. I had some trouble with " +
                                      "that operation. Please try again later.")

ändern wir in:

                 self.mic.say("Entschuldigung. Ich hatte Probleme " +
                                      "damit. Versuche es nochmal.")

Als letztes ändern wir in der Datei:

 nano jasper/client/modules/Unclear.py

den Text:

    messages = ["I'm sorry, could you repeat that?",
                          "My apologies, could you try saying that again?",
                          "Say that again?", "I beg your pardon?"]

in:

    messages = ["Entschuldigung, kannst du das wiederholen?",
                          "Mein fehler, kannst du es bitte nochmal sagen?",
                          "Bitte wiederholen?", "Tut mir leid?"]


Das wäre dann erledigt. Jetzt werden wir JASPER gegen einen anderen Name austauschen. Dazu greift ihr am besten über sftp von eurem Ubuntu PC auf den Raspi zu.

Im Verzeichnis jasper/static liegen 3 Dateien:

Öffnet die Datei keyword_phrases mit einem Texteditor. Dort ändert ihr den Namen JASPER gegen eine anderen. Wir nehmen jetzt als Beispiel mal den Namen JANE. Denkt daran, den Namen in Grossbuchstaben zu schreiben. Speichert die Datei und kopiert sie auf euren Ubuntu PC ins Unterverzeichnis Downloads.

Jetzt öffnet ihr in eurem Webbrowser folgende Seite:

http://www.speech.cs.cmu.edu/tools/lmtool-new.html

Dort findet ihr unter dem Text: Upload a sentence corpus file: den Button: Datei auswählen.
Jetzt öffnet sich eine Seite mit der Überschrift: Sphinx knowlegde base generator.
Nun müssen wir noch den alten Namen JASPER gegen den neuen Namen JANE in einigen Dateien austauschen.

Wir greifen wieder über SSH auf den Raspi zu, und öffnen die Datei: jasper.py.

 nano jasper/jasper.py

Dort suchen wir den Text:

        conversation = Conversation("JASPER", self.mic, self.config)
        conversation.handleForever()

und ändern ihn in:

        conversation = Conversation("JANE", self.mic, self.config)
        conversation.handleForever()

Jetzt öffnen wir:

 nano jasper/client/local_mic.py

und suchen die Textzeilen:

    def passiveListen(self, PERSONA):
          return True, "JASPER"
 
    def say(self, phrase, OPTIONS=None):
          print("JASPER: %s" % phrase)

diese ändern wir in:

    def passiveListen(self, PERSONA):
          return True, "JANE"
 
    def say(self, phrase, OPTIONS=None):
          print("JANE: %s" % phrase)

Als letzte Datei öffnen wir:

 nano jasper/client/modules/MPDControl.py

Dort suchen wir:

    # FIXME: Make this configurable
    persona = 'JASPER'

und ändern den Text in:

    # FIXME: Make this configurable
    persona = 'JANE'


Wenn ihr jetzt eure Sprachsteuerung startet, wird sie auf den neuen Namen hören und auch mit deutschen Standardtexten antworten.




Hier geht es zurück zum Inhalt.