11.1.2. Framework
Der Aufbau des Systems ist modular, um möglichst weitgehende Flexibilität
und Wiederverwendbarkeit zu gewährleisten. Die verschiedenen Elemente, wie
die Komponenten der graphischen Oberfläche, der Auswahlalgorithmus, die
MIDI-Anbindung und das Neuro-Fuzzy-Modul sind einzeln verwendbar und
austauschbar.
Es wurden verschiedene Java-Packages entwickelt, die der Repräsentation und
Verarbeitung der Daten dienen, der Erzeugung von Beispielmengen, der Steuerung des
Neuro-Fuzzy Moduls und der Benutzeroberfläche. Die graphische Benutzerschnittstelle
ist nach dem Model-View-Controller Model realisiert, d.h. es gibt jeweils ein Objekt für
die Daten, deren Darstellung und deren Bearbeitung, wobei die beiden letzteren teilweise
in einem Objekt zusammengefaßt werden. Das Neuro-Fuzzy-Modul ist aufgeteilt in
verschiedene Module für den Auswahlalgorithmus und die JNI-Kommunikation, das
Neuro-Fuzzy-System selbst sowie die Merkmalsberechnung. Insgesamt enthält das
System 175 Java-Klassen und Schnittstellen mit über 60.000 Zeilen Kode und 18
C-Module mit über 11.000 Zeilen Kode. Der C-Kode wurde zu einem großen Teil von
Klaus Dalinghaus geschrieben, dem an dieser Stelle für seine Mitarbeit gedankt
sei.
11.1.3. Neuro-Fuzzy-Modul
Das Neuro-Fuzzy-Modul ist als dynamisch ladbare Bibliothek (Dynamic-Link Library,
DLL) implementiert. In diesem Modul sind die Algorithmen für Interpretationsauswahl