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 , gap und pitch den 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-ES fü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-GB

    • de-DE

    • es-ES

    • fr-FR

    • it-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 sudo auszufü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