Hab mitm Synthesizer gespielt :-(
-
Also ich hab angestachelt durch nen Thread und weil mir diese Speech API's, etc zu groß sind mal an nem Sprachynthesizer gebastelt.
Naja, der ist nicht perfekt und klingt sehr künstlich, aber es funktioniert.. teilweise..
Das Ganze bricht selbsttätig nach ein paar Zeichen ab. dachte zuerst, dass dies mit meinem Delay zu tun hat, nachdem ich das Ganze aber so umgestellt hatte, dass alles erst in einen buffer gerendert wird, kams genauso..Also, warum bricht der Müll mir ab?
Man braucht zum Kompilieren die Standard SDL. Sollte eigentlich auch unter Linux laufen das Ganze..http://www.emco-systems.de/trash/fsynth.zip
Soo, viel Spaß beim Basteln und HILFEE!!
cYa
DjR
-
Was genau bricht denn da ab? Bei mir sagt es "Hallo Welt", oder tritt der Fehler nur bei längeren Strings auf? Zu dem Quelltext an sich kann ich nicht viel sagen, da ich mich weder mit SDL noch mit Sprachvollsynthese auskenne. Das einzige, was mir aufgefallen ist, ist die fehlende Nullterminierung bei der Allokation deines Stringspeichers.
text = new char (strlen (string)); strcpy (text, string);
Machst du das nur aus Spaß oder willst du es wirklich als Sprachausgabe in einem Programm nutzen? Die Sprachengines, die heute zur Anwendung kommen und nahezu realistisch klingen, arbeiten ja nicht mit Vollsynthese sondern mit monophonen oder diphonen Voice-Samples und ich habe noch nie eine brauchbare Vollsynthese-Engine gesehen. Diese monophonen oder diphonen Sprachengines haben aber natürlich den Nachteil, dass sie eine entsprechend große Sampledatenbank benötigen. Zu empfehlen wäre da MBROLA, falls du das noch nicht kennst - http://tcts.fpms.ac.be/synthesis/mbrola/
-
hmm.. Dasi st auch schon des Pudels Wohnort oder wie das heeßt
nen new char () ist ja blödsinnig, sofern man keine Klasse char hat die nen Konstruktor besitzt. Ansonsten noch 1 Zeichen dazuaddiert und es funzt.ich schieb nachher mal die reparierte Version hoch.
Ich mach das eigentlich mehr oder weniger aus Spaß an der Freude. Für ne vernünftige Sprachausgabe bräuchte ich 3 formanten und nen besseren Rauschgenerator..