Hallo, Die AUfgabe besteht darin den Chorus Effekt für einen DSP in C zu programmieren.. Könnte mir bitte jemand den Effekt signaltheoretisch versuchen zu veranschaulichen, da es dort noch etwas hängt.. ist es richtig dass das originale Signal verdoppelt werden muss und dieses mit einer kleinen Verzögerung über das Hauptsignal gelegt werden muss!? War es das schon.. was hat es mit dem LFO auf sich? .. dieser soll ja auch irgendwie die Verzögerung beeinflussen bzw zeitabhängig (sinusförmig?) ändern oder so!? Würde mich sehr über hilfreiche Antworten freuen! Danke
:
Verschoben durch User
Ist hier doch wohl hinreichend gut erklärt: https://de.wikipedia.org/wiki/Chorus_%28Tontechnik%29 Vielleicht solltest Du Deine Hausaufgaben mal mit Deinen Kommilitonen besprechen...
:
Bearbeitet durch User
Moderne Geräte modulieren nicht nur die Tonhöhe, sondern auch Zeitpunkt, des Einsatzes und die Klangfarbe, also die Formanten. Wenn man es nur mit einer Verzögerung macht, sollte man das Band auf oberhalb 300 Hz beschränken.
ISBN 9780470979679 DAFX: Digital Audio Effects da werden solche Verfahren ausführlich beschrieben. Ich hatte das mal aus der Hochschulbibliothek ausgeliehen. bei http://www.books.google.de kann man drin blättern.
:
Bearbeitet durch User
Christoph K. schrieb: > ISBN 9780470979679 > DAFX: Digital Audio Effects > da werden solche Verfahren ausführlich beschrieben. Ich hatte das mal > aus der Hochschulbibliothek ausgeliehen. Klingt interessant. Kostet leider über 100 Euro, was ich schon etwas extrem finde.
Henry P. schrieb: > findet man sonst auch in den schattigen Ecken des Internets... Normalerweise bin ich nicht für sowas. Ich kaufe gerne Bücher, zudem noch viel lieber im Original als gebraucht. In diesem Fall kann ich es aber durchaus verstehen, wenn sich jemand "selbst einen Rabatt gewährt". Hier wäre weder dem Autor noch dem Verlag ein Zacken aus der Krone gefallen, wenn das Buch die Hälfte kosten würde, also ca. 50-60 Euro.
Vielen Dank für den Hinweis mit dem Buch! Da schaue ich doch gleich morgen mal ob ich das bei uns auch finde!
Eine primitive Offline-Version kann man schon ganz ohne DSP-Kenntnisse aus dem Wikipediartikel oder deiner Frage zusammenpfuschen: Quelle sampleweise in ein Array lesen. Das Array von vorne durchgehen, das aktuelle und ein um ~15ms + tx älteres Sample (man kann mit der Samplerate auf den Arrayindex vor ~15ms+tx schließen) zusammenmischen. tx so variieren, dass ein Sinus rauskommt mit 0.1--10Hz und ~1ms Amplitude. Das klingt wie im Anhang (den miesen Gitarrensound entschuldigen) und ist mit sehr wenigen Zeilen Code erledigt. Einigermaßen furchtbar, aber grob chorusartig.
Tom schrieb: > Einigermaßen furchtbar, aber grob chorusartig. Furchtbar nicht, aber auch nicht Chorus. Die Stimmen sind nur verändert, aber es sind nicht 2 oder mehr.
Nun habe ich noch eine Woche Zeit und blicke das ganze immer noch nicht ganz.. Das Hauptsignal wird verdoppelt und dann zeitversetzt um 15 ms über dieses wieder abgespielt.. die Verzögerung variiert mit der Zeit.. in welchem Bereich schwankt diese Verzögerung nun, angenommen ich nehme die 15 ms als Mittelwert?? zwischen 10 und 20 ms oder ist das zu gering? Bereich von 0.1 - 10 Hz wäre ja eine Periodendauer von 10 - 1 sek!? Bin froh über jeden hilfreichen Tipp und Ratschlag! bin leicht am verzweifeln... Danke im Vorraus
Chris G. schrieb: > in welchem Bereich schwankt diese Verzögerung nun, angenommen ich nehme > die 15 ms als Mittelwert?? zwischen 10 und 20 ms oder ist das zu > gering? Ich nehme an, dass er +/- 1ms gemeint hat, zumindest interpretiere ich das so:~1ms Amplitude.
Was genau bedeutet "das ein Sinus rauskommt mit 0.1--10Hz"? Hat ein SInus mit der Form Sin(wt) nicht immer nur eine Frequenz.. wie kann die variieren? Sorry, stehe wohl immer noch etwas auf m Schlauch..
Chris G. schrieb: > Was genau bedeutet "das ein Sinus rauskommt mit 0.1--10Hz"? > Hat ein SInus mit der Form Sin(wt) nicht immer nur eine Frequenz.. wie > kann die variieren? > Sorry, stehe wohl immer noch etwas auf m Schlauch.. Ist doch im Wikipedia-Artikel erklärt: Modulation Der Kern des Effekts liegt darin, dass das verzögerte Signal in periodischen Abständen beschleunigt und wieder abgebremst wird. Dieser Vorgang heißt Modulation. Während der Beschleunigung ist die Tonhöhe höher als beim Original, während des Abbremsens niedriger. So entsteht die gewollte leichte Verstimmung zwischen verzögertem und originalem Signal.
Gemeint ist die Schiebegeschwindigkeit des Delays um die Samplefrequenz herum ein kleines bischen zu modulieren. Bei einem konstanten Sinus am Eingang bewirkt dies am Ausgang einen in der Frequenz schwankenden Sinus, zusammen mit der durch die Länge der Delays verursachten Verzögerung bewirkt dies bei Mischung mit dem Original-Signal den Chorus-Effekt. Bei typischen Chrous-Effekten kann man die Modulationsfrequenz (Speed), ihre Amplitude (Width/Depth), die Länge des Delays (Delay) und das Mischungsverhältnis zwischen Original- und Effektanteil (Mix) einstellen.
:
Bearbeitet durch User
Eingang: I Ausgang: O Amplitude: A 1 ms (z.B.) Anfangswert, Rest nach Gehör Delay: D 15 ms (z.B.) Mix: M 0.2 (z.B.) sinnvoll von 0 (kein Effekt) bis 1 (Vibrato) Modulationsfrequenz: F 1 Hz (z.B.) sinnvoll von 0.1..10Hz, nach Gehör
Damit sollte man irgendwas hören.
Okay na vielen Dank für die schöne GLeichung und die Erklärungen! Vom Grund her macht meine Benutzte das gleiche.. der Prozessor den wir nutzen arbeitet mit 8000 Samples Abtastung die Sekunde, also müsste ich nun die entsprechende Hertzzahl auf 8000 beziehen, d.h. 10 Hz wären 800, 2Hz->4000, Samples für F?? Ist das so korrekt? Und die Amplitude dann für 1ms bei 8 Samples!?
Nein, du modulierst die Samplefrequenz mit einem Sinus- oder Dreiecksignal. Die Amplitude des Modulationssignals bestimmt die höchste und niedrigste Samplefrequenz. Die Abweichung von der Mittenfrequenz beträgt maximal wenige Prozent sonst wird es unschön (1 Ganzton darüber bzw darunter sollte reichen). Die Frequenz des Modulationssignals bestimmt wie schnell die Samplefrequenz moduliert wird. Diese Frequenz liegt zwischen 0 und 10Hz und sollte möglichst feine Einstellungen erlauben.
In der Vorlesung haben wir eine Formel für nen SInus bekommen sin(2Pi*f*n*(1/fs)) wonach mit den 10 Hz und 8000 Samples eingesetzt "/800" rauskäme.. beschreibt dass dann nicht die "Länge" des Sinus!?
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.