-
Moderator
Sprachsynthese ist ATM eins der heißen Forschungsthemen in der Informatik und Unternehmen geben Millionen aus, um eine halbwegs realistische Synthese hinzukriegen. Die Mathoden, die verwendet werden reichen von einer simplen Aneinanderreichung vorgegebener Silben bis hin zu aufwendigen physikalischen Simulationen, die den Luftstrom im Kehlkopf- und Mundbereich nachbilden sollen.
Wenn du etwas derartiges schreiben möchtest hast du einige Möglichkeiten:
1.) Du baust dir vor Grund auf etwas neues. Am Besten liest du dich in entsprechende Fachliteratur (zu Themen der Informatik und Linguistik, für gewöhnlich auf englisch) ein und versuchst, die dort beschriebenen Algorithmen zu implementieren.
2.) Du lädst dir ein fertiges Open Source-Programm wie Festival runter, liest dich in den Quelltext und die entsprechende Fachliteratur ein und versuchtst, darauf etwas neues aufzubauen.
3.) Du verschaffst dir einen Überblick über die verwendeten Methoden und implementierst die einfachste. Das gibt zwar ein suboptimales Ergebnis, erspart es dir aber, dich intensiv mit gewissen Themenkomplexen auseinandersetzen zu müssen.
Letztendlich läuft es immer darauf hinaus, daß du einen Parser schreibst, der die verwendeten Silben erkennt oder sogar noch tiefer geht und einzelne Phoneme identifiziert (die dann natürlich miteinander in Bezug gesetzt werden müssen) und daran eine Engine ankoppelst, die irgendwie aus dem Strom identifizierter Silben/Phoneme (nennen wir sie Token, denn genau das sind sie jetzt) einen zusammenhängenden Tonstream erzeugt - im einfachsten Fall, indem du ale möglichen Silben aufnimmst und einfach die Aufnahmen entsprechend den im Input erkannten Token hintereinanderschneidest.
BTW, was willst du noch groß tiefer gehen als in der von dir gezeigten Funktion? Du könntest allenfalls mit einer Funktion den Parser einen Strom von Token zurückgeben lassen, den du dann an eine andere Funktion fütterst, aber dieser Tokenstrom ist für sich gesehen nur dazu zu gebrauchen, an diese eine Funktion weitergegeben zu werden...
Was die Empfehlung angeht: Ich weiß nicht, ob Festival mit Java läuft und wie es allgemein mit dem Einbinden aussieht. Es gibt noch eine kleinere Version namens flite. Du könntest dir auch mal MBROLA ansehen.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln