Bemerkung
Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community auf Facebook! Tauchen Sie gemeinsam mit anderen Enthusiasten tiefer in Raspberry Pi, Arduino und ESP32 ein.
Warum mitmachen?
Experten-Support : Lösen Sie After-Sales-Probleme und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.
Lernen & Teilen : Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen : Erhalten Sie frühzeitigen Zugriff auf neue Produktankündigungen und exklusive Einblicke.
Sonderrabatte : Profitieren Sie von exklusiven Rabatten auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele : Nehmen Sie an Gewinnspielen und saisonalen Aktionen teil.
👉 Bereit, mit uns zu entdecken und zu erschaffen? Klicken Sie auf [here] und treten Sie noch heute bei!
1. TTS mit Espeak und Pico2Wave
In dieser Lektion verwenden wir zwei integrierte Text-to-Speech ( TTS )-Engines auf dem Raspberry Pi — Espeak und Pico2Wave — um Fusion HAT+ sprechen zu lassen.
Diese beiden Engines sind beide einfach und laufen offline, aber sie klingen ziemlich unterschiedlich:
Espeak : Sehr leichtgewichtig und schnell, aber die Stimme klingt robotisch. Sie können Geschwindigkeit, Tonhöhe und Lautstärke anpassen.
Pico2Wave : Erzeugt eine weichere und natürlichere Stimme als Espeak, bietet jedoch weniger Konfigurationsoptionen.
Sie hören den Unterschied in Sprachqualität und Funktionen .
1. Espeak testen
Espeak ist eine leichtgewichtige TTS-Engine, die in Raspberry Pi OS enthalten ist. Ihre Stimme klingt robotisch, ist aber sehr gut konfigurierbar: Sie können Lautstärke, Tonhöhe, Sprechgeschwindigkeit und mehr anpassen.
Programm ausführen
cd ~/fusion-hat/examples sudo python3 tts_espeak.py
Sie sollten Fusion HAT+ sagen hören: „Hallo! Ich bin Espeak TTS.“
Versuchen Sie, die Abstimmungsparameter im Code zu ändern, um zu testen, wie
amp,speed,gapundpitchden Klang beeinflussen.
Code
from fusion_hat.tts import Espeak
# Create Espeak TTS instance
tts = Espeak()
# Set amplitude 0-200, default 100
tts.set_amp(200)
# Set speed 80-260, default 150
tts.set_speed(150)
# Set gap 0-200, default 1
tts.set_gap(1)
# Set pitch 0-99, default 80
tts.set_pitch(80)
tts.say("Hello! I’m Espeak TTS.")
Code-Erklärung:
tts.set_amp()— Steuert die Lautstärke ( 0–200 ).tts.set_speed()— Passt die Sprechgeschwindigkeit an ( 80–260 ).tts.set_gap()— Legt die Wortpause fest ( 0–200 ).tts.set_pitch()— Legt die Tonhöhe fest ( 0–99 ).tts.say()— Wandelt Text in Sprache um und spielt sie ab.
💡 Tipp: Versuchen Sie, Tonhöhe und Geschwindigkeit zu erhöhen, damit der Roboter fröhlicher klingt, oder sie zu verringern, damit er ernster klingt.
2. Pico2Wave testen
Pico2Wave erzeugt im Vergleich zu Espeak eine natürlichere und menschenähnlichere Stimme . Es ist sehr einfach zu verwenden, aber weniger flexibel — Sie können nur die Sprache ändern , nicht Tonhöhe, Geschwindigkeit oder Lautstärke. Das macht Pico2Wave zu einer guten Wahl, wenn Sie klare und flüssige Sprache ohne zu viel Konfiguration möchten.
Programm ausführen
cd ~/fusion-hat/examples sudo python3 tts_pico2wave.py
Sie sollten Fusion HAT+ sagen hören: „Hallo! Ich bin Pico2Wave TTS.“
Versuchen Sie, die Sprache zu ändern ( z. B.
es-ESfür Spanisch ) und hören Sie, wie sich die Stimme verändert.
Code
from fusion_hat.tts import Pico2Wave
# Create Pico2Wave TTS instance
tts = Pico2Wave()
# Set the language
tts.set_lang('en-US') # en-US, en-GB, de-DE, es-ES, fr-FR, it-IT
# Quick hello (sanity check)
tts.say("Hello! I'm Pico2Wave TTS.")
Code-Erklärung:
tts.set_lang()— Legt die Ausgabesprache für die Sprachsynthese fest.en-US( Standard )en-GBde-DEes-ESfr-FRit-IT
tts.say()— Wandelt den Text in Sprache um und spielt sie sofort ab.
Fehlerbehebung
Kein Ton beim Ausführen von Espeak oder Pico2Wave
Prüfen Sie, ob Ihre Lautsprecher / Kopfhörer angeschlossen sind und die Lautstärke nicht stummgeschaltet ist.
Führen Sie einen kurzen Test im Terminal aus:
espeak "Hello world" pico2wave -w test.wav "Hello world" && aplay test.wav
Wenn Sie nichts hören, liegt das Problem an der Audioausgabe, nicht an Ihrem Python-Code.
Die Espeak-Stimme klingt zu schnell oder zu robotisch
Versuchen Sie, die Parameter in Ihrem Code anzupassen:
tts.set_speed(120) # slower tts.set_pitch(60) # different pitch
Permission denied beim Ausführen des Codes
Versuchen Sie, mit
sudoauszuführen:sudo python3 test_tts_espeak.py
Vergleich: Espeak vs Pico2Wave
Funktion |
Espeak |
Pico2Wave |
|---|---|---|
Sprachqualität |
Robotisch, synthetisch |
Natürlicher, menschenähnlich |
Sprachen |
Standardmäßig Englisch |
Weniger, aber gängige |
Anpassbar |
Ja ( Geschwindigkeit, Tonhöhe usw. ) |
Nein ( nur Sprache ) |
Leistung |
Sehr schnell, leichtgewichtig |
Etwas langsamer, schwerer |