- Erforderliche Komponenten
- Schaltplan
- Lautsprecher an Arduino anschließen
- Programmieren von Arduino für TTS (Text To Speech)
Das Text-to-Speech- oder TTS-System konvertiert normalen Text in Sprache. Diese Technologie ermöglicht es dem System, den Text mit menschlicher Stimme auszusprechen. Es gibt viele Beispiele für Text-zu-Sprache-Konvertierungen wie Ansagen im öffentlichen Verkehr, Kundenbetreuungsanrufe, Sprachassistenten in Ihren Smartphones oder das Navigationsmenü eines beliebigen Geräts. Sie können das TTS sogar in Microsoft Word finden, wo Sie es so einstellen, dass es den im Dokument geschriebenen Text ausspricht.
In diesem Tutorial lernen wir heute, wie man mit Arduino den Text-zu-Sprache-Konverter erstellt. Wir haben zuvor TTS mit Raspberry Pi beim Sprechen des Weckers verwendet und Sprache mithilfe der Google-Sprachtastatur in Text in Himbeer-Pi umgewandelt.
Der erste Schritt in TTS ist die Vorverarbeitung oder Normalisierung. Dieser Schritt beinhaltet die Umwandlung der Symbole, Zahlen und Abkürzungen in Wörter, die von den Maschinen gelesen werden können, wie '?' wird in "Fragezeichen" umgewandelt.
Der zweite Schritt beinhaltet die Umwandlung von normalisiertem Text in Phoneme oder phonetische Transkripte. Die Phoneme sind die kleinen Teile gesprochener Wörter, dh dies sind die Töne, die Sätze bilden. Dieser Schritt ist wirklich wichtig, damit die Maschine die Wörter wie Menschen sprechen kann.
Der letzte Schritt ist die Synthese von Phonemen zu gesprochener Stimme. Dieser Schritt kann durch verschiedene Methoden erreicht werden, beispielsweise durch Aufzeichnen der menschlichen Stimme für verschiedene Wörter / Phrasen oder durch Erzeugen grundlegender Schallfrequenzen und Aufstapeln dieser als Phoneme oder durch Kopieren des menschlichen Sprechmechanismus.
Erforderliche Komponenten
- Arduino Board
- Ein Sprecher
- Eine Verstärkerschaltung
- Geregelte Stromversorgung
- Kabel anschließen
Schaltplan
Hier in diesem Text-zu-Sprache-Wandler haben wir eine Verstärkerschaltung verwendet, um das Rauschen zu reduzieren und einen klaren Klang zu erzielen. Die Verstärkerschaltung wird unter Verwendung des IC LM386 hergestellt. Der Schaltplan dafür ist unten gezeigt:
Ein 100K Pot wird verwendet, um den Sound anzupassen. Stellen Sie es ein, um einen klaren Klang zu erhalten. Wenn Sie Verwirrung über diese Schaltung haben, schauen Sie sich die LM386-basierte Audioverstärkerschaltung an. Wenn Sie nicht den genauen Wert von Widerständen und Kondensatoren haben, verwenden Sie die Werte mit dem engen Wert.
Lautsprecher an Arduino anschließen
Die Verbindungen sind super einfach, sobald Sie die Verstärkerschaltung hergestellt haben.
Schließen Sie die Stromversorgung an die Verstärkerschaltung an und verbinden Sie den digitalen Pin 3 Ihres Arduino mit dem 10K-Widerstand und verbinden Sie die Masse von Arduino mit der Masse der Schaltung. Schließen Sie nun den Lautsprecher an, indem Sie den Minuspol mit Masse und den Pluspol mit dem 220µF-Kondensator verbinden und die Stromversorgung anschließen.
Programmieren von Arduino für TTS (Text To Speech)
Das Programm für dieses Arduino-basierte TTS ist ebenfalls sehr einfach, da die Bibliothek dafür verfügbar ist. Diese Bibliothek wird als Talkie bezeichnet und kann vom Bibliotheksverwalter hinzugefügt werden. Um die Bibliothek hinzuzufügen, gehen Sie zu Skizze-> Bibliothek einschließen-> Bibliotheken ändern .
Jetzt wird der Bibliotheksmanager auf Ihrem Bildschirm angezeigt. Geben Sie in der Suchleiste Talkie ein und klicken Sie auf die Schaltfläche Installieren. Die Bibliothek wird installiert.
Diese Bibliothek ist sehr praktisch und enthält über 1000 Wörter und Befehle. Es gibt mehrere Beispiele, Sie können sie alle ausprobieren, aber hier verwenden wir einen einfachen Code, um die Funktionsweise zu erklären.
Sie können auch andere Befehle in der Bibliothek ausprobieren. Um diese Befehle abzurufen, gehen Sie zu Dokumente \ Arduino \ Bibliotheken \ Talkie \ src, öffnen Sie die Header-Dateien und rufen Sie mehrere Befehle ab, die für verschiedene Warnungen verwendet werden können. Es gibt viele andere TTS-Bibliotheken wie die jscrane TTS-Bibliothek, die Google TTS-Bibliothek usw. Sie können sie auch ausprobieren.
Beginnen wir also mit dem Codieren. Fügen Sie zunächst einige Header-Dateien hinzu. Talkie.h wird verwendet, um diese Bibliothek zu initialisieren und den digitalen Pin 3 von Arduino als Ausgangs-Pin festzulegen . Die Datei Vocab_US_Large.h wird verwendet, um die von uns verwendeten Warnungen zu verwenden, und Vocab_Special.h wird verwendet, um die von uns verwendete Pause zu verwenden.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Definieren Sie nun ein Objekt 'Wert', um die Befehle zu verwenden:
Talkie Stimme;
Hier wird dieselbe Meldung im Lautsprecher wiederholt. Lassen Sie also die Setup- Funktion leer und setzen Sie die Befehle in die Schleifenfunktion. Der erste Befehl voice.say (spPAUSE2) besteht darin, eine kurze Pause einzulegen, während die Warnmeldung wiederholt wird. Und die nächsten Befehle sind nur einfache Worte, die implizieren: GEFAHR GEFAHR STURM IM NORDEN.
void setup () { } void loop () { voice.say (spPAUSE2); voice.say (sp2_DANGER); voice.say (sp2_DANGER); voice.say (sp3_STORM); voice.say (sp3_IN); voice.say (sp3_THE); voice.say (sp3_NORTH); }}
Laden Sie zum Schluss den Code in das Arduino hoch und schließen Sie das Netzteil an. Sobald Sie den Stromkreis einschalten, hören Sie die Warnungen! Wenn Sie keinen klaren Ton hören, versuchen Sie, den Topfknopf einzustellen, oder prüfen Sie, ob der Arduino die richtige Stromversorgung erhält, und stellen Sie sicher, dass der GND von Arduino mit der Masse des Stromkreises verbunden ist.
Überprüfen Sie den vollständigen Code mit einem Demonstrationsvideo.