Amooma TTS-Engine im Asterisk

asterisk

Kostenfreie TTS-Engines gibt es inzwischen wie Sand am Meer – leider kaum brauchbare in deutscher Sprache. Eine Ausname bildet die Engine des Unternehmens Amooma GmbH aus Neuwied. Textbausteine werden über ein Webform erzeugt und befristet als GSM-Datei zur Verfügung gestellt.
Auf deren Internetpräsenz heißt es:

Sprachbausteine die Sie über unsere web-basierte TTS-Engine generieren können völlig frei und ohne Einschränkungen verwendet werden.

Also los:
Meine Arbeit bestand aus zwei Perl Scripts. Das erste Script generiert HTTP-POST Pakete und schickt diese an den Webserver der Firma Amooma GmbH. Die Antwort wird geparsed und die entstandene GSM-Sprachdatei wird direkt auf der Console ausgegeben. Aufgerufen wird das Script (tts.pl) zum Beispiel wie folgt:


perl tts.pl "Test" > test.gsm




Das zweite Script (tts_cache.pl) stellt die Schnittstelle zum Asterisk dar. Die Besonderheit an diesem Script ist, dass es bereits erstellte Textbausteine nicht noch einmal generiert, sondern wiederverwendet. So wird der Traffic- und Leistungsbedarf gerade bei Zahlen und sich wiederholenden Ansagen drastisch reduziert.
Aufgerufen wird das Script im Asterisk folgendermaßen:


;Test
exten => 1337,1,Answer
exten => 1337,n,Wait(2)
exten => 1337,n,AGI(tts-cache.pl,"Sie haben eine neue Email.")
exten => 1337,n,Hangup

Im Umgang mit Anglizismen ist ein bisschen rumprobieren gefragt. Weiterhin ist zu beachten, dass der auszugebende Text maximal 500 Zeichen lang sein darf.

Diese beiden Scripts habe ich nun ein halbes Jahr lang getestet und für praktibel befunden. Sie haben mir nie Ärger bereitet.

Bitte beachten Sie ausserdem, dass die massive Verwendung des tts-Generators als Denial of System Angriff gewertet werden kann. Es ist daher ratsam Amooma im Falle einer automatisierte Verwendung darauf aufmerksam zu machen (info@amooma.de) und sich zu bedanken, dass sie eine solch qualitativ hochwertige Dienstleistung kostenfrei zur Verfügung stellen.

Installation:

  • Die „tts.pl“ zum Beispiel nach /root kopieren.
  • Die „tts-cache.pl“ nach /var/lib/asterisk/agi-bin kopieren
  • In der „tts-cache.pl“ den Standort der „tts.pl“ angeben. Zum Beispiel:
  • 
    my $ttsdir = "perl /root/tts.pl";
    
    

    Appendix:

    Download: tts.pl
    Download: tts-cache.pl
    Amooma Text to Speech Engine