[Modul] TTS von VoiceRSS

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

Hallo zusammen!

Ein paar Jahre später komme ich auch zum testen :slight_smile:

Problem ist jetzt im Zusammenspiel mit dem Voip Modul, über das ich gerne eine generierte Ansage abspielen würde. Um API-Aufrufe zu sparen während der Tests, habe ich die Datei einmal erstellt mittels:

TTSV_GenerateFileEx(27026,"Dies ist eine Durchsage", "/var/lib/symcon/media/alarm2.wav", "8khz_16bit_mono", "wav", "de-de", 0, "Lina");

Die Datei wird auch entsprechend angelegt. Allerdings, wenn ich die Datei über das Voip Modul abspielen lassen möchte kommt:

Warning: Only WAV files with 16 Bit, 8000 Hz, Mono are supported! in /mnt/data/symcon/scripts/38578.ips.php on line 10

Script zum Anrufen/Abspielen:

     $id = VoIP_Connect(58997, "017xxxxxxxx");

     //Maximal 10 Sekunden warten, dass einer abnimmt
     for($i = 0; $i < 10; $i++) {
         IPS_Sleep(1000);
         $c = VoIP_GetConnection(58997, $id);
         if($c['Connected']) {
             // VoIP_Playwave() unterstützt ausschließlich WAV im Format: 16 Bit, 8000 Hz, Mono.
             VoIP_PlayWave(58997, $id, "/var/lib/symcon/media/alarm2.wav");
             return;
         }
     }
     //Auflegen, falls keiner abnimmt
     VoIP_Disconnect(58997, $id);

Wo hab ich jetzt hier den Fehler? Das Format müsste doch passen, oder?

Hast du dir die Eigenschaften der Datei einmal angesehen ob die korrekt sind?
Geht es wenn du in der Instanz die Konfiguration entsprechend setzt und TTSV_GenerateFile benutzt?
Was sagt das Debug der VoiceRSS Instanz?
Michael

Also laut Foobar2000 passt es mit dem Format:

image

Dann werde ich mich wohl mal im Voip-Thread melden :slight_smile:

Sorry für die Verwirrung