Hallo, ich muss für einen DSP ein Vibrato / Tonhöhenänderung eines Signals in C erstellen.. hab nur leider im Moment gar keinen Plan wie und wo ich anfange, stehe voll auf m Schlauch.. hab irgendetwas von Modulation mit nem LFO gelesen, aber wie ich das zsm bringe, will mir einfach nicht in den Kopf. Wäre froh wenn mir jemand n bisl auf die Sprünge helfen könnte, danke!
Modulation mit einem LFO: Du erzeugst einen niederfrequenten Sinus und multiplizierst den Datenstrom mit diesem Signal. Normal mit daten * 1 Jetzt mit daten * (1 + amplitude_LFO * sin(omega*t))
> Du erzeugst einen niederfrequenten Sinus und multiplizierst den > Datenstrom mit diesem Signal. Das nennt sich Tremolo und ist kein Vibrato. Vibrato: Eingangssignal aeqidistant in einen Speicher schreiben. Den Auslesepunkt aus diesem Speicher mit einem LFO modulieren. Fertig ist das Vibrato.
"..m it einem LFO modulieren." .. also jeden Wert aus dem Daten Array mit dem LFO (z.B. Âsin(2PI*10Hz*t)?) multiplizieren? oder was genau meint modulieren?
Danke, aber wo kommt die Verzögerung her bzw wofür wird die benötigt? oder ist die dann schon für den Chorus Effekt zu gebrauchen?
Das ist aber ein wenig arg grob, weil man dann das Vibrato mit der Samplefrequenz faltet. Das reicht normalerweise nicht aus. Man muss das Signal entsprechend über-abtasten und interpolieren / filtern. Dann wie beschrieben mit einem Adresszähler schwingend auslesen. Wenn es um kleine Änderungen geht, kann man das auf Hardwareebene machen, in dem man den Takt des Wandlers verzieht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.