BOSS-Server
Das Bonn Open Synthesis System wurde realisiert als Client-Server-Applikation. Der BOSS-Server läuft unter dem LINUX Betriebssystem und ist in C++ implementiert.
Der BOSS-Server bildet den Kern des Synthesesystems. Durch die modulare Struktur kann das System jederzeit durch Austausche von Modulen verbessert und um neue Funktionen erweitert werden. Jedes Modul hat ein eindeutig definiertes Interface, das über das XML Document Object Model umgesetzt wird. Somit sind zwei wichtige Kriterien des Software-Designs erfüllt:
- große Teile der Software können in anderen Projekten wiederverwertet werden
- einzelne Funktionen können ausgetauscht und getrennt getested werden, ohne das restliche System zu beeinflussen
Architektur des Servers
Modularer Aufbau
Jedes Server-Modul ist nach dem gleichen Muster strukturiert: die Eingabe eines Moduls besteht aus einem XML-Datenstrom mit dem zu synthetisierenden Satz. Das Modul wertet die im XML-Dokument enthaltenen Informationen aus und fügt seine eigene Ausgabe (z.B. die Transkription zu einer gegebenen Orthographie) zur Verwendung durch spätere Module in das Dokument ein. Durch diese Vorgehensweise ist sichergestellt, dass alle verfügbaren Informationen zur Generierung des synthetischen Signals zur Verfügung stehen.
Die Auswahl der Spracheinheiten erfolgt in BOSS nach dem auch in Verbmobil eingesetzten Verfahren: wichtigste Einheit der Synthese ist das Wort. Wird ein Wort nicht im Inventar gefunden, oder verhindern die Attribute des Datensatzes einen Einsatz an der gewünschten Stelle, dann wird auf die nächst-kleinere Einheit, die Silbe, zurückgegriffen. Schlägt auch hier die Suche fehl, wird erneut die Einheitengröße verringert, bis schließlich eine passende Einheit gefunden wurde. Zu Anfang der Element-Auswahl wird eine Vorauswahl über alle Einheitengrößen ermittelt. Für die abschließende Auswahl der verwendeten Elemente wird aus dieser Vorauswahl unter Zuhilfenahme von Kostenfunktionen eine optimale Zusammensetzung der synthetischen Äußerung berechnet.

