Es ist tatsächlich ein Kombination von beidem. Konnte es leider bislang nicht testen, habe aber gerade noch mal auf php.net nachgelesen. Das escapeshellarg fügr tatsächlich um Strings ein einfaches Anführungszeichen ein. D.h. die doppelten Anführungszeichen, die ich explizit beim generieren des nanotts Commands hinzufüge, wären dann doppelt. Somit ist die erste von dir beschriebene Lösung die richtige, nämlich die doppelten Anführungszeichen im Sourcecode zu entfernen. Werde das so übernehmen.
Bin mir allerdings sicher, dass ich bei mir nie das Problem hatte. Und du kannst sicher sein, dass ich bei der Entwicklung viel rumexperimentiert habe. Aber ich denke es sollte bei mir auch ohne die Anführungszeichen funktionieren.
Ankündigung
Einklappen
Keine Ankündigung bisher.
LBS19000301 - TextToSpeech - Wie EDOMI sprechen lernte...
Einklappen
X
-
Korrektur: Es tritt auch bei kurzenTexten auf. Beim ersten Testen mit einem einfachen "Hallo" meine ich, dass das "Apostroph" nicht dabei war...
Habe den Original-LBS wiederhergestellt. Den selben Text ohne Ausrufezeichen verwendet: Keine Besserung - das "Apostroph" am Ende bleibt. Am Anfang der Ausgabe kommt kein "Apostroph".
Könnten evtl. zusätzliche Anführungszeichen durchverursacht werden?PHP-Code:escapeshellarg()
Kann mir nur schwer vorstellen, dass ich der Einzige mit dieser Anomalie bin...
Einen Kommentar schreiben:
-
Hattest du nicht geschrieben, dass es nur bei langen Texten auftritt? Das wäre echt seltsam. Und auch nachdem ich mir den Code angeschaut habe, bin ich mir nicht sicher, warum überhaupt doppelte Anführungszeichen im Log auftauchen, d.h. " und '.
Kannst du mal testweise denselben Text verwenden und das Ausrufezeichen am Ende weglassen? D.h. vorher die " wieder im Source Code einfügen. Könnte mir vorstellen, dass das Ausrufezeichen irgendwie von der Shell interpretiert wird. Denn das Problem tritt nur am Ende auf, oder?
Einen Kommentar schreiben:
-
Habs testweise im Code entfernt. Dann ging es wie erwartet. Also kein Eingabe-Problem.Zitat von jonofe Beitrag anzeigen
Sorry, habs leider nicht verstanden. Wo hast du sie weggelassen? Am Eingang oder im Sourcecode? Bedeutet: Ist es ein Problem im LBS oder deiner Eingabe?
Freu mich auf das kommende Update. Vielen Dank! :-)
Einen Kommentar schreiben:
-
Sorry, habs leider nicht verstanden. Wo hast du sie weggelassen? Am Eingang oder im Sourcecode? Bedeutet: Ist es ein Problem im LBS oder deiner Eingabe?Zitat von eghetto Beitrag anzeigenDas "Apostroph"-Problem liegt offenbar an den "-Zeichen im Text-Parameter. Lässt man diese weg. Wird das "Apostroph" nicht mehr gesprochen:
Das Problem mit den Parametern hatte ich schon vor längerer Zeit gefixt aber vergesse hochzuladen.
Kommt dann in Kürze alles zusammen ...
Einen Kommentar schreiben:
-
Außerdem werden offenbar die folgenden Parameter ignoriert:
--speed --pitch --volume . Egal was man einstellt, die Werte sind immer = 1:PHP-Code:--speed 1 --pitch 1 --volume 1
Einen Kommentar schreiben:
-
Das "Apostroph"-Problem liegt offenbar an den "-Zeichen im Text-Parameter. Lässt man diese weg. Wird das "Apostroph" nicht mehr gesprochen:
Code:[TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"] [TR] [TD]2017-10-10 18:18:00[/TD] [TD]797234[/TD] [TD]9238[/TD] [TD]debug[/TD] [TD]EXE19000301 [v0.3]: Text-To-Speech execution started (59)[/TD] [/TR] [TR] [TD]2017-10-10 18:18:00[/TD] [TD]800120[/TD] [TD]9238[/TD] [TD]debug[/TD] [TD]EXE19000301 [v0.3]: Creating output file: /usr/local/edomi/www/data/tmp/tts/edomi_20171010-181800.wav (59)[/TD] [/TR] [TR] [TD]2017-10-10 18:18:00[/TD] [TD]801523[/TD] [TD]9238[/TD] [TD]debug[/TD] [TD]EXE19000301 [v0.3]: Executing command: /usr/local/bin/nanotts -v de-DE --speed 1 --pitch 1 --volume 1 --no-play -o /usr/local/edomi/www/data/tmp/tts/edomi_20171010-181800.wav -w [COLOR=#FF0000][B]"[/B][/COLOR]'Hallo - das ist nur ein Test. Bitte nicht in Panik ausbrechen. Desweiteren bin ich auch bereit bei Bedarf mehr zu erzählen. Danke!'[COLOR=#FF0000][B]"[/B][/COLOR] (59)[/TD] [/TR] [TR] [TD]2017-10-10 18:18:01[/TD] [TD]251674[/TD] [TD]9238[/TD] [TD]debug[/TD] [TD]EXE19000301 [v0.3]: Result: a:7:{i:0;s:30:" * speaking non-matching input";i:1;s:33:"read: 134 bytes from command line";i:2;s:17:"using lang: de-DE";i:3;s:11:"speed: 1.00";i:4;s:11:"pitch: 1.00";i:5;s:12:"volume: 1.00";i:6;s:82:"wrote "/usr/local/edomi/www/data/tmp/tts/edomi_20171010-181800.wav" (355372 bytes)";} (59)[/TD] [/TR] [TR] [TD]2017-10-10 18:18:01[/TD] [TD]258682[/TD] [TD]9238[/TD] [TD]debug[/TD] [TD]EXE19000301 [v0.3]: Text-To-Speech execution finished (59)[/TD] [/TR] [/TABLE]
Einen Kommentar schreiben:
-
Hat den tts baustein schon jemand mit dem Squeeze Durchsage LBS zum laufen gebracht? Wenn ja wie? Eventuell abspeichern des tts files auf einer nas und dann dem durchsage LBS "zuweisen"!?
Über die Playlist wie hier referenziert finde ich dies suboptimal...
Einen Kommentar schreiben:
-
Vermutlich wäre dieses Problem im Squeeze Thread besser aufgehoben, da TTS ja nur das MP3 erzeugt. Abspielen machen dann die Squeeze LBS.
Einen Kommentar schreiben:
-
Ich habe nun mal mit Squeezelite in der Version 1.8.7-999 getestet, die bezüglich unseres Themas hier "fehlerfrei" sein soll. Das Abspielen der Durchsagen funktioniert problemlos, auch die Länge der Durchsagen spielt dabei keine Rolle. Allerdings lasse ich mir die mp3 auch mit einem resample auf 44,1 kHz erzeugen. Das brauche ich für meine Hardware.
Wenn allerdings bereits eine Playlist läuft, wird diese nach einer Durchsage nicht weiter fortgesetzt. Der Player bleibt auf dem Durchsage-File stehen. Es sieht erstmal so aus, als wird die Playlist nicht mehr restauriert. Kann mir da jemand weiterhelfen?
Einen Kommentar schreiben:
-
mein testsetup sieht im prinzip gleich aus als deines. auch die lbs versionen sind gleich. ich glaube fast nicht mehr, dass es was mit den lbs zu tun hat.
das file wird ja generiert, abgelegt und ist in der playliste auch zu finden. wenn ich dieses generierte file rauskopiere und direkt im lms abspielen möchte, also völlig unabhängig von edomi, funktionierts auch nicht.
es wird also ein, für den lms unspielbares file erzeugt (das aber mit dem windows player läuft). vielleicht liegt das problem doch eher am lms??? ich hab auch ältere mp3 files die seinerzeit mit google translate generiert wurden, auch diese gehen aktuell nicht.
mein lms läuft auf einem windows rechner und mir ist aufgefallen, dass bei den lms servereinstellungen / player / audio .. bitratenbeschränkung
"Hinweis: LAME scheint nicht installiert zu sein. Logitech Media Server benötigt den MP3-Kodierer LAME zum Durchführen der MP3-Konvertierung. Weitere Informationen über LAME finden Sie hier "
möglicherweise ist hier das problem zu suchen??
Einen Kommentar schreiben:
-
Und wie ist dein kompletter Aufbau?
Welche Squeeze LBS, wie sind die verbunden, welchen Ausgang des TTS LBS verbindest du mit welchem Eingang eines Squeeze LBS?
Mein Test-Setup sieht so aus:
Screenshot from 2017-09-02 12-43-53.png
Einen Kommentar schreiben:
-
ja, das funktioniert alles. radio, mp3 files, die im selben ordner liegen wie das generierte file. das generierte file geht allerdings nicht. wenn ich das abspielen möchte kommt besagter fehler. im windows media player ist das file vielleicht 2 sekunden lang, im lms läuft es weiß gott wie lange
Einen Kommentar schreiben:

Einen Kommentar schreiben: