Seite 1 von 2
Attraktoren in Reaktor
Verfasst: 17. Dezember 2009, 13:34
von Seth743
Hallo,
ich bin neu hier und habe bei meinem "Dauerprojekt" ein paar "kleinere" Probleme. Zunächst zu meinem Projekt: Da ich mich für Mathematik interessiere und generell eher experimentierfreudig bin habe ich vor ca. 5 Jahren begonnen mich in die Theorie der nichtlinearen dynamischen Systeme und Numerik in soweit einzulesen, als es für eine erfolgreiche Arbeit in Reaktor erforderlich ist und habe ca. 100 solcher Systeme gesammelt und aufgebaut. Inzwischen bin ich jedoch an einem Stadium angekommen an dem ich ein Brett vor dem Kopf habe.
Problem Nr. 1:
Die benötigte Treiberfrequenz ist sehr hoch und wird derzeit mittels Clock Osc generiert. Dabei ist die Frequenz auch von der Samplerate abhängig (Logisch), jedoch möchte ich eine genaue Einstellung der Frequenz bis zu eben dieser Samplerate und nicht weiter. Sozusagen ein Schalter der sich selbst abstellt. Anzeige durch das exemplarisch vorhandene LCD-Display, für jede Stelle einen eigenen Increase/Decrease-Knopf (Jeweils über/unter der entsprechenden stelle).
Ich denke das bekomm ich noch hin, bis auf die Abschaltung bzw. Begrenzung der Regler und eine Übergabe an die nächst höhere Stelle.
Problem Nr. 2:
Ein aufgeräumtes und fehlerfreies Routing vor allem in der Core Cell.
Problem Nr. 3:
Jetzt wird's Mathematisch (genauer Nummerisch):
Bisher besteht nur die Möglichkeit der Lösung mittels Euler-Verfahren (Das simpelste aller Lösungsverfahren). Jedoch würde ich auch gerne ein Runge-Kutta-Verfahren sowie wenn überhaupt möglich ein Prädiktor-Korrektor-Verfahren implementieren. Für alle drei wäre auch eine Schrittweitensteuerung interessant. Mit letzterem verringert sich der Rechenaufwand und damit die CPU-Last beträchtlich (so zumindest meine Einschätzung). Gute Videos zu den Themen hat P.B. Sunil Kumar auf Youtube (dauer ca. 3h):
http://www.youtube.com/watch?v=CogfMjKUGc0
http://www.youtube.com/watch?v=osHgLsObORA
http://www.youtube.com/watch?v=w-n2fJwh ... re=channel
Und nun das letzte Problem:
Ich habe noch das ein oder andere System hier liegen, allerdings mit komplexen Variablen. Wenn sie irgendjemand in Re- und Im-Teil mumschreiben möchte wäre ich doch sehr dankbar.
Vielen Dank!
Auch wenn nur tipps zu den Problemen kommen!
Re: Attraktoren in Reaktor
Verfasst: 19. Dezember 2009, 12:41
von Seth743
Ein paar schritte in Richtung Ziel:
Den Taktgeber habe ich noch ein bisschen weiterentwickelt, was noch fehlt ist die Begrenzung.
Re: Attraktoren in Reaktor
Verfasst: 19. Dezember 2009, 19:07
von herw
Seth743 hat geschrieben:Ein paar schritte in Richtung Ziel:
Den Taktgeber habe ich noch ein bisschen weiterentwickelt, was noch fehlt ist die Begrenzung.
Hallo Seth743,
Ich habe dein erstes Ensemble heruntergeladen und muss mich zunächst einmal mit Deiner Fragestellung zurechtfinden.
Vielleicht ist es eine gute Idee, Deine verschiedenen Ideen (Probleme) getrennt zu erörtern.
Ich trau mich nicht bei einer der Fragen einzusteigen, weil ich nicht ganz klar erkennen kann, ob sie isoliert zu sehen sind oder in einem größeren Zusammenhang stehen.
ciao herw
PS: Wahrscheinlich werden hier über die Feiertage nur wenige antworten wollen (können), also hab etwas Geduld oder beschreib deine Fortschritte.
Re: Attraktoren in Reaktor
Verfasst: 19. Dezember 2009, 20:20
von Seth743
Hallo herw,
zuerst mal danke für den gruß.
Die drei fragen sind natürlich innerhalb eines Makros, also zuallererst nicht voneinander getrennt, aber ich habe jetzt langsam einmal damit angefangen die Nr 1 zu lösen. da fehlt nur noch eine ordentliche Begrenzung. ansonsten wäre es als getrenntes Makro schon fertig für die UL (danke für die Gausklammer).
Eigentlich wollte ich es nicht alles auf einmal angehen, da gerade Nummer 2 und 3 doch noch (obwohl ich mich schon "lange" mit Reaktor und Core beschäftige) Herausforderungen für mich bieten.
Also zum bisherigen Stand:
Begrenzen wir die Clock auf die eingestellte Samplerate. Im Anhang die einzelne Versuchsanordnung mit einigen Vorbereitungen für die Begrenzung (Speziell die Isolierung der einzelnen Stellen).
Grüße,
Franz
Re: Attraktoren in Reaktor
Verfasst: 20. Dezember 2009, 08:37
von herw
Seth743 hat geschrieben:Hallo herw,
zuerst mal danke für den gruß.
Die drei fragen sind natürlich innerhalb eines Makros, also zuallererst nicht voneinander getrennt, aber ich habe jetzt langsam einmal damit angefangen die Nr 1 zu lösen. da fehlt nur noch eine ordentliche Begrenzung. ansonsten wäre es als getrenntes Makro schon fertig für die UL (danke für die Gausklammer).
Eigentlich wollte ich es nicht alles auf einmal angehen, da gerade Nummer 2 und 3 doch noch (obwohl ich mich schon "lange" mit Reaktor und Core beschäftige) Herausforderungen für mich bieten.
Also zum bisherigen Stand:
Begrenzen wir die Clock auf die eingestellte Samplerate. Im Anhang die einzelne Versuchsanordnung mit einigen Vorbereitungen für die Begrenzung (Speziell die Isolierung der einzelnen Stellen).
Grüße,
Franz
Hallo Franz,
jaaaaa - langgezogen, da man ja als Leser einen eigenen REAKTOR-Programmierstil im Laufe der Jahre entwickelt und akzeptieren muss, dass viele Wege nach Rom führen.
Ich betrachte mal die gesamte Struktur und mir fällt auf, dass Du ein Gemisch aus Primary- und Core-Level angelegt hast.
Das ist in meinen Augen problematisch, da die Eventverarbeitung in beiden Ebenen sich sehr stark voneinander unterscheidet und man durch (unnötige) Wechsel von einer Ebene in die andere deren Eigenheiten beachten muss. Insbesondere finde ich die Trennung der einzelnen Stellen auf Primary-Ebene problematisch.
Mein Vorschlag wäre, die gesamte Bearbeitung der Stellen und deren Kontrolle (Summe, Überschreiten der Sampleratefrequenz, Stellenübertrag) in
eine CoreCell zu packen, so dass im Input nur die Stelleneinstellungen und im Output die Frequenzzahl stehen.
Da Du ja offensichtlich mit der Coreebene vertraut bist, ist dies keine große Umstellung.
Probleme sehe ich prinzipiell im Ansatz bei der Begrenzung der einzustellenden Frequenzzahl.
Vom Stellenbegrenzungsansatz bin ich nicht überzeugt, da Du jeder Stelle einen eigenen Speicher gibst und diesen auf die Primary-Ebene weitergibst und getrennt wieder einspeist.
Warum nicht
einen Speicher mit der aktuellen Frequenz, auf den jede Stelle zugreifen kann. Mit einer entsprechenden Logik greift bei Änderung einer Stelle (+ oder - Event) jede Stelle auf diesen gemeinsamen Speicher zu und entscheidet, ob eine Änderung stattfinden darf oder nicht (f>SRR ?). Die Berücksichtigung eines Übertrags kann gleichzeitig erfolgen.
Ich würde dies zunächst mit einer dreistelligen Anzeige ausarbeiten (eine Erweiterung ist ja dann leicht zu vollziehen).
Ich hoffe meine Tipps helfen weiter.
ciao herw
Re: Attraktoren in Reaktor
Verfasst: 20. Dezember 2009, 09:26
von herw
Ich möchte meinen Vorschlag noch etwas präzisieren:
Die CoreCell erhält diskrete Events von einem +/- Button. Dieses Event fragt zunächst den aktuellen (Frequenz-) Speicher ab (Read-Befehl), ob durch den neuen Event die Samplerate überschritten wird. Wenn ja, dann wird der neue Event einfach auf 0 verändert oder bewirkt keinen Schreibbefehl. Falls die gewünschte Frequenz nicht überschritten wird, so wird diese zum Speicher addiert. Dann wird der Speicher ausgelesen (Trigger durch den eingegangenen Event) und mit Hilfe der Modulo-Module zur Ausgabe auf dem Display vorbereitet. Einen Übertrag kann man sich hierbei also ersparen. Eventuell lohnt es sich, hier auch nur die Frequenz als ganze auszugeben und in einer neuen Corecell die entsprechenden Displayanzeigen zu steuern, falls Du dieses Modul mehrfach benutzen möchtest.
ciao herw
Re: Attraktoren in Reaktor
Verfasst: 20. Dezember 2009, 09:34
von Seth743
Guten Morgen,
danke für die Tips, genau das meinte ich u.a. damit die Verdratung aufzuräumen. Aber im Moment fliegen mir die Fragezeichen nur so um die Ohren. Aber das ist auch gut so, da hab ich was woran ich knabbern kann und ich lerne noch mehr über Reaktor (was später sicher auch nützlich ist).
DA hast du mir 'ne Aufgabe gegeben, die sich über die Feiertage hinziehen wird.
Danke.
Re: Attraktoren in Reaktor
Verfasst: 20. Dezember 2009, 09:52
von herw
Seth743 hat geschrieben:Guten Morgen,
danke für die Tips, genau das meinte ich u.a. damit die Verdratung aufzuräumen. Aber im Moment fliegen mir die Fragezeichen nur so um die Ohren. Aber das ist auch gut so, da hab ich was woran ich knabbern kann und ich lerne noch mehr über Reaktor (was später sicher auch nützlich ist).
DA hast du mir 'ne Aufgabe gegeben, die sich über die Feiertage hinziehen wird.
Danke.
Das sind genau diejenigen Fragestellungen, die wie eine Knobelaufgabe im Kopf herumgeistern. Das schöne ist, dass sie so klar formulierbar sind, dass man sie sogar teilweise im Kopf lösen kann.
Ich hoffe, dass ich in den nächsten Tagen auch mal zu meinen REAKTOR-Problemen Zeit finde.
In jedem Fall interessiert mich Deine Lösung.
Und dann gibt's da ja noch die Probleme 2 und 3
ciao herw
Re: Attraktoren in Reaktor
Verfasst: 20. Dezember 2009, 10:07
von Seth743
Ja, wobei ich gespannt auf die Lösung des 3. Prolems bin, weil ein Prädiktor-Korrektor ja eine Schleifenverarbeitung benötigt und das ist mir irgendwie noch nicht ganz so klar.jetzt ist erstmal alles in einer Cell gelandet und steuert einfach nur einen Sinusosc. Und ich habe schon eine Idee für eine mögliche Verwendung! Aber das wird dann sehr experimentell wie auch meine Musik:
http://www.myspace.com/BarackeX
Re: Attraktoren in Reaktor
Verfasst: 20. Dezember 2009, 10:41
von herw
Seth743 hat geschrieben:Ja, wobei ich gespannt auf die Lösung des 3. Prolbems bin, weil ein Prädiktor-Korrektor ja eine Schleifenverarbeitung benötigt und das ist mir irgendwie noch nicht ganz so klar.jetzt ist erstmal alles in einer Cell gelandet und steuert einfach nur einen Sinusosc. Und ich habe schon eine Idee für eine mögliche Verwendung! Aber das wird dann sehr experimentell wie auch meine Musik:
http://www.myspace.com/BarackeX
Problem 3 würde ich in einem Extra-Thread nochmals ausführlichererläutern, sonst wird es hier zu schlecht zum Nachlesen. Außerdem ist ein Einarbeiten in die Fachliteratur (Wikipedia ist hier nicht schlecht) etwas zeitaufwändig. Vielleicht kannst Du die Fragestellung auch auf das notwendigste (allgemeinere) reduzieren, also zum Beispiel: welcher Art soll die Schleifenverarbeitung sein (Zugriff auf zurückliegende Audiospeicherinhalte?). Dann ist der spezielle Algorithmus, den Du benutzen möchtest, von untergeordneter Bedeutung.
Aber zeig doch mal hier Deine Lösung zu Problem 1.
Re: Attraktoren in Reaktor
Verfasst: 20. Dezember 2009, 18:07
von Seth743
Tja, die Lösung kommt näher:
So, die Begrenzung nach oben ist gelöst,
das einzige, was jetzt auf einmal Probleme macht ist der Decrease. Der bleibt jetzt in einer schleife stecken (Beispiel: 100 - 99 - 100 - 99 - ...)
Argh, was ist jetzt schon wieder falsch!
So, ich habe das Problem eingegrenzt (siehe Bild). Verwende ich ein OR bzw. XOR modul (Ja, ich kenne den Unterschied) bleibt er in der schleife Hängen, mit dem AND modul jedoch erhöht er nichtmehr
von 9*10^n auf 1*10^(n+1). Also, kleine Frage: Warum, und wie löse ich den Konflikt?
Edit: Und noch ein kleiner Bug: Man stelle den Wert auf 190 und und erhöhe den Hunderter um eins. Dabei wird der voreingestellte maximale Wert um 56 Hz überschritten.
Aber hier der bisherige Stand:
Die Knöpfe regeln den höchsten zulässigen Wert der entsprechenden "Zelle" wobei die Nummerierung von rechts nach links läuft.
Re: Attraktoren in Reaktor
Verfasst: 20. Dezember 2009, 21:32
von herw
ich komme gerade von einer Grillpartie (im Schneegestöber). Ich schaue es mir morgen Nachmittag mal an.
ciao herw
Re: Attraktoren in Reaktor
Verfasst: 22. Dezember 2009, 21:08
von Seth743
Heureka!
Ein weiterer Durchbruch! Der Übergang klappt, in beide Richtungen und bei allen möglichen Konfigurationen! Jetzt muss ich nur noch nach unten abriegeln! Sobald in allen Zellen eine 0 gespeichert ist soll eine weitere Erniedrigung unmöglich werden.
Danke, für deine Bemühungen, aber mit einem Tag abstand ist doch einiges klarer.
Edit: Und schon wieder ein neuer Fehler: Versucht doch mal Zelle eins auf den Maximalwert 2 zu stellen und dann erhöht Zelle eins schrittweise.
Re: Attraktoren in Reaktor
Verfasst: 24. Dezember 2009, 08:03
von Seth743
So, jetzt ist ein drittel der Probleme mit dem Zähler gelöst. Fehlt nur noch eine wirkungsvolle gesamt Begrenzung.
Re: Attraktoren in Reaktor
Verfasst: 24. Dezember 2009, 10:43
von herw
Seth743 hat geschrieben:So, jetzt ist ein drittel der Probleme mit dem Zähler gelöst. Fehlt nur noch eine wirkungsvolle gesamt Begrenzung.
Max = 021, Display auf 021, Zehner-Button -> 3-mal down führt zur falschen Anzeige 991.
ciao herw
PS: Frohes Fest!!