[Modul] TTS von VoiceRSS

Öffne die MP3-Datei in einem Texteditor !
Da steht z.B. (sind genau 36Byte)


ERROR: The API key is not available!

Oder so.

Das habe ich noch nicht in der Prüfung des Moduls eingebaut.
Kommt auch noch gleich.

Michael

Genau so ist es, einfach unglaublich ich hatte den API Key über die URL im Browser bereits erfolgreich getestet

Guter Tipp, auf die Idee wäre ich alleine nicht gekommen

Fehler gefunden !!!

Wenn ich auf der voiceRSS Seite den API key kopiere und im Modul einfüge sind Tab Zeichen am Beginn die man erst sehen kann wenn man mit dem cursor an den Anfang der Zeile fährt. Nachdem ich die Leerzeichen bzw. Tabs gelöscht habe funktioniert das ganze :slight_smile:

Herzlichen Dank nochmal für den Tipp

Das kann ich ja unterbinden…moment :smiley:

Michael

Fix ist online.
Es wird jetzt geprüft ob ein Fehler zurückkommt.
Und auf einen vorhandenen Api-Key, aus dem auch mögliche Steuerzeichen am Anfang & Ende entfernt werden.
Außerdem funktioniert nun auch die Debug-Ausgabe, welche einen eventuell auftretenden Fehler in Klartext anzeigt.
Zwischenablage04.png
Michael

Darauf nun ein :beer: und Feierabend…
Verdammt… uns fehlen Icons im Forum :smiley:

Getestet und wie nicht anders zu erwarten es funktioniert

Genieß Dein Bier Du hast es Dir verdient :slight_smile:

Guten Abend,
mittlerweile habe ich
IPS auf einem Raspberry Pi3 isntalliert: funktioniert :slight_smile:
Samba Share eingerichtet in dem ich ein MP3 mit einem Text erzeugen kann und dorthin speichern kann :slight_smile:
Das MP3 File kann abgespielt werden, aber mit folgendem Code höre ich nichts. Die Wiedergabe wird zwar unterbrochen (für ca. 5 Sekunden) und startet dann wieder. Aber man kann nichts hören… :frowning:


SNS_PlayFiles(17151 /*[Medien\Audio\Büro\Sonos Play 1]*/, array("http://10.0.0.170/SambaIpsymcon/Test.mp3"), +20);  

Bitte um Hilfe! Danke lg

Da ich kein Sonso habe… keine Ahnung.
Womit hast du die MP3 getestet ? Mit einem Sonos ?
Eventuell mögen die Geräte nicht deine Einstellungen in der Instanz bei der Sampelrate ?

Michael

Hi,
ja auf dem Sonos abgespielt. Dein Script funkt ja super. Es erzeugt mir von einem String ein MP3 File via VoiceRSS und das liegt dann am Sambashare.
Nur kann ich es nicht abspielen/hören obwohl die Wiedergabe unterbrochen wird.

lg

Wenn es manuell funktioniert und nur per Script nicht, solltest du im Sonos-Thread fragen.
Helfen kann ich dir da leider nicht.

Michael

Beim Aufruf des Moduls kommt die Fehlermeldung : Error on get VoiceData in /var/lib/symcon/modules/IPSVoiceRSS/TTSVoiceRSS/module.php on line 278

Die Webseite Voice RSS ist nicht erreichbar

PS. Heute (Sonntag der 10.2.2019) wieder erreichbar

Hallo zusammen,

ich bekomme den gleichen Fehler wie BestEx im vorherigen Post:
Notice: Error on get VoiceData in /var/lib/symcon/modules/IPSVoiceRSS/TTSVoiceRSS/module.php on line 278

Hat das Problem noch jemand? Die Live-Demo auf Voice RSS - Text-to-speech (TTS) live demo with Voice RSS API funktioniert.

Der Debugmodus sagt „The API key is not available!“. Ich habe aber nichts geändert. Hat jemand eine Idee?

Danke & viele Grüße
Philip

Zeigt bitte den ganzen Debug.
Ich schaue mir das an, eventuell hat sich da an der API etwas geändert.
Ich habe aber heute keine Zeit dafür das zu prüfen und eventuell zu beheben.
Michael

Hi,

danke für die schnelle Rückmeldung!
Hier der ganze Log:
tts_debug.JPG
Eilt nicht, vielen Dank fürs Kümmern!

Viele Grüße
Philip

Der Fehler liegt ausschließlich bei VoiceRSS
Die haben es fertig gebracht eine Reihe von accounts zu beschädigen (angeblich Stromausfall)
Ich habe eine neue Registrierung durchgeführt und einen neuen API Key generiert und jetzt funktioniert alles wieder

das hat bei mir auch funktioniert, vielen Dank!

@Nall-Chan

Ich bekomme manchmal die folgende Fehlermeldung :

Ich vermute der Fehler liegt in der Auswertung des $http_code >=400 Fehlers :

 $this->SendDebug('DoWebrequest', $Text, 0);
        $result = curl_exec($ch);
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        if ($http_code >= 400) {
            $this->SendDebug('Webrequest Error', $http_code, 0);
            $result = false;
        } else {
            $this->SendDebug('Webrequest Result', $http_code, 0);
        }
        curl_close($ch);
        if (substr($result, 0, 5) == 'ERROR') {
            $this->SendDebug('ERROR', substr($result, 7), 0);
            $result = false;
        }
        if ($result === false) {
            trigger_error('Error on get VoiceData', E_USER_NOTICE);
            return false;
        }
        if ($raw) {
            return $result;
        }

$result kann false sein und wird trotzdem als String ausgewertet.
Vielleicht sollte man vor der String Auswertung eine weitere Abfrage einbauen ob $result bereits false ist und dann den http error code auswerten und eine entsprechende Nutzer Meldung zurückgeben

Das ist irgendwie falsch im Modul. Schaue ich mir an.
Michael

Fix ist online auf GitHub und als Beta im Store. Stable im Store dauert etwas.
Version 2.01:

  • Fehler in der Fehlerbehandlung behoben.
    Michael

Vielen Dank für die Super Schnelle Fehlerbehebung. Werde das gleich testen