Formantsynthese



  • Ich bin mir sicher, dass ich sowas schonmal gefragt hab.. aaaber die Suchtfunktion is ja abgeschalten..

    wie funktioniert die Formantsynthese im Einzelnen ? (bitte wenn schon Formeln, dann im C-Style - kann nix anderes mehr 😞 )

    Ich weiß, dass ich ein Rauschen erzeugen muss (aba wie?) und das dann über Filter mit bestimmten Frequenzen und Bandbreiten jagen muss (selbe Frage)...

    Will den Scherz endlich mal verstehen..

    also HÜÜÜLFFEEE 😉

    thx && cYa
    DjR



  • Also weißes rauschen zu erzeugen sollte wohl kein problem sein, einfach für jedes sample rand() aufrufen und an den gewünschten wertebereich anpassen (z.b. -1.0 bis +1.0 bei float) und in das sample eintragen... was die filter angeht, schau dir das mal an:

    http://www.musicdsp.org/archive.php?classid=0#110

    habs auch schon probiert, klingt bei rauschen nicht schlecht, aber trotzdem eher noch wie flüstern... ansonsten was obertonreiches (z.b. sawtooth-wave) durchjagen, klingt auch gut 🙂



  • hmm...

    schonmal nicht übel. Was ich allerdings bräuchte, wäre eine möglichst ganzzahlige Lösung des Ganzen (das Endergebnis braucht übrigens nur 8 Bit)



  • Ich weiß, dass ich ein Rauschen erzeugen muss (aba wie?)

    Hat todo ja gesagt. Rosa Rauschen müsstest du durch filtern erzeugen.

    und das dann über Filter mit bestimmten Frequenzen und Bandbreiten jagen muss (selbe Frage)...

    http://www.greenoak.com/crystal/vowels.html

    Da gehts zwar um einen Speziellen Synth und wie man ihm Vokalsounds entlockt, aber da ist eine schöne Frequenz und Amplitudentabelle, die dir helfen kann.



  • und wie sag ich's meinem PC?
    Quasi brauch ich ne Formel für den Bandpass...

    Das auf musicdsp is nich besonders gut erklärt, dafür aber mit floats, die ich nicht brauchen kann (8 bit, etc..)



  • *Nachdenk* Keine Ahnung. Bleiben die Filter stabiel, wenn man es mit 8Bit Integern versucht? Keine Ahnung, ich hab so das gefühl, das nicht. *vertig nachgdacht*

    Kannst es ja mal mir FIR-Filtern versuchen.

    Das machste so: Du malst deinen Frequenzgang, darauf wendest du dann ein iFFT an. Das ist dann eigentlich schon dein Filter. Dein siganl mit dem, was du gerade berechnet hast gefaltet und fertig.

    Du krigst da jede menge von Werten, die dann deine Filterkoeffizienten sind (Anzahl je nach Auflösung deiner FFT, je höher, desto besser weden deine Filter).

    Du nimmst dann den aktuellen Eingangswert mal dem ersten Koeffizienten plus den zweiten Koeffizienten mal dem letzen Eingangswert plus den dritten Koeffizienten mal dem vorletzten Eingangswert, ...


Anmelden zum Antworten