Nach längerer Suche nach einem kostengünstigen Player für Text-to-Speech (TTS) und Soundausgabe habe ich mich intensiver mit dem ESP32 beschäftigt.
Daraus ist ein eigenes Projekt entstanden: Ein flexibler Audio-Player, der MP3 und TTS unterstützt und sich vollständig über Homey Pro per MQTT steuern lässt. Zusätzlich bietet das System Funktionen wie FTP-Upload und eine interne Message Queue, um Audioereignisse zuverlässig und in der richtigen Reihenfolge abzuspielen.
Hauptfunktionen
1. TTS (Text-to-Speech)
Texte werden per Google TTS in Audiodateien umgewandelt
Sofortige Wiedergabe
Ideal für Hausautomation (z. B. „Waschmaschine fertig", „Bewegung erkannt")
2. TTM (Text-to-Memory) – mit Cache
Wie TTS – aber die erzeugten MP3-Dateien werden gespeichert
Bei identischem Text wird die lokale Datei wiedergegeben
Spart Internet-Anfragen und ist extrem schnell
3. MP3-Wiedergabe
Spielt beliebige MP3-Dateien von der SD-Karte ab
Eigene Sounds können per FTP hochgeladen werden
Die Homey-App “OpenAI Speech” kann den Player als “Lautsprecher” verwenden.
4. Live-Stream Player
Radio-Streams wiedergeben
5. Wiedergabe-Warteschlange
Mehrere Sprachanfragen werden automatisch nacheinander abgespielt
Keine Überlappung oder Audiofehler
Der Text für die TTS-Ausgabe kann mit einem Präfix (**80!**Wasser im Keller) versehen werden, das die Lautstärke übersteuert. Dadurch können wichtige Meldungen – unabhängig von den aktuellen Einstellungen des Players – laut wiedergegeben werden, zum Beispiel: Wasser im Keller!
6. MQTT-Steuerung
Vollständig über MQTT steuerbar
Kompatibel mit allen Smart-Home-Systemen, die MQTT unterstützen
Befehle: mp3, tts, ttm, volume, stop, reboot usw.
Jeder TTS-Player kann individuell sowie gruppenbezogen Nachrichten abonnieren
7. Konfiguration
Konfiguration über app.ini auf der SD-Karte
Einstellungen wie WLAN, MQTT, FTP oder Lautstärke lassen sich einfach anpassen
SD-Karten-Zuordnung pro Raum – beim Wechsel des Gerätes muss nur die SD-Karte umgesteckt werden; alle Einstellungen und Inhalte bleiben erhalten
Das vollständige Projekt, einschließlich Quellcode, Dokumentation und aller notwendigen Dateien, ist auf GitHub verfügbar.
Du kannst es dort direkt einsehen oder herunterladen. Der Link befindet sich unten.
Dadurch funktioniert das gesamte Projekt nicht mehr .
Gibt es eine funktionierende Lösung ?
ich würde lieber so gern diese Projekt im Haus installieren und nicht auf Alexa ausweichen ,allein schon wegen der vielen tollen Möglichkeiten und null Verzögerung !
Hallo Jens,
vielen Dank für Ihr Interesse an meinem Projekt und dafür, dass du mich auf die Probleme mit der Bibliothek aufmerksam gemacht habst. Das Repository „georg-koch" wurde von GitHub entfernt, und ich habe unter https://github.com/sinricpro/Arduino-QueueList.git eine zweite Quelle gefunden, die ich erfolgreich getestet habe.
Ich teste aktuell eine neue Erweiterung, die eDog (mit PIR-Sensor) oder AudioGameBox (mit Button für kleine Kinder) in einer Lösung kombiniert.
Morgen stelle ich die Version ins Repository.
Außerdem steht eine GitHub Pages-Seite mit vorkompilierter Firmware zum direkten Flashen zur Verfügung:
Interessantes Projekt. Bei den Echos oder Google Nest, stört mich massiv die teilweise extreme Verzögerung bis zur Sprachausgabe.
Im Moment habe ich wenig Zeit, aber mein Plan ist, hinter das Modul noch einen Bluetooth Transmitter für 2 Lautsprecher zu hängen. Das würde ermöglichen, 2 beliebige Bluetooth Lautsprecher frei für Homey aufzustellen. Das einfach mal als Idee, wenn jemand sowas vor mir bauen will. Die Transmitter sind für einen Zwanziger beim großen A erhältlich. Wenn ihr auf die Betriebsspannung achtet, braucht ihr für Modul und Transmitter nur ein Netzteil. Vielleicht mach ich mich auch gleich an die nächste Stufe und bau das Modul direkt in einen Lautsprecher ein. Durch einen Bluetooth Transmitter hätten man dann einen Master Lautsprecher, der noch zwei Slave per Bluetooth versorgen könnte. Mit einem Spannungswandler wäre die interne Stromversorgung auch geregelt.
Macht sowas aber bitte nur, wenn ihr euch mit löten und Elektronik auskennt. Ich will nicht, dass sich jemand abfackelt. Deswegen wird es auch kein Tutorial geben.
ich habe das Projekt auf die neueste Plattform „espressif32", die aktuelle Audio-Tools-Bibliothek sowie die schnellere FTP-Bibliothek „MultiFTPServer" migriert.
Über die GitHub Pages besteht nun die Möglichkeit, das Flashen direkt im Browser durchzuführen:
danke für die Info. Ich werde sicherlich bei unseren chinesischen Freunden so ein Teil bestellen und schauen, was sich darauf installieren lässt. Nochmals vielen Dank.
Ich habe mir die Spezifikationen des Geräts angesehen. Der verbaute Audio-Codec-Chip ES8311 ist deutlich schlechter als der im ESP32-A1S/ES8388. Deshalb ist er für dieses Projekt eher unbrauchbar.