app_swift ignoriert die optionen und spricht sie einfach mit.Egal welchen delimiter (,|) ich verwende.
Hallo,
ich setze bei einigen AGI Scripten die TTS von Cepstral ein. Ich bin dann auf app_swift gestoßen welches die Sache vereinfachen soll weil man nicht erst mit swift ein Soundfile erstellen und dann mit Streamfile und Konsorten abspielen muss und dadurch die Pause zwischen Soundfile erstellen und abspielen einspart
Unter core show application swift heiß es:
Also:
Ich habe natürlich statt der Pipe (|) auch das Komma probiert.leider ohne Erfolg.
Hat jemand eine Idee?
Gruß Daniel
Ich bin jetzt schon ein bißchen weitergekommen:
In der extensions.conf kann ich immer noch keine Optionen übergeben aber in AGI-Scripten funktioniert es. Ich benutze python und als Bibliothek habe ich pyst eingebunden.
Da gibt es eine Methode appexec('application','options') die hervorragend funktioniert.
Das sieht dann so aus:
man kann dann mit get_variable('SWIFT_DTMF') die zurückgegebenen DTMF Töne abfragen:
Hallo,
ich setze bei einigen AGI Scripten die TTS von Cepstral ein. Ich bin dann auf app_swift gestoßen welches die Sache vereinfachen soll weil man nicht erst mit swift ein Soundfile erstellen und dann mit Streamfile und Konsorten abspielen muss und dadurch die Pause zwischen Soundfile erstellen und abspielen einspart
Unter core show application swift heiß es:
Das klappt auch wunderbar wenn man einfach nur einen Text gesprochen haben will.This application streams tts audio from the Cepstral swift engine and
will alternatively read DTMF into the ${SWIFT_DTMF} variable if the timeout
and digits options are used.
Syntax: Swift(text[|timeout in ms][|maximum digits])
Also:
Wenn ich das aber so macheexten =>1234,1,Answer()
exten =>1234,n,swift(Irgendwann wirds auch wieder Sommer)
exten =>1234,n,Hangup
Dann liest er das timeout und die maximum digits einfach mit vor.exten =>1234,n,swift(Wann wirds wieder Sommer?|2000|2)
Ich habe natürlich statt der Pipe (|) auch das Komma probiert.leider ohne Erfolg.
Hat jemand eine Idee?
Gruß Daniel
Ich bin jetzt schon ein bißchen weitergekommen:
In der extensions.conf kann ich immer noch keine Optionen übergeben aber in AGI-Scripten funktioniert es. Ich benutze python und als Bibliothek habe ich pyst eingebunden.
Da gibt es eine Methode appexec('application','options') die hervorragend funktioniert.
Das sieht dann so aus:
Ist wirklich Klasse weil der Text fast ohne Pause erstellt und wiedergegeben wird. Man kann dem zu sprechenden String auch Formatierungstags mitgeben was in der extensions.conf nicht geht. Das sieht dann so aus.appexec('Swift','Irgendwann wird es wieder Sommer')
Mann darf in dem String allerdings kein Komma und keine Pipe nutzen da hiermit dann das Timeout und die Maxdigits angegeben werden.appexec('Swift',"glaubt irgendjemand <break time='200ms' /> dass es jemals wieder Sommer wird)
man kann dann mit get_variable('SWIFT_DTMF') die zurückgegebenen DTMF Töne abfragen:
Leider kann ich app_swift trotzdem nicht einsetzten da es häufig zu einem Speicherzugriffsfehler kommt wenn während der Ansage aufgelegt wird und sich dann auch der Asterisk beendet.appexec('Swift',"glaubt irgendjemand <break time='200ms' /> dass es jemals wieder Sommer wird,2000,2)
x=get_variable('SWIFT_DTMF')
Zuletzt bearbeitet: