[Modul] TTS von VoiceRSS

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

Das gleiche Problem habe ich leider auch festgestellt. Liegt aber wohl am VOIP Modul. VoiceRSS macht alles so wie es soll.