Umfrageergebnis anzeigen: Ist so ein universelles TTS-Modul brauchbar?

Teilnehmer
35. Sie dürfen bei dieser Umfrage nicht abstimmen
  • Nein, ich brauche kein TTS

    0 0%
  • Nein, ich als User möchte das mit eigenen Scripten in IPS lösen

    0 0%
  • Nein, ich als Entwickler baue das selber fest in meinen Modulen ein.

    0 0%
  • Ja, die Idee ist gut.

    30 85.71%
  • Ja, die Idee ist gut und ich würde mich am Modul beteiligen.

    5 14.29%
+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 19
  1. #1
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,597

    Standard Generic TTS-Wrapper

    Moin Modul-User,

    folgende Idee ist mir gekommen, als ich über eine integration der TTS-Funktionen in meinem SqueezeBox & OnkyoAVR Modulen nachgedacht habe.

    Ein universeller TTS-Wrapper, welcher als Bindeglid zwischen anderen Modulen und einem TTS-Modul hängt.
    Somit könnten alle Modul-Entwickler eine und die gleichen Funktionen nutzen um TTS in ihren Modulen zu verwenden.
    Unabhängig davon welche TTS-Engine (oder Modul) sich dahinter verbirgt.

    Vorteile wären auch, das wenn eine neue TTS-Engine hinzukommt, nicht jeder sein Modul ändern muss, sondern nur der Wrapper aktualisiert werden muss.

    Die Umfrage die diesem Thema anhängt, ist nicht per Tap-A-Talk zu erreichen

    Michael
    Geändert von Nall-chan (20.10.15 um 16:07 Uhr)
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  2. #2
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,327

    Klingt sehr gut

    Dann müsste man nur in diesem Wrapper auswählen "TTS - Google", "TTS - InstanzID", "TTS - Amazon" oder was da noch kommen mag. Zusätzlich im Wrapper noch einen Pfad eingeben, wo die Sound-Datei abgespeichert werden soll. Eventuell müsste man noch das Sound-Format (MP3/WAV) irgendwie mit unterbringen.

    Und die Rückgabe an das Skript könnte dann Pfad + Dateiname sein, wo die "fertige" Sound-Datei liegt?! Vlt. sogar noch mit Zusatzinfos wie Abspieldauer und keine Ahnung?!

    Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  3. #3
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,597

    Ja, die InstanzID der dahinter hängenden 'echten' TTS-Instanz, muss der User in den Einstellungen des Wrappers hinterlegen müssen.

    Welcher Typ dort eingetragen wird ist egal, das kann das Modul dann selbst herrausfinden (Modul-GUID der eingestellten Instanz).

    Ebenso können erstmal nur Funktionen genutzt werden, welche alle TTS-Typen mitbringen.
    Über eventuelle Erweiterungen des Umfangs darüber hinhaus, wie z.B. Länge der Wiedergabe oder Dateiformat muss man dann im Einzelfall entscheiden, wie aufwendig Dies zu implementieren ist.

    Darum auch diese Umfrage, mit der Option der Beteiligung.
    Ich möchte ungern am 'Ziel' vorbeischießen.
    Und das passiert bestimmt, wenn ich nur 'meine' Anforderungen umsetzen würde

    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  4. #4
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,327

    Evtl. könnte man auch noch eine "Fallback-Funktion" einbauen.

    Angenommen man wählt als 1. die Google TTS API aus und diese hat wieder was geändert oder keine Ahnung, auf jeden Fall wenn die 1. Wahl nicht funktioniert, dann wird automatisch die 2. Wahl (z.B. Amazon TTS API) verwendet. Oder für Windows auch mit "Offline-Fallback", falls keine Internetverbindung vorhanden ist, auf die MS-TTS-API...

    -Chris-
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  5. #5
    Registriert seit
    Dec 2014
    Ort
    Karlsdorf-Neuthard
    Beiträge
    488

    Hi,

    finde ich super!

    Zitat Zitat von Bayaro Beitrag anzeigen
    Zusätzlich im Wrapper noch einen Pfad eingeben, wo die Sound-Datei abgespeichert werden soll. Eventuell müsste man noch das Sound-Format (MP3/WAV) irgendwie mit unterbringen.
    Da könnte man darüber nachdenken, ob man den Pfad als config im Wrapper oder im jeweiligen TTS-Modul hätte...

    Zitat Zitat von Nall chan Beitrag anzeigen
    Ebenso können erstmal nur Funktionen genutzt werden, welche alle TTS-Typen mitbringen.
    Warum? Spezielle einstellungen muss man dann halt in der Config der TTS Instanz festlegen.

    Was ich mich gerade noch gefragt habe:
    Haben nicht bestimmt TTS Dienste die Limitation, dass nur eine bestimmte Zeichenlänge unterstützt wird?
    Da müsste man evtl. noch in Häppchen teilen.

    Auch das Aufräumen der Dateien sollte man im Blick behalten...

    Gruß,
    Thorsten

  6. #6
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,327

    Jupp, Google lässt nur 100 Zeichen zu :-\
    >> IPSSonos - Seite 14

    Aufräumen? Joa, oder einfach überschreiben. Wenn alle die gleiche Ausgabe-Datei verwenden vom Namen?!

    -Chris-
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  7. #7
    Registriert seit
    Dec 2014
    Ort
    Karlsdorf-Neuthard
    Beiträge
    488

    Hi,

    Zitat Zitat von Bayaro Beitrag anzeigen
    Aufräumen? Joa, oder einfach überschreiben. Wenn alle die gleiche Ausgabe-Datei verwenden vom Namen?!
    Dann kannst Du aber niemals mehrere Ansagen gleichzeitig nutzen.
    Eher mit GUID als namen ablegen und nach 2 Stunden wieder löschen, oder so.

    Gruß,
    Thorsten

  8. #8
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,327

    Stimmt, nur weil ich nie mehrere Ausgaben gleichzeitig nutze, kann ein anderer es ja trotzdem nutzen Wer weiß was er hier für riesen Gebäude bei den IPS`lern gibt

    Und wenn eh Pfad + Dateiname übergeben werden, wäre der Dateiname auch beliebig wählbar... Dann wäre es vlt. noch besser, wenn man einen bestimmten Suffix verwendet, meinetwegen die GUID, und am Ende aus Datum/Zeit/Mikrosekunden noch einen Prefix anhängt, dann kann man wie wild TTS benutzen ...und es kommt sich nichts in die Quere.


    Also würde man den Wrapper ansprechen mit z.B. "$PfadUndDateiname = TTS_Modul("Ich bin ein Text");" und kann danach in seinem Projekt damit beliebig weitermachen?! Oder was schwebt den Profis da so vor?

    Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  9. #9
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,597

    Ihr seid schon viel weiter als ich war/bin

    Wenn ich es mal ganz pragmatisch betrachte:
    • Es gibt aktuell nur 2 TTS-Module (VoiceRSS und Windows-TTS-API, welches aber nur unter Windows funktioniert)
    • Kleinster gemeinsamer Nenner beim Format ist aktuell nur WAV
    • Kleinster gemeinsamer Nenner beim Format von Funktionen welche diese Module bereitstellen ist ->GenerateFile


    Zuerst bräuchte man also erstmal noch 'mehr' TTS-Module.
    Google braucht man glaube ich nicht mehr umsetzen, soll ja wohl eingestellt werden.
    Vor einer eigenmächtigen Umsetzung der AmazonTTS sollte man den 'Urheber' der Idee (Titus) mal nett fragen.

    Einschränkungen wie 'Anzahl der Zeichen/Wörter' oder auch Dateiformate, sollten in den jeweiligen TTS-Modulen eigenständig umgangen werden.

    Wenn dies nicht möglich ist, wie bei dem 'Format' der Windows-TTS-Instanz, so kann man überlegen ob man versucht dies im Wrapper zu lösen.

    Den 'Benutzer' des Wrappers solltes es selbst überlassen sein, oder er Rohdaten, ein Filenamen oder ein MediaObject erzeugt bekommt. Nich alles ist für jedes Device-Modul zu gebrauchen.

    Aufräumen muss man in jedem Fall.
    Also noch eine Art GenTTS_CleanUp();

    Zur Identifizierung könnte man auch 'einfach' den Aufrufer des Wrappers nutzen.
    Also dessen ObjectID + ggfls. noch den PHP-Slot in welchen die PHP-Instanz vom Modul gerade läuft.

    Aktuell habe ich so viele Ideen, aber zu wenig Zeit

    Ich werde aber mal versuchen, in den nächsten Tagen, eine Art Grundgerüst auf GitHub stellen.
    Sowie eine Art Pflichtenheft was dieses Modul mindesten können muss.
    Dann können wir ja mal im Detail diskutieren.

    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  10. #10
    Registriert seit
    Dec 2011
    Ort
    Bad Bramstedt
    Beiträge
    335

    Die Idee finde ich super!

    Vielleicht noch eine Idee, die ich in meinem Skript so schon umgesetzt habe.

    Der Dateiname der generierten Sprachausgabe ist der MD5-Hash des gesprochenen Textes. Ich speichere die Dateien in einem Ordner "tts-cache" unterhalb von user/webfront. Wenn eine Sprachausgabe von einem Skript angefordert wird schaue ich erstmal dort nach ob die Datei schon existiert. Nur wenn das nicht der Fall ist wird die Datei in der Cloud angefordert.

    Bei mir sind es doch fast immer nur die gleichen Ansagen die ich brauche, das reduziert die Anfragen an Amazon / Ivona doch massiv.
    Titus
    IPS 5.1 | Fujitsu Server | Windows 2019 | HomeMatic CCU2 (RaspberryMatic) | Homematic Wetterstation | Raspberry Pi | Pure Jongo und Peaq Munet Multiroom-System | XBMC / Kodi | Arduinos mit nRF24l01+ | FritzBox 7490 | Echos | Tasmota

Ähnliche Themen

  1. Bitdefender: Trojan.Generic gefunden
    Von DigiHouse im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 7
    Letzter Beitrag: 02.12.14, 20:46
  2. Wrapper Klassen in Perl und PHP für V3.x JSON API
    Von tommi im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 7
    Letzter Beitrag: 14.02.14, 20:19
  3. [TRIXI] SOAP-Wrapper - IPS-SDK für "Dummies" - Vorstellungsthread
    Von Tonic1024 im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 2
    Letzter Beitrag: 25.10.10, 16:12
  4. Tts
    Von uwe im Forum Allgemeine Diskussion
    Antworten: 1
    Letzter Beitrag: 06.02.09, 12:04
  5. Was ist ein Siemens S7 SPS I/O-MPI Wrapper?
    Von oc-mag im Forum SPS Automatisierungstechnik
    Antworten: 25
    Letzter Beitrag: 22.09.08, 17:12