Seite 1 von 3

AudioCoreEventWatcher

Verfasst: 14. November 2012, 23:02
von Quietschboy
hab da mal was gebastelt:
Einen Audio-Core-Cell-Event-Watcher.

Das Teil visualisiert synchrone und asynchrone events von bis zu 12 Eventquellen in einer AudioCoreCell. Dabei wird jeweils auch ein Zeitstempel gesetzt und áuch angezeigt, ob das/die Events synchron zu SR.C sind. Asynchrone Events werden der Reihenfolge ihres Eintreffens nach visualisiert. Auch die Darstellung mehrerer zeitgleicher, aber asynchroner Events wird umgesetzt.
Init-events sollten auch alle richtig angezeigt werden.

Das hier ist die Betaversion. Wenn ihr Lust habt könnt ihr gerne noch euren Senf dazu abgeben oder auf Fehler testen, bevor ichs hochlad.
Audio Core Event Watcher (beta v9).ens
Man kann damit übrigens ganz nebenbei auch noch allerhand mysteriöses aus der PRIMARY Ebene anzeigen. Z.B., wie in dem Betaensemble zu sehen, das Verhalten eines Triggerbuttons an einem Audioeingang der CoreCell. Oder zeitliche Abweichungen zwischen SongPos 96e und 96a. Ein Fall für die Akte X.

ich belass es jetzt erst mal dabei, ist ja schon spät,
Grüße, Mark

Re: AudioCoreEventWatcher

Verfasst: 20. November 2012, 23:50
von Quietschboy
sooo, ich habe noch einen kleinen, aber essentiellen Fehler entdeckt, der die Zeitanzeige betraf. Deswegen gibts denn jetzt ein Update. Dieses wird dann auch, falls keine Einwände kommen, so oder so ähnlich in die UL verfrachtet:
Audio Core Event Watcher 1.0 12port DEMO.ens
Und jetzt gibts auch noch eine kleine, genauere Beschreibung.
AudioCoreEventWatcher.jpg
Der ACEW ist für diejenigen interessant, die den Steuer- und Initevents in einer AudioCoreCell vorallem in zeitlicher Relation etwas näher zu leibe rücken müssen. Er kombiniert den guten, alten EventWatcher und den InitDebugger in einer Zeit-Port-Übersichtsmatrix. Jede Spalte bedeutet genau einen Zeitpunkt. Die Zeit wird oben im Kopf als "Sekunde plus Samples" angezeigt. Der Zeitpunkt der Initialisation ist 0. Also zu null Sekunden plus null Samples. Leuchtet die Lampe "SR.C synced", handelt es sich um ein, oder mehrere synchrone Events (synchron zur SampleClock). Leuchtet die Lampe nicht, waren es asynchrone Events. Asynchrone Events können durchaus gleichzeitig auftreten und werden somit für diesen Fall in die selbe Spalte geschrieben. Der genaue Zeitpunkt eines asynchronen Events ist nicht bestimmbar, da die kleinste meßbare Einheit das Sample ist. Aber man kann sagen, daß das Event nach der oben im Kopf angezeigten Zeit und vor dem nächsten Sample stattfand. Die Reihenfolge asynchroner Events wird, wie schon erwähnt, wiedergegeben.
Die blau leuchtenden Lampen unter den Werteanzeigen dienen nur der Übersichtlichkeit und bedeuten: "An diesem Port kam ein Event an".

Der ACEW besteht aus vier Makros:
Ein AudioCoreEventSerializer in der CoreCell, der die eintreffenden Events zwischenspeichert und nacheinander über das zweite Makro, den AudioCoreEventOutput von G.List (von mir editiert, damit auch Initevents weitergereicht werden), nach Primary ausgibt. In Primary benötigt man zunächst den Adapter f. EventOutput vom G.List. Danach gehts in den AudioCoreEventWatcher, der das serielle Signal wieder auseinanderfrickelt und über die GUI darstellt.
Da pro Event vier Samples benötigt werden, um alle Informationen zu übertragen ist der ACEW nicht für SR.C Streams geeignet. Und wenn, dann nur ganz kurz. Also gaaaanz kurz. :)

Das Eventtable, das die Daten für die GUI-Anzeige sammelt und aufbewahrt, habe ich mal auf 256 Datensätze (also Zeitpunkte) beschränkt. Ich denke das könnte allgemein genügen, oder? Da spielt ja, wie auch beim EventWatcher, der Scrollbalken eine kleine Rolle. 5396 Datensätze ließen sich einfach nicht mehr ohne Weiteres zielgenau scrollen.

Ja, genau, nochwas:
Da auch Steuerwerte von -999999 und -999998 übertragen werden, müssen Values > -999998 sein. Die Bremse dazu muß ich noch in den Serializer einbauen, fällt mir grad so ein...
Ich hoffe das ist keine allzu große Einschränkung.

Grüße, Mark

Re: AudioCoreEventWatcher

Verfasst: 21. November 2012, 06:51
von herw
::ole::
Prima Arbeit, muss ich jetzt noch testen.

ciao herw

Re: AudioCoreEventWatcher

Verfasst: 21. November 2012, 23:35
von Quietschboy
OK, hab doch noch mehr Fehler gefunden. Sorry für die verfrühte "Version 1.0" Benennung im Beitrag oben drüber.
- Der zulässige Wertebereich wurde auf > -999998 begrenzt.
- Eventtable: Value Range und Y-Size angepaßt
- Ein "Soft-Reset" (Switch, Sample Rate Wechsel) resettet nun nicht mehr den Timer (Danke herw, für den Upload des Screenshots :wink: )
- Das Clipping für den Eventtable wurde korrigiert, so daß Spalte 256 nicht mehr mit weiterhin eintreffenden Events rotiert
Audio Core Event Watcher (Beta v11) DEMO.ens

Re: AudioCoreEventWatcher

Verfasst: 30. November 2012, 23:11
von Quietschboy
hab noch zwei, drei Kleinigkeiten geändert. Aber hier gibt es nun endlich die finale Version 1.0:

https://co.native-instruments.com/index ... chid=12341

Grüße,
Mark

ACEW 2.0

Verfasst: 3. Juli 2013, 20:03
von Quietschboy
Hallo Leute,

ich hatte leider sehr wenig Zeit die letzten Monate mit Reaktor rumzubasteln, aber im Moment bin ich wieder dran. Seit der Version 1.0 hat sich trotzdem einiges beim ACEW getan und ich möchte möglichst bald die zweite Version hochladen. Selbst habe ich noch einige Wünsche offen (Multi-Voice-Recording, Loop Recording, direkte Implementation der "Messzelle" in Event Core Cells...) aber das sind für mich "größere" Baustellen. Da wird jetzt erstmal nix draus.

Für die kommende Version habe ich aber ein paar Fragen an diejenigen von euch, die den ACEW nutzen:

Die erste Frage geht speziell an Herw ;-)
Herw, du implementierst den ACEW ja gerne als Instrument und verbindest ihn kabellos mit deinem Projektinstrument. Wie genau stellst du die Verbindung denn her? SEND --> RECEIVE geht ja wohl nicht, da diese nur innerhalb eines Instrumentes funktionieren. Bleibt nur die EVENT- oder AUDIOTABLE übrig oder aber IC SEND --> IC RECEIVE mit einem Step-Filter-Verarschungs Makro vor und hinter der IC Verbindung. Der Grund der Frage ist, daß ich den ACEW möglichst Plug´n Play like gestalten möchte. Der User soll mit möghlichst wenig Verkabelungsaufwand den ACEW möglichst schnell für seine Bedürfnisse einsetzen können. Dazu gehört nun auch die Möglichkeit über das Panel für jeden Kanal auszuwählen, ob eine direkte Kabelverbindung oder eine Wireless-Verbindung geschaltet werden soll. Mit SEND - RECEIVE und Stacked Macros für die Panelansicht klappt das wunderbar. Das Send Modul der Begierde ist direkt nach einem Knopfdruck anstelle des Kabeleingangs in einem Kanal aufrufbar. Nur frage ich mich, wie ich diese Funktionalität in einem in ein Instrument verpackten ACEW realisieren soll.

2. Frage:
Wer eigentlich nutzt denn den ACEW für seinen ursprünglichen Zweck, Events in Audio Core Cells zu messen?

3. Frage:
Mißt jemand AUDIO-Streams mit dem ACEW, und wenn ja, Streams aus PRIMARY oder AUDIO CORE?

4.Frage:
Braucht jemand außer mir mehr als 8 Kanäle? Der ACEW ist schließlich auf dem Panel sehr ausladend und ich überlege die Version mit 12 Kanälen wegzusparen. Allerdings würde eine Reduktion auf 8 Kanäle aus technischen Gründen keine Einsparungen bezüglich RAM (Array-Größen) bedeuten, soweit ich mich erinnere. Lediglich die Core Kompilierung würde etwas schneller von statten gehen.

5.: Eine Hardcore Frage:
In AUDIO CORE ist es möglich, zu erkennen, ob es sich bei einem Event um ein Initialisationsevent der zweiten Stufe (Module mit Konstanten) oder eines der Stufen 3-6 (Event Loop, Order Out 2, Iterationen, Snap Value Array) handelt. Zudem läßt sich zwischen einem GSR (General System Reset) / GER (General Event Reset) und einem Switch Reset (offiziell "Re-Init") unterscheiden. Dies zeigt der neue ACEW an, aber mein Problem (und somit auch ein potenzieller Fehler in der Anzeige) ist Folgendes:
Wäre es theoretisch möglich, daß ein Stream von Initialisationsevents von normalen Reaktorevents wie z.B. MIDI, Knobs, Buttons, irgendwelchen tickernden Clocks, LFOs etc. durchkreuzt werden kann?
Für Stufe 2 der Initialisation gilt definitiv nein und für die Stufen 3-6 vermute ich ein Nein, bin mir aber nicht sicher! Und was kommt als erstes nach den Initialisierungsevents? Direkt der allererste SampleTick oder wäre vor diesem ersten Sampletick noch Luft für normale Events? Dann würde nämlich der ACEW auch normale Events, welche vor dem allerersten Sampletick, aber nach allen Init-Events eintreffen, als zur Initialisation zugehörig deklarieren. Das wäre falsch!

6. Frage:
Eine Frage zum Upload in die Userlibrary. Ich habe erst einen Beitrag zur UL geleistet (ACEW 1.0), habe aber auch schoin gelesen, daß das Updaten in der UL grottig gelöst ist, bzw. fehlerhaft funktioniert. Dazu kommt, daß eben jener erster und einziger Upload prompt zweimal in der UL erschien! Ihr könnt euch vielleicht vorstellen, was fürn Bock ich darauf habe, mich mit der UL zu beschäftigen...
Aber es führt ja kein Weg dran vorbei - Ich möchte also Updaten. Updaten funzt angeblich nicht richtig. Jedoch möchte ich den WebLink zum ACEW 1.0 beibehalten, da Herw die Tage darauf gelinkt hat (Danke dafür!).
Soll ich es also wagen? Funzt der Link auch nach einem Update noch? Oder soll ich lieber nur die Beschreibung des alten Upload mit Link zu einem neuen Upload editieren?

Ich freu mich über jedes Feedback,
Mark

Re: ACEW 2.0

Verfasst: 3. Juli 2013, 22:06
von herw
Quietschboy hat geschrieben:[...]
Die erste Frage geht speziell an Herw ;-)
Herw, du implementierst den ACEW ja gerne als Instrument und verbindest ihn kabellos mit deinem Projektinstrument. Wie genau stellst du die Verbindung denn her? SEND --> RECEIVE geht ja wohl nicht, da diese nur innerhalb eines Instrumentes funktionieren. Bleibt nur die EVENT- oder AUDIOTABLE übrig oder aber IC SEND --> IC RECEIVE mit einem Step-Filter-Verarschungs Makro vor und hinter der IC Verbindung. Der Grund der Frage ist, daß ich den ACEW möglichst Plug´n Play like gestalten möchte. Der User soll mit möghlichst wenig Verkabelungsaufwand den ACEW möglichst schnell für seine Bedürfnisse einsetzen können. Dazu gehört nun auch die Möglichkeit über das Panel für jeden Kanal auszuwählen, ob eine direkte Kabelverbindung oder eine Wireless-Verbindung geschaltet werden soll. Mit SEND - RECEIVE und Stacked Macros für die Panelansicht klappt das wunderbar. Das Send Modul der Begierde ist direkt nach einem Knopfdruck anstelle des Kabeleingangs in einem Kanal aufrufbar. Nur frage ich mich, wie ich diese Funktionalität in einem in ein Instrument verpackten ACEW realisieren soll.
[...]
send-receive nehme ich in keinem Fall, da sie mir mein ganzes modular-Konzept vernichten würden. Nein, ich setze das Instrument ganz primitiv an die Stelle ein, wo ich gerade die Information benötige. Gerade weil ich es als Instrument benutze, ist die Handhabung ja so einfach. Es zerstört mir meine eigentliche Struktur und mein Panel überhaupt nicht.
ACEW als Instrument.jpg
Hast du denn den ACEW nicht selbst als Instrument eingerichtet?

ciao herw

Re: AudioCoreEventWatcher

Verfasst: 3. Juli 2013, 23:17
von MvKeinen
2: Ich :-)

3/4: Bisher noch nicht.

Ist zwar nicht Rielke, aber dafür kurz :-)

Re: AudioCoreEventWatcher

Verfasst: 4. Juli 2013, 10:29
von Quietschboy
Danke Leute für die schnellen Antworten!

Zu meiner Schande muß ich gestehen, daß ich jetzt erst anfange den ACEW selbst ernsthaft in meinem Projekt zu nutzen. Dort ist er als Macro installiert. Da die Struktur des Projektes recht groß ist, füge ich dort wo ich es brauche, einfach ein SEND ein und ziehe mir das mit dem ACEW. Daß das bei Herw´s Modular strictly forbidden ist, leuchtet mir jetzt ein. Außerdem ist die Eventreihenfolge bei SEND-RECEIVE nicht mehr sichergestellt. Allerdings ist sie es in Primary auch nicht unbedingt, wenn der ACEW per Kabel angeschlossen ist. Das muß man wissen, falls es einem darauf ankommt. Ich hatte den ACEW schonmal in ein Instrument gesteckt, und werde das mit der aktuellen Version auch nochmal in der Praxis ausprobieren. Deine Beschreibung dazu, Herw, hört sich ja ganz fluffig an.

Es kommt wohl ziemlich auf den Anwendungszweck und die persönliche Arbeitsweise an, wie man den ACEW am besten einbindet. Ich muß mal überlegen, inwieweit ich das in Form fertiger Bauelemente/Macros/Instrumente/ im Upload berücksichtigen kann, ohne die Leute durch die Vielfalt der Elemente zu verwirren. Es stellt sich außerdem für PRIMARY nicht nur die Frage "wie klemme ich das Teil an", sondern womöglich möchte ja tatsächlich mal jemand AudioStreams messen. Dazu muß man im Moment noch in der Struktur Hand anlegen (z.B. IN-Ports auf Audio umstellen). Aber so wirds wohl erstmal bleiben.

bis in KÜrze
MArk

Re: AudioCoreEventWatcher

Verfasst: 4. Juli 2013, 14:39
von herw
ich sende dir mal meine Version als PM (ist die nicht von Dir?)

ciao herw

Re: AudioCoreEventWatcher

Verfasst: 4. Juli 2013, 16:39
von Quietschboy
Keine Ahnung, aber die OnOff Buttons in den Kanälen sind auf jeden Fall von dir. Weiß nicht mehr, ob die Bezeichnung mit 1.1 auch von dir war, oder ob du meine 1.1 editiert hast. Ist ja aber auch egal.
Was mich grad eben vom Hocker gerissen hat, ist, daß sich in 5.8.0 die Instrumente im Panel jetzt richtig schön frei verschieben lassen :idea: ...noch gar nicht gemerkt :oops:

Da ich´s ja nicht sein lassen kann bekommt ihr hier nun die aktuelle Version. Eigentlich wollte ich vorher noch das Manual schreiben, dann könntet ihr das auch noch gleich mittesten :mrgreen:
Die Grafiken für die Zeile Time State sind auch nur mal schnell so hingeschmissen. Da wird´s noch was schöneres, bzw auch informativ eindeutigeres geben.

Ich hab jetzt also den ACEW in 4 Varianten in das Zip gesteckt:

1.) Die 2 Building Blocks, um Events in AUDIO CORE zu checken. Ein Sendermacro für Core, ein Empfängermacro für Primary.
Für PRIMARY-Zwecke gibt es diese Elemente:
2.) Den ACEW im Macro. Eingänge können leicht auf Audio umgeändert werden. Keine Send oder Receive Module enthalten.
3.) Den ACEW im Macro, aber Wireless-Verbindung über Send - Receive möglich. Primär nur für Eventdaten gedacht. Änderung von Eingängen auf Audio möglich, aber umständlicher. Außerdem gibt es da eine Falle, was die Paneloptik angeht.
4.) Den ACEW im Instrument. Keine Send-Receive Module.

Was ist neu? Z.B.:
- keine Limitierung mehr im Zahlenbereich
- Buffer Overflow passiert nur noch in der 1024.ten Spalte, wenn auf allen 12 Eingängen Audiostreams anliegen.
- Buffer für 1024 Zeitspalten. Dieser kann virtuell runtergeschraubt werden, um das Scrolling im Mausbalken angenehmer zu machen.
- Schalter für Autoscroll
- On/Off Button für jeden Eingang
- Bugfixes und Erweiterungen bezüglich des Verhaltens des ACEW während eines Switch Resets (re-init)
- Einzelne Resets für Zeit oder Table, steuerbar mittels der "Core Connection" über das Panel.
- Voice Selector: Nun kann eine bestimmte Voice für die Aufzeichnung angewählt werden.
ACEW 2.0i wireless.jpg
Kann Zip nicht hochladen. Maximale Dateigröße für Zip beträgt 256KiB.....deshalb per Wuala:
https://www.wuala.com/MarkWadewitz/ACEW ... RBPHWNHjqy

Re: AudioCoreEventWatcher

Verfasst: 4. Juli 2013, 16:46
von herw
Quietschboy hat geschrieben:Keine Ahnung, aber die OnOff Buttons in den Kanälen sind auf jeden Fall von dir. Weiß nicht mehr, ob die Bezeichnung mit 1.1 auch von dir war, oder ob du meine 1.1 editiert hast. Ist ja aber auch egal.
Was mich grad eben vom Hocker gerissen hat, ist, daß sich in 5.8.0 die Instrumente im Panel jetzt richtig schön frei verschieben lassen :idea: ...noch gar nicht gemerkt :oops:
[...]
Das ist nicht neu, sondern schon immer so: Den zugehörigen Menupunkt findest du in:
/settings/automatic panel layout
wenn er aktiviert ist, dann rutschen die Instrumente entweder untereinander oder nebeneinander und passen sich jeweils dem breitesten Instrument an. Ist der Punkt deaktiviert, dann kannst du sie frei platzieren.
Anstelle der send-receive-Verbindungen könntest du auch mit shared audio-tables oder eventtables arbeiten. Da störst du niemanden.
Zwölf Eingänge finde ich definitiv zu viel. Mir sind manchmal acht schon zu viel - sechs würden reichen, da ich ohnehin dann nicht alles parallel im Blick habe. Ich picke mir immer drei bis vier Abhängigkeiten heraus und beobachte diese. Das liegt aber an meiner Arbeitsweise, da ich sehr häufig Busnachrichten beobachte.
Die file-Größe ist schon sehr heftig für ein upload hier. Was macht die Datei eigentlich so groß?

Re: AudioCoreEventWatcher

Verfasst: 4. Juli 2013, 18:55
von Quietschboy
herw hat geschrieben:Die file-Größe ist schon sehr heftig für ein upload hier. Was macht die Datei eigentlich so groß?
Na in dem Paket sind 4 Varianten des ACEW mit jew. ca 860kB

Re: AudioCoreEventWatcher

Verfasst: 15. März 2014, 01:03
von Quietschboy
Habe gerade das ACEW 2.0 Update hochgeladen:

http://www.native-instruments.com/de/co ... show/7109/

Bis denne

Re: AudioCoreEventWatcher

Verfasst: 15. März 2014, 06:25
von herw
Quietschboy hat geschrieben:Habe gerade das ACEW 2.0 Update hochgeladen:

http://www.native-instruments.com/de/co ... show/7109/

Bis denne
super - vielen Dank ::ole::