AWS Polly Modul (TTS)

Fatal error:  Uncaught Exception: Response from Ivona is no mp3: {"message":"Invalid SSML request"} in /var/lib/symcon/modules/AWSPolly/Polly/polly.php:105
Stack trace:
#0 /var/lib/symcon/modules/AWSPolly/Polly/polly.php(42): POLLY_TTS->get_mp3('<speak><amazon:...')
#1 /var/lib/symcon/modules/AWSPolly/Polly/module.php(90): POLLY_TTS->save_mp3('<speak><amazon:...', '/home/shares/ip...')
#2 /var/lib/symcon/scripts/__generated.inc.php(439): Polly->saveMP3('<speak><amazon:...')
#3 /var/lib/symcon/scripts/50160.ips.php(131): POLLY_saveMP3(26374, '<speak><amazon:...')
#4 {main}
  thrown in /var/lib/symcon/modules/AWSPolly/Polly/polly.php on line 105
Abort Processing during Fatal-Error: Uncaught Exception: Response from Ivona is no mp3: {"message":"Invalid SSML request"} in /var/lib/symcon/modules/AWSPolly/Polly/polly.php:105
Stack trace:
#0 /var/lib/symcon/modules/AWSPolly/Polly/polly.php(42): POLLY_TTS->get_mp3('<amazon:...')
#1 /var/lib/symcon/modules/AWSPolly/Polly/module.php(90): POLLY_TTS->save_mp3('<amazon:...', '/home/shares/ip...')
#2 /var/lib/symcon/scripts/__generated.inc.php(439): Polly->saveMP3('<amazon:...')
#3 /var/lib/symcon/scripts/50160.ips.php(131): POLLY_saveMP3(26374, '<amazon:...')
#4 {main}
  thrown
   Error in Script /var/lib/symcon/modules/AWSPolly/Polly/polly.php on Line 105

Aufruf:

$pfad1=POLLY_saveMP3(26374,"<speak><amazon:breath duration='long' phonation='soft' volume='default'/>".$uhrzeit."<break> ".$willkommen." ".$nombre."</speak>");  
$pfad2=POLLY_saveMP3(26374,"<speak>Hello</speak>");  
$pfad = POLLY_saveMP3(26374, 'Guten Morgen');

IPS_Sleep(3000);
SNS_PlayFiles(30832, json_encode([$pfad]), 25);

Vielen Dank!

Hallo,

Fatal error:  Uncaught Exception: Response from Ivona is no mp3: {"message":"Invalid SSML request"} in /var/lib/symcon/modules/AWSPolly/Polly/polly.php:105

→ das bedeutet, dass von Polly (oops, da steht ja noch Ivona…) die Fehlermeldung „Invalid SSML request“ anstelle eines mp3 kommt.

auch kommt das scheinbar vom

<speak><amazon:breath duration='long' phonation='soft' volume='default'/>".$uhrzeit."<break> ".$willkommen." ".$nombre."</speak>

Das würde ich mal genauer untersuchen…

Gruß,
Thorsten

Hi Thorsten,

ja du hattest wiedermal recht. Amazon muss da etwas verändert haben. Wie gesagt hat es ohne meine Veränderung noch bis Gestern funktioniert!

Der Fehler lag an:
<amazon:breath duration=‚long‘ phonation=‚soft‘ volume=‚default‘/> und <break>

Besten Dank! lg

Hallo,

hab ich immer :cool:

Gruß,
Thorsten

Habe jetzt aber noch ein anderes Problem:

Nach dem ekey fingerscan sollte es eine Willkommensdurchsage geben. Geht ja jetzt wieder dank deiner Hilfe.

Und nach 3 Sekunden sollte dann ein „Klassik - Healing“ Sender abgespielt werden.

Macht er aber nicht:



$radiolili = "Tropicalisima 104.5";
$radiochris = "Klassik Radio - Healing";

IPS_Sleep(3000);
switch ($nombre)
{ 
case ("Chris"): 
SNS_SetRadio(30832, $radiochris);
SNS_SetVolume(30832, 10);
SNS_Play(30832);  
break;  
case ("Lili"): 
//Musik für Lili
SNS_SetRadio(30832, $radiolili);
SNS_SetVolume(30832, 10);
SNS_Play(30832);  
break;

… und hat vor einigen Tagen auch schon funktioniert…
Idee?

Das hat mit dem Thread hier wohl nichts zu tun.

Wo wird denn $nombre gefüllt?

Ja, sorry… Habe soviele Baustellen, das mir alles durch einander kommt…

$nombre =GetValueString(30097);

Da würd ich mal auf Groß-/Kleinschreibung tippen.

„CHRIS“ ist nicht das gleiche wie „Chris“.

Gruß,
Thorsten

Danke, habe ich aber auch schon probiert. (Screenshot ist leider der Alte)
Funktioniert nicht!

Hallo Zusammen,

ich habe letzte Woche mein System von Win 7 auf Win 10 neu installiert und das IPS-Backup wieder eingespielt.
Irgendwie funktioniert jetzt Polly nicht mehr, keine Ahnung woran es liegt und bräuchte jetzt eure Hilfe.

Die MP3 sollen auf die NAS unter Sonos gespeichert werden.

Beim Sonos-Modul funktioriert das Abspielen von früher generierten Dateien.

$post 		= "//192.168.178.7/Sonos//Post ist da.mp3";
SNS_PlayFiles($IDSonos, json_encode(Array($post, $post)), 40);

Wenn ich jetzte eine Datei generieren möchte kommt ein Fehler

$Text = Polly_saveMP3(29854 ,"Das Flusensieb im Trockner reinigen");
15.05.2020, 23:38:06 | PHP | Error: Warning: file_put_contents(//192.168.178.7/Sonos/66ec9851e10e97c6affc18cfcc7f1005.mp3): failed to open stream: Invalid argument
   Error in Script C:\ProgramData\Symcon\modules\AWSPolly\Polly\polly.php on Line 43
  134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
   37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
      in IPSLogger_PhpErrorHandler
   43 in modules\AWSPolly\Polly\polly.php (call file_put_contents)
   90 in modules\AWSPolly\Polly\module.php (call save_mp3)
  3811 in scripts\__generated.inc.php (call saveMP3)
    3 in scripts\37709.ips.php (call POLLY_saveMP3)

Als Default und Access-Path habe ich: //192.168.178.7/Sonos/

Wo liegt mein Fehler?

VG Alex

Dein Dienst läuft bestimmt noch als System Dienst. Dieser hat keinen Zugriff auf Netzlaufwerke.

paresy

Danke paresy
und wie kann ich das ändern?
Ich habe jetzt im IP-Symcon-Dienst den Haken eingeschaltet, aber das hat nichts gebracht.
Dienst.PNG

Ich steh irgendwie auf dem Schlauch.
Kannst du mir das bitte genauer erklären?

VG Alex

Update: Eine Anmeldung als Benutzer im Dienst direkt unter dem Ausschnitt den ich gepostet habe, hat leider auch nichts gebracht.

Update: Es hat jetzt doch geklappt, danke paresy. Ich habe den Dienst „nur“ beendet und neugestartet. Nach einem Neustart vom Server hat es funktionert :loveips:.

Hallo,

ich habe genau das gleich Problem. Wo finde ich aber diese Eigenschaften???

Hallo dark99,

ich verstehe deine Frage nicht.
Ich habe doch beschrieben, was ich gemacht habe.
Betriebssystem Win 10.
Im Dienst von IP-Symcon unter Eigenschaften den Benutzer mit Passwort aktvieren. Das Feld kommt direkt unter meinem Ausschnitt vom vorherigenPost.
Danach Windows neu starten. Nur den Dienst neu starten, hat bei nicht geholfen.

Du solltest dir aber sicher sein, dass es daran liegt und nicht an falschen Pfaden in der Polly-Instanz.

VG Alex

12 Beiträge wurden in ein existierendes Thema verschoben: [Modul] Text to Speech (AWS Polly)

Hallo, ich möchte mich auch mal mit diesem Feature auseinandersetzen und habe gleich mal ein paar Grundlegende Fragen:
Ich möchte gerne bei einem Telefonanruf eine Durchsage erhalten wer gerade anruft.
Das Polly-Modul wurde bereits erfolgreich installiert, die Variable für den Text (wer ruft an?) besteht auch bereits.

Aber wie geht es weiter?
Muss zwingend erst ein Audiofile gespeichert werden um abzuspielen oder geht es auch direkt ohne Speicherung?
Wie muss das Script im groben aussehen?

Hallo,

nun ja, wie möchtest Du das denn ausgeben?
Ich setze Sonos ein, uns das kann nur Dateien abspielen (zumindest soweit ich weiß). Daher muss man:

  • die Datei erzeugen
  • auf Platte für Sonos zugänglich ablegen
  • Sonos sagen, dass sie abgespielt werden muss
  • evtl. noch die Datei löschen, wenn das nicht automatisch passiert…

Wenn Du allerdings eine Lösung hast, die mit einem Stream umgehen kann, wäre das dann mit Sicherheit auch möglich.

Gruß,
Thorsten

Kurze Frage mit der Bitte um Hilfe:
WO kann ich die Stimme von der Durchsage ändern? ich habs vergessen :frowning:
Danke und lg

Update:
Was für eine dämliche Frage! In der Instanz natürlich! Ich habs auf der AWS Polly Seite gesucht…*

8 Beiträge wurden in ein existierendes Thema verschoben: [Modul] Text to Speech (AWS Polly)

Ein Beitrag wurde in ein existierendes Thema verschoben: [Modul] Text to Speech (AWS Polly)