Coverbild des Asterisk Buches von Stefan Wintermeyer

Letzte Woche => Endspurt!

Montag den 29.01.07 geht das Buch in die Produktion. Bis dahin laeuft der Beta-Test noch in vollem Umfang. Bitte melden Sie Fehler! Siehe Beta-Test FAQ.

Erscheinungstermin: 03.03.07. Das Buch wird auf dem Asterisk-Tag.org in Chemnitz vorgestellt und kann dort auch erworben werden. 10 Tage spaeter wird es im Buchhandel sein. Wer nicht in Chemnitz sein kann, sollte das Buch vorbestellen: Amazon oder direkt beim Verlag

Asterisk-Schulungen und Consulting vom Autor dieses Buches finden Sie auf http://www.amooma.de. Naechste Asterisk-Schulung: 12.02. - 13.02.07 (noch 2 Plaetze frei) - Ach ja, ... wir suchen auch noch Asterisk Entwickler! => http://www.amooma.de/jobs/


2. Sprachausgabe

Beginnen wir mit einem möglichst einfachen VoiceXML Dokument:

Beispiel 18.1. sprachausgabe.vxml

<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0">
<form>
<block><prompt>Willkommen bei der Apfelmus GmbH<break time="1000ms"/></prompt></block>
<block><prompt>Hier spricht der Asterisk.</prompt></block>
</form>
</vxml>


Die erste Zeile kommt jedem bekannt vor, der sich schon einmal mit XML beschäftigt hat. Sie hat noch nichts mit VoiceXML zu tun, sondern besagt lediglich, dass es sich um ein UTF-8 codiertes XML-Dokument handelt.

Der zweite Zeile mit dem XML Root-Element kommt dagegen schon zum Thema: Sie sagt dem Voicebrowser, dass es sich um ein VoiceXML Dokument der Version 2.0 handelt. Man sieht in diesem Element häufig auch diverse Namespace-Attribute. Erforderlich sind diese jedoch nicht und in den hier aufgezeigten Beispielen wollen wir der Einfachheit halber darauf verzichten.

Das <form> Element wird den Einen oder Anderen an dieser Stelle vielleicht verwundern. Mit einem Formular, wie man es von HTML kennt, hat es nämlich nicht viel gemeinsam. Wie man im Beispiel sieht, erfolgt hier lediglich eine Ausgabe von Text, ohne dass irgendwelche Daten aufgesammelt oder abgeschickt würden. Wenn man die Analogie zu HTML sucht, entspricht das <form> Element von VoiceXML eigentlich mehr einem HTML <body> Element.

Tipp

Dem interessierten Leser sei an dieser Stelle gesagt, dass es alternativ zu <form> in VoiceXML auch noch ein <menu> Element gibt. Es handelt sich hierbei um eine Spezialform des <form> Elements, die uns an dieser Stelle nicht weiter interessieren soll.

Die folgenden Element sind mehr oder weniger selbsterklärend: Innerhalb eines <form> Elements können mehrere <block> Elemente enthalten sein. In <block> Elementen können <prompt> Elemente stehen, die eine Sprachausgabe über das Text-to-Speech System des Voicebrowser bewirken. Ein Voicebrowser, der von einem Webserver das obige Dokument empfangen hat, sagt zuerst "Willkommen bei der Apfelmus GmbH", wartet dann eine Sekunde und sagt dann "Hier spricht der Asterisk".

Text-to-Speech Systeme für den Asterisk sind mittlerweile in recht guter Qualität verfügbar. Als die am weitesten verbreiteten Produkte sind hier Festival, MBROLA und Cepstral zu nennen (siehe Abschnitt 3, „Text2Speech (TTS)“).