Faire parler la Raspberry

So lassen Sie den Raspberry Pi mit eSpeak Text lesen.

Aktualisiert 5 November 2019 - 0 Kommentare - , , ,

ⓘ Dieser Artikel wurde möglicherweise teilweise oder vollständig mit automatischen Tools übersetzt. Wir entschuldigen uns für etwaige Fehler.

Beim Rechnen ist das Problem der Benutzeroberfläche wahrscheinlich eines der kompliziertesten. Das, Dinge benennen und einen Cache ungültig machen …

Der einfachste Weg, einem Menschen Informationen von einem Computer aus zu präsentieren, ist normalerweise die Verwendung von Vision. Dafür benötigen Sie jedoch einen Bildschirm, der sperrig, teuer und daher für den Einsatz an Bord nicht sehr geeignet ist.

In diesem Tutorial erfahren Sie, wie Sie das Gehör Ihres Benutzers anstelle seiner Vision verwenden, indem Sie Ihren Raspberry Pi mithilfe der eSpeak-Software, die als Text To Speech bezeichnet wird, Text sprechen lassen.

Die Hardware, um den Raspberry Pi zum Sprechen zu bringen

Damit Ihr Raspberry Pi sprechen kann, benötigen wir folgende Ausrüstung:

Installieren Sie eSpeak auf dem Raspberry Pi

Um Ihren Raspberry Pi zum Sprechen zu bringen, verwenden wir die eSpeak-Software, eine Open-Source-Text-to-Speech-Software.

Das Prinzip von eSpeak lautet wie folgt: Sie geben ihm Text (eine Zeichenfolge, eine Datei usw.) und teilen ihn in Phoneme (die kleinsten Laute, aus denen eine gesprochene Sprache besteht) auf. Verwenden Sie dann eine ganze Reihe von Techniken, um diese Phoneme in echte Sounddateien umzuwandeln.

Die Installation von eSpeak auf dem Raspberry Pi ist recht einfach, da es bereits in den Repositorys vorhanden ist. Wir müssen also nur die Repositorys aktualisieren und nach der Installation von eSpeak fragen:

sudo apt update
sudo apt install espeak -y

Lesen Sie einen Satz mit eSpeak

Nachdem eSpeak installiert ist, können wir einen ersten Satz lesen. Aber vorher werden wir sicherstellen, dass der Ton am Jack-Port unseres Raspberry Pi ausgeht, um unsere Lautsprecher zu erreichen.

Führen Sie dazu den Befehl sudo raspi-config aus, gehen Sie zu "Erweiterte Optionen", "Audio", "3,5-mm-Buchse erzwingen" und schließlich "Fertig stellen".

Wir werden einen Ordner erstellen espeak Laden Sie im Benutzerverzeichnis eine Audiodatei herunter und spielen Sie sie ab, um zu überprüfen, ob alles ordnungsgemäß funktioniert:

mkdir /home/pi/espeak
cd /home/pi/espeak
wget https://raspberry-pi.fr/download/espeak/test.mp3 -O test.mp3
ffplay -nodisp test.mp3

Sie sollten eine C-Dur-Tonleiter spielen hören.

Jetzt, da wir wissen, dass die Lautsprecher funktionieren, werden wir eSpeak bitten, den Satz zu sagen: „Die Himbeeren sitzen auf dem Stuhl meines Großvaters.“ Dazu verwenden wir den folgenden Befehl:

espeak -a 200 -v fr+f3 "Les framboises sont perchées sur le tabouret de mon grand-père." --stdout | aplay

Was uns so etwas gibt …

Also ja, die Stimme ist schrecklich, aber das werden wir später verbessern.

Lassen Sie uns den Befehl ein wenig umgehen, um zu versuchen zu verstehen:

  • espeak Starten Sie das Programm espeak
  • -a 200 Gibt die Lautstärke an, die für den Ton verwendet werden soll. Sie reicht von 0 bis 200 und ist standardmäßig 100.
  • -v fr+f3 sagt uns die zu verwendende Sprache. fr entspricht der französischen Sprache, +f3 gibt an, dass wir die dritte von eSpeak vorgeschlagene Variante der Frauenstimme verwenden möchten. Denken Sie daran, den Sprachcode an Ihren Text anzupassen.
  • Der Satz in Anführungszeichen wird von eSpeak gesprochen. Stattdessen hätten wir es auch bitten können, eine Textdatei beiläufig zu lesen. -f le_chemin/du/fichier.txt.
  • --stdout teilt eSpeak mit, dass die generierten Daten nicht direkt abgespielt, sondern an die Standardausgabe des Terminals gesendet werden sollen.
  • | aplay Gibt an, dass die von eSpeak generierte Ausgabe an die Eingabe des Wiedergabeprogramms umgeleitet wird, bei dem es sich um ein Programm zum Abspielen von Audiodateien im Wave-Format handelt, das von eSpeak generiert wurde. Beachten Sie, dass wir stattdessen verwenden könnten > mon_fichier.wav um die Audioausgabe in einer Datei zu speichern.

Wie Sie sehen können, spielt nicht eSpeak, sondern aplay den Sound ab. Der Grund dafür ist sehr einfach, espeak wurde auf dem Raspberry Pi für einige Versionen abgehört …

Ein paar Zeilen mit Espeak-Bugs.
Und das, mein Freund, nennen wir "einen Käfer" …

Wenn Sie versuchen, eSpeak direkt zum Sprechen zu bringen, werden Fehler im Zusammenhang mit Alsa, dem Raspberry Pi-Soundserver, angezeigt. Die einfachste Lösung besteht daher darin, die Daten an aplay zu senden, was selbst einwandfrei funktioniert. Am Ende funktioniert es und das ist alles was zählt.

Verbessern Sie die Stimme von eSpeak, indem Sie MBROLA auf der Himbeere installieren.

Wie Sie sehen können, sind die von eSpeak erzeugten Stimmen absolut schmutzig. Keine Panik, wir haben eine Lösung, um dies zu verbessern.

Ich habe es am Anfang des Artikels erwähnt, dass eSpeak Phoneme erzeugen kann, wobei diese Klangstücke eine gesprochene Sprache darstellen. Und es stellt sich heraus, dass es andere Programme gibt, die diese Phoneme lesen und aussprechen können und die überzeugender sind als eSpeak!

In unserem Fall werden wir die MBROLA-Software verwenden, ein globales Verbundprojekt, das von der Polytechnischen Fakultät in Mons, Belgien, initiiert wurde und das darauf abzielt, eine riesige Datenbank für die Sprachsynthese zu entwerfen.

Seltsamerweise ist die MBROLA-Software in den Raspbian-Repositorys nicht verfügbar, während die Sprachdaten verfügbar sind. Dies hat zur Folge, dass die Installation dieser Sprachdaten unmöglich wird …

Sogar Kevin Hart findet es fehlerhaft!
Was zum was?

Keine Sorge, wir haben die Lösung! In der Tat war eine gute Seele so freundlich, selbst ein MBROLA-Paket für den Raspberry Pi zu erstellen, und wir haben uns daher entschlossen, einen Spiegel auf der Website zu erstellen.

Also werden wir dieses Paket mit den folgenden Befehlen herunterladen und installieren:

cd ~/espeak
wget https://raspberry-pi.fr/download/espeak/mbrola3.0.1h_armhf.deb -O mbrola.deb
sudo dpkg -i mbrola.deb

Und jetzt, da MBROLA installiert ist, können wir die benötigten Sprachdateien herunterladen. So wird es für mich sein mbrola-fr1, das heißt die erste französische Stimme. Passen Sie den Befehl an Ihre Sprache an.

sudo apt install mbrola-fr1 -y

Jetzt müssen wir nur noch unsere vorherige eSpeak-Bestellung übernehmen und anpassen, um Phoneme zu generieren und von MBROLA lesen zu lassen. Welches wird uns den Befehl unten geben.

espeak -a 200 -v mb-fr1 -s 150 "Les framboises sont perchées sur le tabouret de mon grand-père." --stdout | aplay

Welches gibt uns das Audio unten:

Natürlich haben wir immer das Gefühl, dass es ein Roboter ist. Aber geben Sie zu, dass es immer noch das Beste gibt!

Sie finden einige der gleichen Einstellungen wie zuvor, jedoch mit zwei Änderungen:

  • -v mb-fr1 gibt an, dass wir MBROLA zum Generieren der Audiodatei verwenden möchten mbund die französische Stimme Nummer 1 -fr1.
  • -s 150 gibt ihm an, wann wir die Datei mit einer Geschwindigkeit von 150 Wörtern pro Minute generieren möchten. Der Standardwert ist 165, aber ich finde es ein bisschen schnell, zumindest für Französisch.

Nach wie vor können Sie den Befehl natürlich ändern, um eine Datei zu erstellen, den Text aus einer txt-Datei zu lesen usw.

Durch die Kombination dieser Befehle mit dem Lesen von RFID-Tags und dergleichen können Sie problemlos fahrzeuginterne Systeme mit relativ vollständigen Schnittstellen erstellen.

Natürlich sind wir immer noch weit von einer menschlichen Stimme entfernt und wissen, dass es bessere "Text to Speech" -Engines gibt, wie beispielsweise Mozillas TTS, das im Rahmen des Common Voice-Projekts entwickelt wurde. Trotzdem bieten MBROLA und eSpeak einen guten Kompromiss zwischen Benutzerfreundlichkeit, Ausführungsgeschwindigkeit und Effizienz.

Aktie
Newsletter
Autor:
Raspberry Pi FR
Treten Sie der Raspberry Pi-Community bei
Ein 35-Euro-Computer verkaufte sich bereits 10 Millionen Mal
KAUFEN SIE DEN NEUEN RASPBERRY PI 4
Verwandte Tutorials
Wie man ein SIM800L GSM-Modul mit dem Raspberry Pi (ohne Akku) einschalten und verwenden kann. Schalten Sie die Kamera-LED für Raspberry Pi aus. Der Raspberry Pi Pico, ein 4-Dollar-Mikrocontroller aus Himbeere! Raspbian France ändert seinen Namen und wird Raspberry Pi FR! Veröffentlichung des neuen Raspberry Pi 3B+, welche Neuheiten, welchen Preis, wo man es kaufen kann?
Keine Kommentare
Aktie
Newsletter abonnieren
Abonnieren Sie den Newsletter.
Hat Ihnen dieser Artikel gefallen?
Abonnieren und auf dem Laufenden bleiben!