Primary Ramp in Core

Fragen und Antworten, Beispiele

Moderator: herw

Re: Primary Ramp in Core

Beitragvon Rampensau » Do 26. Nov 2015, 19:08

herw hat geschrieben:Das Aliasing zu verhindern ist eine etwas ausgeklügelte Sache, die man nicht so ohne Weiteres versteht. Ich habe sie auch nur übernommen und habe in einem schlauen Buch darüber gelesen. Der „Trick” ist der, dass man die Wellenform wohl quadriert und dadurch die „schädlichen” Oberfrequenzen unterdrückt und dann wieder zurücktransformiert.
Das müsste ich aber selbst noch nachlesen. In R6 sind die Audio-Oszillatoren ganz anders gestaltet und da müsste ich wohl sehr lange darüber nachdenken, bis ich da ein bisschen verstehe. Ist für mich auch ein Buch mit sieben Siegeln.
Aber darum geht es ja nicht, sondern du möchtest ja einen Einstieg in Core gewinnen.


Du sprichst vom DPW-Algorithmus. Einfaches Quadrieren geht leider nur mit einer Sägezahnwellenform. Hatten wir auch mal hier irgendwo. War nur etwas laienhaft aufgemacht:
viewtopic.php?f=16&t=936#p7247

Zum nachbauen:
dpw.png
dpw.png (17.85 KiB) 2513-mal betrachtet


Für fortgeschrittene Mathematiker:
Genauer wird durch eine Quadierung des Sägezahns eine Integration des Sägezahns gemimt. Das kann man nur machen, weil das Integral des Sägezahns so ähnlich aussieht, wie das Integral. Eine diskrete Integration würde das Aliasing aber "mit integrieren". Daher quadriert man den Sägezahn, also erzeugt die Funktion x^2. Das Spektrum dieser stückweisen Parabel fällt nun um 12dB/Oktave mehr ab, als das Spektrum des Sägezahn.

Das ist eine Eigenschaft der Integration! Die Integration im Zeitbereich entspricht einer Dämpfung um 12dB/okt im Frequenzbereich.

Die modellhafte Abtastung der Parabel enthält demnach entsprechend weniger Aliasing. Durch Differenzierung gelangt man zur ursprünglichen Wellenform, dem Sägezahn.

Der DPW-Algorithmus stellt nun die Aufgabe, eine geschlossene Formel für das Integral der Wellenform zu suchen, was man im kontinuierlichen Zeitbereich machen kann, und diese Formel kann man dann in core zusammensetzen und einfach differenzieren. Ich teile bei Interesse meine Bachelorarbeit, die das u.a. zum Thema macht, gerne.

Das tolle an Core ist, dass man diese DSP-Algorithmen, 1 zu 1 umsetzen kann. Daher ist dieser DPW-Algorithmus eine super Übung, um in Core einzusteigen. Man kommt von ausgeklügerter Mathematik auf einen Algorithmus auf ein paar Formeln auf eine Corestruktur.
Benutzeravatar
Rampensau
meister
 
Beiträge: 192
Registriert: So 6. Dez 2009, 20:32

Re: Primary Ramp in Core

Beitragvon herw » Fr 27. Nov 2015, 05:18

Rampensau hat geschrieben:[...]
Der DPW-Algorithmus stellt nun die Aufgabe, eine geschlossene Formel für das Integral der Wellenform zu suchen, was man im kontinuierlichen Zeitbereich machen kann, und diese Formel kann man dann in core zusammensetzen und einfach differenzieren. Ich teile bei Interesse meine Bachelorarbeit, die das u.a. zum Thema macht, gerne.
ja bitte :)

Das tolle an Core ist, dass man diese DSP-Algorithmen, 1 zu 1 umsetzen kann. Daher ist dieser DPW-Algorithmus eine super Übung, um in Core einzusteigen. Man kommt von ausgeklügerter Mathematik auf einen Algorithmus auf ein paar Formeln auf eine Corestruktur.

::kaffee::
Benutzeravatar
herw
moderator
 
Beiträge: 2978
Registriert: Mo 13. Mär 2006, 18:28
Wohnort: Dortmund

Re: Primary Ramp in Core

Beitragvon MvKeinen » Fr 27. Nov 2015, 11:25

Rampensau hat geschrieben:.... Ich teile bei Interesse meine Bachelorarbeit, die das u.a. zum Thema macht, gerne.



würde mich auch brennend interessieren!
Reaktor Befürworter
MvKeinen
meister
 
Beiträge: 168
Registriert: Do 10. Aug 2006, 14:06
Wohnort: Berlin

Re: Primary Ramp in Core

Beitragvon Rampensau » Fr 27. Nov 2015, 16:54

Ich habe etwas weit ausgeholt viewtopic.php?f=19&t=1072
Benutzeravatar
Rampensau
meister
 
Beiträge: 192
Registriert: So 6. Dez 2009, 20:32

Re: Primary Ramp in Core

Beitragvon pavel » Di 1. Dez 2015, 19:19

Uff danke für die vielen Infos! Muss ich mir in einer ruhigen Minute (..in ruhigen Stunden..) mal zu Gemüte führen. Aber ich vermute, dass übersteigt meine Fähigkeiten zunächst mal..
Habe versucht die Stuktur in Reaktor 5 in Core zu erstellen und bin an dem z^-1 macro im diff macro hängen geblieben..
Inwiefern unterscheidet sich dieser vom normalen z^-1 macro?
Den Router beim Gate Signal habe ich mal als "wenn größer null - dann lasse durch"-macro interpretiert..
-------

Ich habe meine Corecell immer wieder mal geöffnet, bin aber bisher auf keine Lösung gekommen, die für meinen Anwendungsfall passt.
soll am Ende irgendwas zwischen wavetable oscillator und pulsar train sein.. Kenne mich nicht so genau aus, aber vermute das das Prinzip einem Vosim-Osc nahe kommt..
sprich ich kann die formant frequenz des Tables getrennt von der eigtl. Frequenz einstellen.. und vieles mehr.. pulsargenerator von curtis roads ist das stichwort..

sprich: Geigerzähler -> triggert Rampe -> liest AudioTable von 0-Sample Ende aus..
Wenn der Geigerzähler sich wie ein Impuls-Oszillator verhält, soll das Triggern der Rampe dem High-Res-Modus der Primary Ramp entsprechen
(lese ich den Audio Table mit eben dieser aus, entsteht deutlich weniger Aliasing).. je größer der Zufall, desto mehr Jitter beim Triggern der Rampen..

werde evtl. mal ein testensemble hochladen, dass sich zunächst mal auf das getriggerte aliasing "freie" auslesen konzentriert..
vielleicht kann mir ja jemand weiterhelfen..
Reaktor 5.9.3 R1344
Benutzeravatar
pavel
synthesist
 
Beiträge: 51
Registriert: Mo 16. Dez 2013, 15:49

Re: Primary Ramp in Core

Beitragvon Rampensau » Di 1. Dez 2015, 22:34

ich habe mich ja nur gemeldet, weil herw den DPW Algorithmus angesprochen hat. So schwer ist das dar gar nicht. Man sollte die Integrale lösen (lassen) können. Und die Funktionen für die Wellenformen aufstellen. Ich mach noch mal einen Beitrag dazu hier, glaube ich...

Das z^-1 macro ist das normale z^-1 (ffd) macro aus der core library. Sieht in dem Bild nur doof aus..
Benutzeravatar
Rampensau
meister
 
Beiträge: 192
Registriert: So 6. Dez 2009, 20:32

Vorherige

Zurück zu MODULE UND MAKROS (core)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron