Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Phoner und TTS (Read 5399 times)
rahe
YaBB Newbies
*
Offline


Phoner is great!

Posts: 15
Location: Schwedt/Oder
Joined: 01. Sep 2005
Gender: Male
Phoner und TTS
14. Jun 2007 at 15:32
Print Post  
Hallo Phonergemeinde,

ich habe ein Problem im Zusammenhang mit der Generierung der wav-Datei bei TTS. 
Ich generiere mehrfach hintereinander neue Nachrichten für ein telefonisches Nachrichtensystem.
Die Nachrichten stammen jeweils aus einer Datenbank. Dabei musste ich feststellen, dass nur jede
2. Nachricht generiert wird. Ich habe das dann manuell im Phoner getestet, dort passiert das gleiche.
Versuche ich eine Nachricht  nochmal zu versenden, gleich ob mit gleichen oder anderen Text,
wird beim ersten Mal die Nachricht gesendet, beim 2. Mal nicht und beim 3. Versuch erfolgt die Sendung
wieder.

Vielleicht kann mir jemand einen Tipp geben, wo ich da etwas verändern kann.
ach so, ich arbeite mit Phoner 2.05 aus einer Delphianwendung über COM unter dem BS Win XP

Gruß Rainhard
  
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: Phoner und TTS
Reply #1 - 15. Jun 2007 at 12:36
Print Post  
Hallo Rainhard,

Ich nutze die Cepstral-SAPI Matthias oder Katrin für die TTS-Synthese, weil ich mit der Windows SAPI (nicht nur wegen der schlechten stimmlichen Qualität) Probleme bei der automatischen Generierung von abspielbaren WAV's hatte.

In meinem Fall verhielt es sich so, dass die zuvor generierte WAV-Datei exakt ein Mal nicht von einer anschliessend generierten WAV-Datei überschrieben wurde, sondern erst beim zeiten Versuch. So, dass kommt uns ja nun ziemlich bekannt vor, nicht? Wink

Phoner selbst belässt die TTS-WAV-Datei unverändert, da Phoner lediglich ein TTS-Interface anspricht, und die nach der Sprachsynthese entstandene Sounddatei danach (meines Wissens aktiv durch Phoner) wiedergegeben wird. Eigentlich sollte damit die generierte WAV-Datei lediglich temporär sein, so dass kein systembedingter Schutzmechanismus greift.

Woran das beim mir nun lag, konnte ich nicht ermitteln, vermute jedoch, dass die generierte WAV-Datei durch das Betriebssystem irgendwie "geschützt" wurde ("in Benutzung" oder sonst wie). Sofern ich diese Datei per Hand gelöscht hatte, gab's jedoch keine Probleme oder Hinweise - und ich konnte problemlos eine neue Datei erzeugen.

Nachdem ich das Cepstral-System - primär wegen der besseren Qualität - installiert hatte, kam dieses Problem seltsamerweise nicht mehr vor. Also vermute ich, dass das zuvor genutzte Synthese-System "der Auffassung war", die generierte WAV-Datei noch nutzen zu müssen. Eine entsprechende Einstellung hierfür konnte ich jedoch nicht mehr nachvollziehen.

Ich sehe in Deinem Falle weitere Quellen für eine mögliche Fehleranfälligkeit in der Delphi-Anwendung selbst oder in der genutzten TTS-SAPI bzw. in der Synthese. Ich gehe einmal davon aus, dass Deine Anwendung eine Brücke zwischen Phoner und der Datenbank bildet, und je nach COM-Methode oder Parameter (z. B. CallingPartyNumber) aus dieser Datenbank heraus "etwas anderes generiert".

Wie nun der Transfer zwischen Synthese und Phoner aussieht, bzw. wie die Sprachausgabe nun Phoner erreicht, bleibt jedoch unklar.

Der "Fehler" kann daher auch bei Dir in der SAPI, in Deiner Delphi-Anwendung, im Datenbank-Server (sofern einer genutzt wird, und Du mit "Datenbank" kein Server-Client-System wie MySQL meinst) gesucht werden.

Dass Phoner jedoch ebenso nicht in der Lage ist, zwei verschiedene Nachrichten hintereinander zu generieren, lässt mich vermuten, dass die TTS-SAPI auf einem OS NT4.0 und höher der Grund für das Problem ist. Entweder sollte es eine Einstellung in Deinem TTS-System geben, die eine "direkte Soundausgabe" ohne den Umweg über die Wiedergabe einer zuvor generierten RAW- oder WAV-Datei ermöglicht, oder aber Du solltest sämtliche Einstellungen deaktivieren, die darauf hindeuten, dass das Synthese-System eine generierte WAV- oder RAW-Datei für eine weitere Verwendung "schützt". Welche das nun sind, kann ich Dir nicht sagen - die Cepstral-Synthese verfügt über keine solchen Einstellungen.

Könntest Du uns da mehr Informationen über die von Dir genutzte SAPI bzw. das Synthese-System, und den Datenbank-Typ zukommen lassen? Auch ein paar Info's über die Funktionsweise Deines Programms wären nützlich (uns fehlen hier nämlich noch ein paar nützliche Phoner-AddOns, weisst Du Wink ).

Viele Grüße vom Kai
  
Back to top
IP Logged
 
rahe
YaBB Newbies
*
Offline


Phoner is great!

Posts: 15
Location: Schwedt/Oder
Joined: 01. Sep 2005
Gender: Male
Re: Phoner und TTS
Reply #2 - 15. Jun 2007 at 13:27
Print Post  
Hallo Kai,

vielen Dank für Deine Antwort. 
Für die SAPI nehme ich ebenfalls die Kathrin von Cepstral, auch aus den von Dir genannten Qualitätsgründen.
Die Datenbank ist eine MS SQL 2000 Datenbank, aus der ich die Telefonnummer und diverse andere Einstellungen
abfrage, genauso wie den zu generierenden Text, der als Eintrag in einem Terminkalender vorliegt.
So weit, so gut. Die Aufbereitung der Daten erfolgt problemlos und in der Delphianwendung ist auch alles nachvollziehbare ok.
Da es sein kann, dass es an einem Tag mehrere Termineinträge für den gleichen anzurufenden Kunden gibt, generiere ich
die WAV-Dateien zu einem Zeitpunkt, wo keine weiteren Aktivitäten ablaufen (nachts). Ich erzeuge einen fiktiven Anruf
auf der Rufnr 000000 und stelle eine Verbindung her, die natürlich nicht aufgebaut wird. Die entstehende tts.wav wird anschließend kopiert und unter einem anderen Namen gespeichert. Zu christlichen Zeite (08:00 - 18:00) wird dann
die eigentliche Verbindung zu den Kunden hergestellt und die Nachrichten aus den WAV-Dateien abgespielt. Diesen Umweg habe ich deshalb gewählt, da eine direkte TTS-Ausgabe keine Reaktion mittels DTMF ermöglicht, ich aber den Kunden die Möglichkeit geben möchte, eine nicht eindeutig verstandene Nachricht nochmals wiederholen zu lassen.
Inzwischen habe ich weiter probiert und habe festgestellt, wenn ich die Funktion SendSMSService zweimal hintereinander aufrufe dann werden alle Nachrichten generiert, rufe ich die Funtion nur einmal auf, erfolgt nur die Generierung jeder zweiten Nachricht.
Die Ursache kann ich leider nicht finden, könnte aber zur Not mit dem doppelten Aufruf der Funktion leben.
Dabei habe ich nicht mal eine Verzögerung eingebaut, sondern den Aufruf einfach 2 Mal ausgelöst.

So viel erst mal zum Fakt, vielleicht sind das noch ein paar Anhaltspunkte. 

Viele Grüße von Rainhard
  
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: Phoner und TTS
Reply #3 - 15. Jun 2007 at 14:17
Print Post  
Hallo Rainhard,

ich befürchte fast, dass ist ein heisses Eisen...

Hintergrund:

Ich kenne mich mit den Methoden des COM-Servers in Phoner so gut wie garnicht aus. Wenn jedoch die Methode SendSMSService die gleiche ist, die in Phoner dafür ursächlich ist, um Textnachrichten oder Sprachnachrichten über Mobilfunknetze an andere Teilnehmer zu schicken, so ist es der Aussage Heiko's nach wahrscheinlicher, dass er die komplette SMS-Unterstützung aufgrund problematischen Verhaltens dieser Funktion ausbauen würde, anstatt noch irgend ein Fitzelchen an Änderung daran vorzunehmen (siehe dieser bedeutungsschwangere Beitrag Heikos).

Eine Diagnose der Methode kann ich mangels Source-Code leider nicht durchführen - andererseits kann ich während der "normalen" Nutzung von TTS über Phoner als Anrufsignalisierung für verschiedene Teilnehmer des Telefonbuchs und als Versand einer Textnachricht mit den Cepstrals dieses Problem auch nicht mehr nachvollziehen.

Ich denke, sofern Du mit dem zweifachen Aufruf der Methode leben kannst, sollte man nicht weiter daran rühren  Lips Sealed. Vielleicht kann Heiko nach seinem Urlaub ja mehr hierzu aussagen.

Viele Grüße vom Kai
  
Back to top
IP Logged
 
rahe
YaBB Newbies
*
Offline


Phoner is great!

Posts: 15
Location: Schwedt/Oder
Joined: 01. Sep 2005
Gender: Male
Re: Phoner und TTS
Reply #4 - 18. Jun 2007 at 10:20
Print Post  
Hallo Kai,

ich hoffe Du hattest ein angenehmes Wochenende. 
Um nochmal auf das TTS-Problem zu kommen, ich bin ebenfalls der Meinung, dass ein problembehafteter Programmteil
lieber entfernt werden sollte (SMS), wenn es keine passende Lösung der auftretenden Probleme gibt.
Es wäre aber bestimmt sinnvoll, den Teil TTS im Phoner vielleicht  auszubauen. Mir scheint, dass es weiteres Interesse
an diesem Punkt gibt. Ich bräuchte für die Realisierung o.g. Aufgabe entweder eine Möglichkeit, unabhängig vom Zeit-
punkt des Sendens, um generierten Text in einer WAV-Datei ablegen zu können, um auch die DTMF-Möglichkeiten zur 
Reaktion nutzen zu können. (z.B. Wiederholung der Ansage o.ä). 
Das wäre eine Möglichkeit. Die andere wäre, die DTMF-Reaktion auch bei TTS-Anrufen zur Verfügung zu haben, dann wäre
das vorherige generieren der WAV-Dateien überflüssig.
Vielleicht hat Heiko dazu eine Idee nach seinem Urlaub. Ich wäre sehr dankbar dafür, da es bei mir schon die 2. Anwendung in ähnlicher Art ist, wo ich diese Möglichkeiten brauchen würde.

Viele Grüsse von Rainhard
dieser Art ist
  
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: Phoner und TTS
Reply #5 - 18. Jun 2007 at 12:41
Print Post  
Hallo Rainhard,

rahe wrote on 18. Jun 2007 at 10:20:
ich hoffe Du hattest ein angenehmes Wochenende.


Danke der Nachfrage: es war durchwachsen und voller Arbeit... Wink. Als der Keller dann endlich aufgräumt war, konnte ich mich nur ganz kurz in die Sonne setzen - und schon regnete es wieder  Grin.

rahe wrote on 18. Jun 2007 at 10:20:
Um nochmal auf das TTS-Problem zu kommen, ich bin ebenfalls der Meinung, dass ein problembehafteter Programmteil
lieber entfernt werden sollte (SMS), wenn es keine passende Lösung der auftretenden Probleme gibt.


Normalerweise würde ich Dir ja sofort zustimmen. Die Krux an der Sache ist jedoch, dass z. B. ich nur ungerne auf die SMS-Funktion verzichten wollen würde, da sie 

  • wenigstens bei mir problemlos funktioniert,
  • ich sie eigentlich ständig brauche (als Computermensch einer Firma auf mehreren Etagen lasse ich mir durchgeben, wenn jemand auf meiner Hardware-Probleme-Hotline angerufen hat, und ich gerade unterwegs bin),
  • es in diesem Forum nur wenige Fehlermeldungen zur SMS-Funktion gibt,
  • und es keine geeigneten reinen SMS-Clients für ISDN zu geben scheint. Die AVM-Software lehne ich zutiefst ab...


rahe wrote on 18. Jun 2007 at 10:20:
Es wäre aber bestimmt sinnvoll, den Teil TTS im Phoner vielleicht  auszubauen. Mir scheint, dass es weiteres Interesse
an diesem Punkt gibt. Ich bräuchte für die Realisierung o.g. Aufgabe entweder eine Möglichkeit, unabhängig vom Zeit-
punkt des Sendens, um generierten Text in einer WAV-Datei ablegen zu können, um auch die DTMF-Möglichkeiten zur 
Reaktion nutzen zu können. (z.B. Wiederholung der Ansage o.ä).


Ich hab' im Vorschlagsforum einen Verweis auf diesen Beitrag gesetzt. In wie weit das jetzt zur Umsetzung kommt, beurteilt Heiko.
 
rahe wrote on 18. Jun 2007 at 10:20:
Das wäre eine Möglichkeit. Die andere wäre, die DTMF-Reaktion auch bei TTS-Anrufen zur Verfügung zu haben, dann wäre
das vorherige generieren der WAV-Dateien überflüssig.
Vielleicht hat Heiko dazu eine Idee nach seinem Urlaub. Ich wäre sehr dankbar dafür, da es bei mir schon die 2. Anwendung in ähnlicher Art ist, wo ich diese Möglichkeiten brauchen würde.


Zu Deinen Anwendungen hätte ich - unabhängig zum Vorschlag der Verbesserung - eine Frage: Könntest Du Dir vorstellen, Deine Anwendung(en) als dokumentierte Addon(s) für Phoner auf Heikos Seite zum Download zur Verfügung zu stellen? Als Phoner-Anwender und als jemand, der hier Funktionen beschreiben muss, bin ich an jedem Mehrwert des Hauptprogramms, sofern dieser Mehrwert unabhängig von einer Software-Telefonanlage wie Asterisk zu sehen ist, selbstverständlich brennend interessiert Wink.

Viele Grüße vom Kai
  
Back to top
IP Logged
 
Phoner Admin
YaBB Administrator
*****
Offline



Posts: 11399
Location: Germany
Joined: 12. Oct 2003
Gender: Male
Re: Phoner und TTS
Reply #6 - 27. Jun 2007 at 07:24
Print Post  
Ich muss jetzt nochmal blöd nachfragen: Du generierst manuell aus Phoner heraus die Nachricht? Tritt das Problem also auch mit dem normalen Test auf? Wenn du also den Text bei jedem Test (ich meine den Test-Button auf der TTS-Einstellungsseite) änderst, wird ab und zu nichts neues generiert und du hörst somit die alte Nachricht nochmal?
Oder tritt das Problem nur im Zusammenhang mit Telefongesprächen auf? Und wenn ja, dann nur bei der COM-Steuerung?
  
Back to top
WWW  
IP Logged
 
rahe
YaBB Newbies
*
Offline


Phoner is great!

Posts: 15
Location: Schwedt/Oder
Joined: 01. Sep 2005
Gender: Male
Re: Phoner und TTS
Reply #7 - 02. Jul 2007 at 10:24
Print Post  
Hallo Heiko,
zu deiner Frage. Wenn ich den Test aus dem Register "Einstellungen TTS" benutze, läuft alles bestens.
Gehe ich in das Register "Versand" und gebe dort einen Text an eine beliebige Rufnummer aus, indem ich
als Service TTS einstelle passiert es, dass es meist nur bei jedem 2. Betätigen des Sendenbutton die Verbindung
hergestellt wird, ansonsten erscheint ein TTSError. Das gleiche passiert über die COM-Schnittstelle generell, es wird nur
jeder 2. Text generiert. Das passiert auch, wenn ich die Generierung der Meldungen mittels Timer verzögere. Zur
Zeit habe ich eine Generierung der Texte aller 10 sec. eingestellt. Ich rufe aber die Funktion "SendMSMService" zweimal
hintereinander in jedem Durchlauf auf. Damit funktionert es und es werden alle Meldungen generiert. 
Ist halt nicht so die elegante Lösung, aber es funktioniert. 
Wie du siehst, tritt das Problem nur bei der Herstellung einer Verbindung auf , unabhängig ob über ISDN oder SIP.


Gruß Rainhard



  
Back to top
 
IP Logged
 
Phoner Admin
YaBB Administrator
*****
Offline



Posts: 11399
Location: Germany
Joined: 12. Oct 2003
Gender: Male
Re: Phoner und TTS
Reply #8 - 17. Jul 2007 at 21:54
Print Post  
Kannst du bitte mal die aktuelle Phoner-Version ausprobieren, ob es da besser läuft?
  
Back to top
WWW  
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint