SR-redux in core

Diskussionsforum für Fragen zur Struktur und Implementation in REAKTOR, auch DSP, Literatur und begleitende Software

Moderator: herw

Antworten
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

SR-redux in core

Beitrag von helmsklamm »

die SR-reduktion is ja n beliebter lofi-effekt. ich denk mir grad, das man den besonders sparsam in core programmieren könnte: nicht als emulation sondern als tatsächliche reduktion über vordefinierte SR-list-einträge.

das müsste doch nahezu null cpu kosten, denn entweder es wird "trocken" (also mir normaler SR) simpel durchgeschleift oder aber eben mit veringerter SR ebenso durchgeschleift. im letzteren falle müsste es eigentlich sogar weniger cpu als ursprünglich kosten, oder? (nur beim umschalten könnt es wohl zu hoher rechenbelastung führen, oder überseh ich irgendwas grundlegendes?)

meine frage: gibt es ein "modul" in core, das zwingend ne SR braucht und ansonsten nix tut, ausser durchschleifen? oder welches modul kommt dem am nächsten?
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: SR-redux in core

Beitrag von herw »

helmsklamm hat geschrieben:die SR-reduktion is ja n beliebter lofi-effekt. ich denk mir grad, das man den besonders sparsam in core programmieren könnte: nicht als emulation sondern als tatsächliche reduktion über vordefinierte SR-list-einträge.

das müsste doch nahezu null cpu kosten, denn entweder es wird "trocken" (also mir normaler SR) simpel durchgeschleift oder aber eben mit veringerter SR ebenso durchgeschleift. im letzteren falle müsste es eigentlich sogar weniger cpu als ursprünglich kosten, oder? (nur beim umschalten könnt es wohl zu hoher rechenbelastung führen, oder überseh ich irgendwas grundlegendes?)

meine frage: gibt es ein "modul" in core, das zwingend ne SR braucht und ansonsten nix tut, ausser durchschleifen? oder welches modul kommt dem am nächsten?
zunächst einmal kannst Du alles mögliche durch jede andere SampleRate oder auch durch Events takten. D.h. es steht nichts im Wege, von außen einen Taktgenerator an Core anzuschließen und dort eine niedrigere oder auch höhere Rate anzuschließen und mit Latches zu takten.
Das Problem ist nur, wie kommt die niedriger getaktete Information wieder aus Core heraus?
Core hat nämlich Event-Macros und Audiomakros.
Wenn Du also zum Beispiel ein Audiosignal in einem Event-Makro takten möchtest, dann müsstest du dieses sowieso in Event-signale heruntertakten. Naja dann kannst Du gleich das AtoEPerm-Modul nehmen. Aber Du möchtest ja Audiosignale bekommen!
D.h. du müsstest AudioCore-Makros nehmen. Diese haben aber nur Audioausgänge, also mit samplerate getaktete Ausgänge.
Abhilfe schafft hier der Eventausgang von Krümelmonster, der an einem Audioausgang echte Events ausgibt und nur diese. Das würde aber wieder ein Hin und Her zu Audiosignalen geben; lange Rede kurzer Sinn, das muss man wahrscheinlich in jedem konkreten Fall direkt ausprobieren. Allgemeine Aussagen wird es nicht geben.

Dein Wunsch ist also ein Core-Modul mit variabler SampleRate? Ich meine, das würde schon irgendwo auf der Wunschliste stehen, sonst ergänze es doch! Ich reiche es weiter; ich weiß, dass NI Wunschlisten gerne sieht!

ciao herw
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Re: SR-redux in core

Beitrag von helmsklamm »

herw hat geschrieben: D.h. du müsstest AudioCore-Makros nehmen. Diese haben aber nur Audioausgänge, also mit samplerate getaktete Ausgänge.
sollen sie ja auch. ich meinte es ganz simpel: es geht vorne ein audiosignal rein und kommt hinten als audio mit nierdigerer SR wieder raus. das alles.

richtig, das "event" zur bestimmung der SR wird nach audio konvertiert, aber da es ne list ist und sich nur selten ändert, dürfte das kaum ins gewicht fallen - es geht also primär um den sudio-"fx" und die frage, wie man das am einfachsten hinkriegt.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: SR-redux in core

Beitrag von herw »

helmsklamm hat geschrieben:
herw hat geschrieben: D.h. du müsstest AudioCore-Makros nehmen. Diese haben aber nur Audioausgänge, also mit samplerate getaktete Ausgänge.
sollen sie ja auch. ich meinte es ganz simpel: es geht vorne ein audiosignal rein und kommt hinten als audio mit nierdigerer SR wieder raus. das alles.

richtig, das "event" zur bestimmung der SR wird nach audio konvertiert, aber da es ne list ist und sich nur selten ändert, dürfte das kaum ins gewicht fallen - es geht also primär um den sudio-"fx" und die frage, wie man das am einfachsten hinkriegt.
das Letzte hast du noch missverstanden: ich meine nicht die Information über die samplerate sondern schon das AudioSignal, das durch eine niedrigere Samplerate getaktet wird.
Alle Signale in Core sind letzlich events. Core macht da keinen Unterschied, nur die Schnittstellen zum primarylevel sortieren nach Events und Audiosignalen.
Wenn Du nur eine niedrigere "Auswertungsrate" der Audiosignale haben möchtest, so kannst Du einfach nur z.B. jeden 10. Sample berücksichtigen und den dann auswerten. Du müsstest dann innerhalb von Core 10 samples abwarten (akkumulieren) und dann verarbeiten und nach außen schicken. Während der neun anderen Samples wird keine Berechnung durchgeführt und nur der 1. sample-Wert ausgegeben. Da keine Berechnungen erfolgen, würde ich mir auch eine CPU-Last-Verringerung vorstellen.
Probier mal folgendes: Als Audiosignal z.B. ein Oszillator. Den schickst in eine AudioCore-Zelle und lässt durch die SampleRate getaktet bis zehn zählen (das wäre ein "Sägezahn-Oszillator mit der konstanten Frequenz SR/10); jeweils beim ersten sample speicherst Du einen Wert ab und gibst ihn aus; das lässt sich durch das Latch-Modul einfach erledigen. Das Zurücksetzen des Sägezahns gibt dann den Clock-Impuls aus.
Wenn Du den Sägezahnoszillator mit variabler "Amplitude" wählst, dann kannst Du sogar eine variable SampleRate-Abtastung erreichen.
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

ähm, was mir nich ganz klar ist: woher wird eigentlich die SR getaktet? ich brauch doch zumindest das SR.C - ansonsten könnt ich ja gleich ne entsprechende konstante ranklemmen - aber dann käme nur einmal ne taktung zustande und nicht permanent.

meinst du, ich soll mit dem SRC "akkumulieren" (der clock divider scheint mir da die bessre wahl) und das ergebniss als latch-trigger nutzen?
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:ähm, was mir nich ganz klar ist: woher wird eigentlich die SR getaktet? ich brauch doch zumindest das SR.C - ansonsten könnt ich ja gleich ne entsprechende konstante ranklemmen - aber dann käme nur einmal ne taktung zustande und nicht permanent.
SR.C steht als Clocksignal in AudioCore-Zellen zur Verfügung. Man kann aber auch von aussen innerhalb eines Sampleabschnitts einige Hunderte zusätzliche Events in eine CoreCell hineinschicken; das Problem ist nur wieder die Ausgangsschnittstelle zum primary Level. Die Ausgänge werden mit der SampleRate getaktet, also schneller geht's dann nicht. Aber du möchtest ja heruntertakten
meinst du, ich soll mit dem SRC "akkumulieren" (der clock divider scheint mir da die bessre wahl) und das ergebniss als latch-trigger nutzen?
ja wie du meinst, beides scheint mir möglich; je nach Bedarf oder Zielsetzung kannst Du die eine oder andere Methode benutzen.

ciao herw
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

@ helmsklamm

ausprobiert?

ciao herw
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

äh, nee, noch nich :oops:

ich häng grad sowieso schon auf zu vielen baustellen gleichzeitig - du kennst das ja vielleicht;)
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:äh, nee, noch nich :oops:

ich häng grad sowieso schon auf zu vielen baustellen gleichzeitig - du kennst das ja vielleicht;)
nee kenn ich nicht; ich mache in Reaktor-Sachen nur ganz wenig gleichzeitig - eigentlich nur eine ;-) ; ich frag nur, sonst geht vielleicht eine wichtige Idee verloren.
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

jup - is vielleicht besser "konzentrierter" zu arbeiten. ich merk das auch selber: wenn ne sache halbfertig rumliegt und erstmal andres auf die agenda kommt, brauch ich auch jedesmal wieder n batzen zeit um mich zurückzudenken.
andrerseits kommt einem ja ziemlich oft, während man X sitzt ne idee für Y - und die will ja A nicht vergessen und B auch auf tauglichkeit abgeklopft werden - und wenn man wie ich teilweise immer noch nach try/error arbeitet und die sache gut komplex ist und wenn die uridee dann auch noch kinder kriegt... kann das schon ganz schön zeit kosten.
i weeß och niet - vielleicht sollte man alles auf ne to do liste schreiben und der reihe nach sauber abrackern. aber irgendwie klebt sowas dann völlig im hinterkopf und konzentrieren is dann auch nich mehr. hm, i weeß einfach niet.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:jup - is vielleicht besser "konzentrierter" zu arbeiten. ich merk das auch selber: wenn ne sache halbfertig rumliegt und erstmal andres auf die agenda kommt, brauch ich auch jedesmal wieder n batzen zeit um mich zurückzudenken.
andrerseits kommt einem ja ziemlich oft, während man X sitzt ne idee für Y - und die will ja A nicht vergessen und B auch auf tauglichkeit abgeklopft werden - und wenn man wie ich teilweise immer noch nach try/error arbeitet und die sache gut komplex ist und wenn die uridee dann auch noch kinder kriegt... kann das schon ganz schön zeit kosten.
i weeß och niet - vielleicht sollte man alles auf ne to do liste schreiben und der reihe nach sauber abrackern. aber irgendwie klebt sowas dann völlig im hinterkopf und konzentrieren is dann auch nich mehr. hm, i weeß einfach niet.
eine to do - Liste ist nicht jedermanns Sache. Manchmal braucht man auch parallel ein oder zwei weitere Projekt, um den Kopf frei zu kriegen.
Antworten