InterPHase by MvKeinen

Hier soll es ausschließlich um Arbeiten zu neuen und alten Ensembles gehen.

Moderator: herw

MvKeinen
meister
Beiträge: 168
Registriert: 10. August 2006, 14:06
Wohnort: Berlin

Re: InterPHase by MvKeinen

Beitrag von MvKeinen »

herw hat geschrieben: ja sehr schön; sieht schon sehr professionell, wenn auch ein wenig „knibbelig”, aus; wenn ich das tonlose Video richtig interpretiere, erstellst du durch Anklicken einer Modulationsquelle und eines Ziels einen Signalweg; dieser öffnet quasi einen „Kanal”, in dem du Modulationsstärke etc. einstellen kannst. Ist das ganze Sequenzer-basiert oder mehr ein Modularsynthesizer? Die Bedienung scheint sehr eingängig und relativ einheitlich zu sein. Manches sieht allerdings auch überfrachtet aus (rechts die Hüllkurvengeneratoren mit unterlegtem Display). Vielleicht könnte man nach der Einstellung von Parametern auch wieder Teile ausblenden? Aber was soll's; du hast sehr viel Energie in eine neue Bedienoberfläche gesteckt.
Sehr sehr viele innovative Darstellungstricks! Bin gespannt, wie das ganze klingt und funktioniert.

ciao herw
vielen dank fürs ansehen. Ja das ist tatsächlich "knibbelig". allerdings hab ich das ganze so aufgebaut, dass es eher einem Framework gleicht. Jedes Element das sich ähnelt wird von der gleichen "Subroutine" gesteuert die nur von verschiedenen Daten gefüttert wird. Das heißt, dass ich im "Setup"-macro nur ein paar Koordinaten ändern muss und schon erscheint das in einer anderen Größe samt Anpassung der Mouse area. Doch zuerst möchte ich schauen, dass es möglichst klein ist damit ich den ganzen Synthie ohne "Untermenues" sehen kann.

Das ganze hat als "Testsynthie" für meinen Sequencer begonnen. Ich hab mich dann aber so hereingesteigert, dass ich unbedingt das "Single-cell" Prinzip verwirklichen wollte. Das heisst:

- Ein polyphones Audiocoremacro (6 monophone 3-osc Synthies mit inserteffekten + Mixer plus Modulationen à la LFO, envs und sequencer)
- Ein monophones Audiocoremacro (Mastereffekte)
- Ein monophones Eventcoremacro (Datenverarbeitung)
- Ein monophones Eventcoremacro (Grafikverarbeitung)
- Eine Mousearea
- Ein Multidisplay

dadurch werden sehr coole Sachen möglich wie:
- Kopieren von gleichartigen Containerdaten. (zB kann ich die Einstellungen von Osc1 auf Osc2 kopieren samt Modulationen usw.)
- Kopieren einer gesamten Monophonen Stimme auf die andere um komplexe Unisonoeinstellungen zu ermöglichen
- Drag and drop: Ziehen von Modulationsquellen auf Ziele

Weiterhin ist es mir wichtig ein visuelles Feedback zu bekommen. Ich kann jede Modulation (ausschließlich Audio, Event rate ist nicht vorhanden) die in der Audiocorecelle anliegt in dem Multidisplay darstellen. Dazu muss jede Modulation (lfo, seq usw. in ein array geschrieben werden, welches zu jeder Displayclock komplett ausgelesen wird. per flipflop und A to E trigger hab ich dann sämtliche Modulationen auf einer Eventleitung. Bisherige tests mit bis zu 400 Quellen haben funktioniert. Auf der Eventleitung habe ich dann pro Displayclock 400 aufeinanderfolgende events, für jede Quelle eines. Diese werden dann in der Grafikverarbeitung gezählt und in einen Speicher geschrieben den ich dann je nach Displayzustand auslesen kann. Die Grafikverarbeitung sorgt auch dafür dass nur dann ein event ins Primary gelangt, wenn etwas sichtbares passiert, da das System weiß wieviele Pixel eine Darstellung hat. Da alles mit Integerwerten adressiert wird tut der Idup filter sein übriges. Diese Daten werden dann in ein Array geschrieben welches eine Dynamische Indexierung besitzt und welches von einem Singleshot Iterator von Max Zagler ausgelesen wird. Überhaupt verwende ich viel aus dem Partials Framework. Vor allem Die Chain-Iteration. Für die Darstellung der parameter kommt die Nested Iteration zum Zuge. Max Zagler schrieb in der Beschreibenden PDF, dass dieses System noch nicht besonders getestet ist, allerdings funktioniert das Prima, sobald man bei der Verdrahtung ein paar Regeln beachtet. Missachtet man diese stürzt Reaktor ab. Hier nochmal danke an MZ für das Framework. Ich selber habe vor dessen Veröffentlichung ein eigenes Iterationssystem welches aber nicht aus der Corecelle heraus konfiguriert werden konnte. Das hat zwar auch funktioniert hatte aber viel Primarykram und war daher nicht für komplexe sachen geeignet. Theoretisch gesehen ist Reaktor durch das Partials Framework zwar nicht besser geworden (da es die Software ja nicht verändert). Praktisch gesehen hat es mein Arbeiten mit Reaktor aber um einige Levels verbessert da es einem ermöglicht sich auf das Wesentliche zu konzentrieren und immerwieder ein neues Ordnungslevel ermöglicht auf dessen Grundlage dann Dinge möglich sind welche ohne nicht zu denken wären.

auf die Methode mit dem Audiodisplay-Bus werde ich demnächst mal näher eigehen.
Reaktor Befürworter
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: InterPHase by MvKeinen

Beitrag von herw »

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

Re: InterPHase by MvKeinen

Beitrag von herw »

MvKeinen hat geschrieben:[...]Diese Daten werden dann in ein Array geschrieben welches eine Dynamische Indexierung besitzt und welches von einem Singleshot Iterator von Max Zagler ausgelesen wird. Überhaupt verwende ich viel aus dem Partials Framework. Vor allem Die Chain-Iteration. Für die Darstellung der parameter kommt die Nested Iteration zum Zuge. Max Zagler schrieb in der Beschreibenden PDF, dass dieses System noch nicht besonders getestet ist, allerdings funktioniert das Prima, sobald man bei der Verdrahtung ein paar Regeln beachtet. Missachtet man diese stürzt Reaktor ab.[...]
Kannst Du die Abstürzsituation stark reduzieren, so dass ich ein entsprechendes Ensemble an NI senden kann? Falls ein log-file gebildet wird, stürzen sich die Entwickler mit Freude darauf und können oft die Ursache finden. Das hilft allen.
Im partials framework sind übrigens zwei oder drei wichtige Module fehlerhaft, insbesondere das Modul singleshot.
Also eine Fehlermeldung wäre wichtig!
ciao herw
MvKeinen
meister
Beiträge: 168
Registriert: 10. August 2006, 14:06
Wohnort: Berlin

Re: InterPHase by MvKeinen

Beitrag von MvKeinen »

Die Abstürze die ich gemeint habe beziehen sich eher auf die "nested Iterators", wie gesagt durch Fehlverdrahtung. Bei diesen Macros ist die "solid" Einstellung deaktiviert damit die Werteübergabe überhaupt erst funktioniert. Wenn jetzt das ganze mit dem Primary Iterator verbunden wird ohne dass die Befehlskette abgeschlossen ist, dann kommt es zum Absturz. Ich denke dabei handelt es sich um einen Absturz den man nicht verhindern kann soweit ich das beurteilen kann.

Gerade reiss ich das ganze system nocheinmal auseinander, da mir eine kleine Vereinfachung eingefallen ist. Daher warte ich noch etwas ab mit dem Hochladen von Teillösungen. Ich werde dann auch diesen Thread beenden um einen neuen anzufangen, da das ganze Projekt eine ziemlich anderes Profil hat.
::kaffee::
Reaktor Befürworter
MvKeinen
meister
Beiträge: 168
Registriert: 10. August 2006, 14:06
Wohnort: Berlin

Re: InterPHase by MvKeinen

Beitrag von MvKeinen »

hier hab ich als ausblick auf den neuen synth mal ein etwas kompletteres video mit sound gemacht.

in der mitte verzerrt dieser etwas, was wohl an der audiokodierung der screencastsoftware liegen muss. in Reaktor passiert das nicht.

http://vimeo.com/57159655
Reaktor Befürworter
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: InterPHase by MvKeinen

Beitrag von herw »

MvKeinen hat geschrieben:hier hab ich als ausblick auf den neuen synth mal ein etwas kompletteres video mit sound gemacht.

in der mitte verzerrt dieser etwas, was wohl an der audiokodierung der screencastsoftware liegen muss. in Reaktor passiert das nicht.

http://vimeo.com/57159655
ui Wahnsinn, scheint ja perfekt zu funktionieren. Ich denke, dass man nach nicht zu langer Eingewöhnungszeit die Bedienelemente versteht. Das Video lässt schon nach wenigen Minuten die Bedienung erahnen. Sehr funktional aber leider noch sehr knibbelig. Geht es nicht etwas größer oder soll das endgültige Ensemble sehr viel mehr Module enthalten?
egal - ein Meisterstück!

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

Re: InterPHase by MvKeinen

Beitrag von herw »

Ich habe mir das video nochmals angeschaut, die Modulationsverbindungen scheinen ohne GER (general event reset) zu funktionieren, oder täusche ich mich da?
Ist die Anzahl der Module beschränkt, oder kann man da andere leicht hinzufügen? Stehen dann automatisch den Oszillatoren zum Beispiel alle Modulationsquellen zur Verfügung?

nochmals: tolle Arbeit!
ciao herw
MvKeinen
meister
Beiträge: 168
Registriert: 10. August 2006, 14:06
Wohnort: Berlin

Re: InterPHase by MvKeinen

Beitrag von MvKeinen »

Ja der GER. Ich habe ihn gehasst. Jetzt muss ich sagen liebe ich ihn, da ein stetiges Überprüfen des Resetverhaltens hilft wirklich Bugfreie Strukturen zu erstellen.

da ich nur eine Mousearea benutze (in der neuen Version beliebig viele) gibt es von den bedienelementen schonmal kein init-event.

die einzigen Init Events die ins System fließen sind vom

Snap value array die Ausgänge
G = init ON/OFF
[]
$

sowie vom Midi Channel Message
"Val" welches mit einem EC ctrl unterdrückt wird. Dies ist möglich, weil ich die aktuellen Midi zustände auch im SVA speichere. So wird zB der arpeggiator seine Noten nicht verlieren bei GRS

[] und $ vom SVA "sterben" indem sie in der Audiocorezelle und in der Grafik Eventzelle in einen Speicher gechrieben werden

G = OFF ist somit das einzige Event welches Bei GRS wirklich ein Befehl wird. Dieser Lößt die komplette Iterationskette im "Datenverarbeitungstrackt" aus welche dort die benötigten Zellen und Funktionstypen aktiviert und (in der neuen, besseren Version) das Display "fernsteuert"

Dies (und noch viel mehr) passiert im der Zelle "Message" Es ist die Herkunft ausnahmsloß jeden Events in der Gesamten Stuktur (bzw. der Primaryiterator aus M.Zaglers Makro)
message.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Reaktor Befürworter
MvKeinen
meister
Beiträge: 168
Registriert: 10. August 2006, 14:06
Wohnort: Berlin

Re: InterPHase by MvKeinen

Beitrag von MvKeinen »

message2.jpg
Zu dem initialisationsevent kommt hier noch das "Maus-event"

1: G (Init event) und ms (maus event) "programmieren" den Chefiterator :wink: "Setupiteration s#"

2: "Setupiteration" schaltet Zustände "s#". Bei Init 2 Events = 0&1, bei Maus = 2 (UI?= true) Userinput
s#=0: Elemente im Multidisplay werden gezählt und zugewiesen/Audiozelle wird nach Funtionstypen auf Empfang gestellt.
s#=1: Multidisplay wird "gerendert" und Audiozelle wird mit Parametern gefüttert.
s#=2: Userinput. Vom User gewählte Funktion wird erkannt und ausgeführt.

hier wird es bald noch eine klasse geben s#=3 bzw. mehrere events wenn es mötig wird das komplette Display umzuschalten (bei Kanal- oder Ansichtswechsel)

4&6 sind Iterationen die über einen "setupspeicher" lesen.

4: Container
6: Cell

ein container stellt auf dem Display einen "Kasten" dar wie bspw. Osc1 oder Filter53 :-)
eine cell ist eine Funktionsgruppe (Parameter,Parametergruppe oder sequenzielle Parametergruppe) die in den containern enthalten ist.

Diese Iterationen werden von dem Header eines selbstkonfigurierenden Setupspeichers [st] gesteuert 3&5und lesen in einem für container und cells Charakteristischen Indexintervall [_[ die jeweiligen Datensätze der angemeldeten Funktionsgruppen aus. diese Datensätze befinden sich im "Body" von [st]
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Reaktor Befürworter
MvKeinen
meister
Beiträge: 168
Registriert: 10. August 2006, 14:06
Wohnort: Berlin

Re: InterPHase by MvKeinen

Beitrag von MvKeinen »

als nächstes muss der "Gemeine Datensatz" beschrieben werden. Den hab ich allerdings gerade "reformiert" daher muss das noch etwas auf sich warten lassen ::kaffee::
Reaktor Befürworter
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: InterPHase by MvKeinen

Beitrag von herw »

MvKeinen hat geschrieben:als nächstes muss der "Gemeine Datensatz" beschrieben werden. Den hab ich allerdings gerade "reformiert" daher muss das noch etwas auf sich warten lassen
Die Datensätze, die du durch Iteration erzeugst, werden also durch OBC-Verbindungen und den „Supertrigger !!!” weitergegeben? Wie greifen die einzelnen Container (ich benutze mal meinen Ausdruck aus dem modular x) auf die event- und audio-Signale zu, über send-receive oder durch statische Verbindungen? Kannst Du mal die gesamte Anordnung in einem screenshot zeigen? Mich interessiert die Unabhängigkeit der Container. Dies ist auch interessant, wenn man deine Ausführungen vom 19. Dezember 2012 liest.
Die „Reformation” der Datensätze ist ein schwieriges Unterfangen. Ich kenne das. Man muss sich sehr überwinden, wenn allgemein zugängliche Datensätze anders angeordnet oder erweitert werden müssen. Man kann nicht alles voraussehen und manche zusätzlichen auswertbaren Daten müssen ohne großen Aufwand bereitgestellt werden. Man schwankt über Wochen zwischen einem alten und neuen Konzept hin und her; fragt sich, ob es nötig ist, und weiß dabei genau, dass man die Reform letztendlich durchführen wird. Es kostet halt Überwindung und viel Kaffee.
ciao herw ::kaffee::
Antworten