Projekt: SONOS Sprachausgabe mit Amazon Polly

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Projekt: SONOS Sprachausgabe mit Amazon Polly
Projekt: SONOS Sprachausgabe mit Amazon Polly
  • Matthias Kleine
  • 26.02.2019
  • Projekt

In einem vorigen Video habe ich die Integration von SONOS in die verschiedenen Systeme gezeigt. Dabei habe ich bewusst nur Google TTS (Text to Speech) genutzt, da dies die einzige Variante ist, welche von FHEM im Standard unterstützt wird. Das klingt leider oft etwas abgehackt und künstlich, also suchen wir eine bessere Lösung. Wenn man nach weiteren Diensten sucht, stolpert man immer wieder über Amazon Polly. Und die Ergebisse können sich sehen lassen (bzw. hören). Daher stelle ich Dir jetzt vor, wie Du in den Genuss von Amazon Polly in deiner FHEM, ioBroker oder auch Node-RED-Umgebung kommst.

Die Basis für dieses Tutorial ist dennoch der vorige SONOS-Teil. Dieser Beitrag ist also eine Erweiterung dazu.

Was Du brauchst?

  • Einen Raspberry Pi
  • Einen Sonos Play:1 / Sonos One
  • FHEM, ioBroker oder Node-RED

Video

Hausbau-Kurs

Produkte

Die Preise halte ich für wirklich fair. Für meine einfachen Nubert-Lautsprecher (ohne irgendwelchen technischen Schnickschnack) habe ich jedenfalls mehr bezahlt. Für die Größe ist der Klang auch wirklich gut.

Sonos Play:1 Smart Speaker (Kompakter und kraftvoller WLAN Lautsprecher für unbegrenztes Musikstreaming – Feuchtigkeitsbeständiger Multiroom Lautsprecher) weiß **

Sonos Play:1 Smart Speaker (Kompakter und kraftvoller WLAN Lautsprecher für unbegrenztes Musikstreaming – Feuchtigkeitsbeständiger Multiroom Lautsprecher) schwarz **

Kosten

Da Amazon Polly NICHT kostenlos ist, brauchst du ein AWS-Konto und eine Kreditkarte, welche bei der Registrierung auch angegeben werden muss. Aber keine Sorge: Im ersten Jahr werden für die Nutzung keine Kosten anfallen. Danach zahlst Du (Stand 02/2019) 4$ für 1 Million Zeichen. Also ebenfalls extrem wenig. Ich möchte dennoch darauf hinweisen. Im Video gibt es mehr Details dazu.

Befehle (für FHEM)

Folgende Pakete müssen installiert sein.

sudo pip3 install awscli
sudo aws configure

Dann können wir das Ergebnis testen, indem folgende mp3 generiert wird:

sudo aws polly synthesize-speech --output-format mp3 --voice-id Marlene --text 'Hallo, ich bin dein erster Text mit der neuen Stimme' test1.mp3

Damit FHEM ebenfalls mit sudo auf aws zugreifen darf, muss in einer sudoers-Datei der Zugriff auf awscli erlaubt werden.

Alternativ könnte man bestimmt auch aws configure als fhem-Benutzer ausführen und könnte sich danach die sudo-Konfiguration sparen (und aws einfach ohne sudo aufrufen).

sudo nano /etc/sudoers.d/010_fhem-nopasswd
fhem ALL=(ALL) NOPASSWD: /usr/local/bin/aws

Möglichkeit 1: Marlene fix hinterlegen

attr Sonos Speak1 mp3:sudo /usr/local/bin/aws polly synthesize-speech --output-format mp3 --voice-id Marlene --text '%text%' %filename%
70 de Was geht ab

(der Parameter Sprache spielt in diesem Beispiel keine Rolle)

Möglichkeit 2: Sprach-Parameter durchreichen (empfohlene Variante)

attr Sonos Speak1 mp3:sudo /usr/local/bin/aws polly synthesize-speech --output-format mp3 --voice-id %language% --text '%text%' %filename%
70 Hans Was geht ab
70 Marlene Was geht ab
70 Vicki Was geht ab

Möglichkeit 3: Auf SSML umstellen, um Betonung und Effekte nutzen zu können

attr Sonos Speak1 mp3:sudo /usr/local/bin/aws polly synthesize-speech --output-format mp3 --voice-id %language% --text-type ssml --text '%text%' %filename%
70 Hans <speak>Was geht ab</speak>
70 Marlene <speak>Was geht ab</speak>
70 Vicki <speak>Was geht ab</speak>
70 Hans <speak>Was geht ab <amazon:effect name="whispered">Ich flüstere</amazon:effect></speak>
70 Marlene <speak>Was geht ab <amazon:effect name="whispered">Ich flüstere</amazon:effect></speak>
70 Vicki <speak>Was geht ab <amazon:effect name="whispered">Ich flüstere</amazon:effect></speak>
Du willst mehr?

Smart-Home-Trainings von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte! Über 13.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
Node-RED-Master-Kurs

Node-RED-Master-Kurs

Mehr Infos