R6 Audio Table / Framework

Fragen und Antworten, Beispiele

Moderator: herw

Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: R6 Audio Table / Framework

Beitrag von Quietschboy »

Küche, Keller, Klo?
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: R6 Audio Table / Framework

Beitrag von herw »

Quietschboy hat geschrieben:
herw hat geschrieben:... und dann würde ich gerne mal hören, wie man eigentlich an vernünftige Samples kommt.
Komplete 10

lol
ja aber wie genau geht das? Ich muss noch mal in den (sehr) alten Dateien suchen, es gab mal einen so herrlichen bayerischen Aussprachenschnipsel „Transformator”.
Benutzeravatar
wehkah
synthesist
Beiträge: 77
Registriert: 26. Januar 2009, 19:17

Re: R6 Audio Table / Framework

Beitrag von wehkah »

herw hat geschrieben:
Quietschboy hat geschrieben:
herw hat geschrieben:... und dann würde ich gerne mal hören, wie man eigentlich an vernünftige Samples kommt.
Komplete 10

lol
ja aber wie genau geht das? Ich muss noch mal in den (sehr) alten Dateien suchen, es gab mal einen so herrlichen bayerischen Aussprachenschnipsel „Transformator”.
Was genau verstehst Du nicht?
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: R6 Audio Table / Framework

Beitrag von herw »

wehkah hat geschrieben:Was genau verstehst Du nicht?
alles - von Grund auf. Ich habe mich noch nie mit Samples beschäftigt, also ich bin bei Null.

Ich stelle mal ein paar doofe Fragen:
  • Wie ist eine Sampledatei aufgebaut (nur prinzipiell) und wo wird sie in REAKTOR geladen? Eine ganz einfache Datei wäre nett.
  • Was kann ich mit der Sampledatei in Primary anstellen (vorwärts, rückwärts, Auswahl, Start-end etc.), was in Core (nur grober Überblick, damit ich konkretere Fragen stellen kann)
Mehr Fragen füge ich zunächst nicht an, damit irgendeiner antwortet. Dann probiere ich aus und dann sieht man weiter.
ciao herw
::kaffee::
Benutzeravatar
wehkah
synthesist
Beiträge: 77
Registriert: 26. Januar 2009, 19:17

Re: R6 Audio Table / Framework

Beitrag von wehkah »

Hej Herw,

ich hatte eigentlich gedacht das Du das schon kennst aufgrund Deiner starken Core Knowlegde.

Wie ist eine Sampledatei aufgebaut (nur prinzipiell) und wo wird sie in REAKTOR geladen? Eine ganz einfache Datei wäre nett.
Ein Sample ist ein Schnipsel einer Audiodatei. Wav oder Aiff . In Reaktor kannst die mit den Primary Samplern laden, per Drag'n'Drop, in eine AudioTable oder SampleMap(eine Datei mit eingebetteten oder verlinkten Samples plus keymapping und Loopangaben).

Was kann ich mit der Sampledatei in Primary anstellen (vorwärts, rückwärts, Auswahl, Start-end etc.), was in Core (nur grober Überblick, damit ich konkretere Fragen stellen kann)
In Primary geht eigentlich schon alles nur war bisher das teilen der Audiodaten innerhalb der Struktur schwierig, das soll jetzt durch das Tableframework vereinfacht werden. Sprich Du hast das Table modul indem Du Deine Samples "verwalten" kannst. Die Table kannst Du über ein SampleMap Modul oder via Drag'n'Drop mit Daten füllen. Mit der Table fütterst Du dann die Stellen im dem Ensemble wo Du das Sample als Rohdaten(Array) brauchst, NI spricht hier von der Table Reference.

Da ich aber noch nicht viel mit Core gemacht habe, komm ich an einigen Stellen nicht mit meiner Rangehensweise weiter bzw. muss erstmal verstehen wie ich zum Beispiel eine Loopfunktion baue. Ich stell mir das wie eine For-To Schleife vor, die den Array Pointer einfach immer wieder auf die vorher eingestellte Startposition setzt wenn eine gewisse Anzahl von Durchläufen bzw. Samples(hier meine ich die Samples bezogen auf die Rate) abgespielt wurde, also die angegeben Abspiellänge erreicht wurde.

Ich bastle derzeit mit den Reaktor internen Macros herum und versuche zu verstehen was da genau passiert.

Es wäre ja auch toll ein flexibles Samplermodul im ModularX zuhaben, für Drums und so weiter.

Beste Grüße,
Tino
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: R6 Audio Table / Framework

Beitrag von Quietschboy »

Hi,
hier mal ein ganz einfaches Beispiel, wie man eine Table Sample in ein Core Array kopiert. Abspielfunktion ist hier noch keine implementiert. Nur Kopieren.
Da mich das Droppen von Samples in eine Mouse Area sehr interressiert habe ich das auch noch mit eingefügt:
primary.jpg
1. Der Eingang DpA der Mouse Area solllte grundsätzlich >= 1 gesetzt werden, damit der Outport DpG zusätzlich zur 0 auch eine 1 bei erfolgter Drop-Funktion rausschickt. Diese 1 ist nötig, um die Referenz und einen Triggerevent bei erfolgtem Dropping einmalig senden zu können. Die Null wird nämlich zusammen mit der 2 ständig während des Droppens gesendet. Dieses Verhalten, sowie denn zusätzlich nötigen Router unter 2. finde ich äußerst fragwürdig. Evtl. muss das aber so sein.

3. Hier wird der Trigger (val =1) für folgende Funktionen gefiltert:
- verschicken der Table Referenz vom Master (Table List) an die Slaves (hier die Core Array Macros und das Info Modul (size)).
- resetten des Core Counters
- starten der Iteration zum kopieren des Samples ins Core Array

Ich hatte noch eine andere Variante gesehen, wo der Trigger nicht das 1er Event, sondern das Null-event nach dem 1er Event ist. Warum? Keine Ahnung. Das 1er-Event macht seinen job als Trigger in diesem Beispiel gut.

4. Das Table List Modul in der grundlegendsten Form. Keine Wahlmöglichkeit für Sample Referenzen, kein insert, delete, etc. Ein neu gedropptes Sample überschreibt lediglich die alte Referenz.

5. Die Core Cell und das Iterations Modul für die Kopier funktion
--- kommt in der nächsten post ----
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: R6 Audio Table / Framework

Beitrag von Quietschboy »

core_01.jpg
Die Core Cell:
1. Der Table Reference Inport stellt zwei - weil stereo ;-) - OBC Ports zur Verfügung. Es kann also mit den gewohnten Core-OBC Modulen auf das TF Audiosample, also die referenzierte Datei auf der Festplatte, zugegriffen werden.

2. Wird der Table Inport neu referenziert, so stellt das size[] Modul sofort die neue Samplegröße N zur Verfügung (ein Event). Da Arrays nullbasiert adressiert werden ist es nötig den letzten Index, also die Zelle mit dem letzten Sampleword, als N-1 festzuhalten. Dies wird nämlich gleich noch für die Endabfrage benötigt. Es gibt allerdings einen driftigen Grund Audiosamples nicht nullbasiert sondern erst ab Index 1 zu speichern und die Gesamtgröße des Audiosamples auch am Ende um eine weitere Speicherzelle zu vergrößern. Stichwort Interpolation. Aber das passt jetzt nicht zum Thema und wird außerdem sogar im Core Manual erklärt! Daumen hoch dafür!

3. Ein (R5) Counter, angetriggert von der Iteration als Clock, zählt stumpf von Null bis N (Größe des Audiosamples). N wird von dem Vergleich > N-1 jedoch zur Weitergabe als Index herausgefiltert und stoppt stattdessen den Iterator (outport "brk".

4.Ansonsten wird mit jedem Tick der Iteration der Index für das Read und das Write Makro gesetzt. Das Read wird außerdem auch vom Quickbus "Index" zum auslesen bewegt. Das Ausgangsevent, also der Wert des Sampleword, wird direkt und zum selben Index, in das Core Array geschrieben.
Man muss hier noch beachten, dass die maximale Größe eines Core Arrays 1048576 Zellen beträgt! Das ist nicht viel. Reicht bei 44,1kHz Audio für gerade mal gute 20Sekunden Eppes. Es ist allerdings möglich, Arrays zu stacken, so dass auch längere Audiosamples aufgenommen oder hineinkopiert werden können.


Rechts in der Core Cell ist lediglich eine kleine Hilfsstruktur zur Überprüfung des Index mit Hilfe des ACEW zu sehen:
Es sollen nur Indizes kleiner 3 und größer N-4 an den ACEW übergeben werden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Quietschboy am 17. September 2015, 22:48, insgesamt 2-mal geändert.
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: R6 Audio Table / Framework

Beitrag von Quietschboy »

Ensemble angehängt
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: R6 Audio Table / Framework

Beitrag von herw »

Quietschboy hat geschrieben:Ensemble angehängt
das sample fehlt?
ok - ich muss jetzt leider aufhören, ich habe morgen einen frühen Termin; du kannst es mir auch zumailen, dann kann ich das file einfügen.
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: R6 Audio Table / Framework

Beitrag von Quietschboy »

herw hat geschrieben:das sample fehlt?
Nö, selbst Samples aus dem Reaktor Browser in die Drop-Zone schmeissen! ::kaffee::
Sonst wäre es kalter Kaffe... :lol:
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: R6 Audio Table / Framework

Beitrag von herw »

Quietschboy hat geschrieben:
herw hat geschrieben:das sample fehlt?
Nö, selbst Samples aus dem Reaktor Browser in die Drop-Zone schmeissen! ::kaffee::
Sonst wäre es kalter Kaffe... :lol:
ja das ist ja gerade mein Problem, wo finde ich denn samples? Liefert REAKTOR welche mit, oder hole ich sie mir irgendwo aus komplete und wenn ja wo?????
Ich sag doch, ich starte bei NULL, was samples angeht.
Benutzeravatar
wehkah
synthesist
Beiträge: 77
Registriert: 26. Januar 2009, 19:17

Re: R6 Audio Table / Framework

Beitrag von wehkah »

Moin moin Leudde,

Quietschboy danke für das auseinander frickeln :)

HERW hier findest Du massig sehr interessante Samples - http://freesound.org/

Einen schönen Tag gewünscht,
T
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: R6 Audio Table / Framework

Beitrag von Quietschboy »

herw hat geschrieben:
Quietschboy hat geschrieben:
herw hat geschrieben:das sample fehlt?
Nö, selbst Samples aus dem Reaktor Browser in die Drop-Zone schmeissen! ::kaffee::
Sonst wäre es kalter Kaffe... :lol:
ja das ist ja gerade mein Problem, wo finde ich denn samples? Liefert REAKTOR welche mit, oder hole ich sie mir irgendwo aus komplete und wenn ja wo?????
Ich sag doch, ich starte bei NULL, was samples angeht.
Hast du Kontakt oder Battery installiert? Dann solltest du doch das ein oder andere Sample in den entsprechenden Librarys finden. Für solche Testzwecke wie hier solltest du dir vielleicht eine Hand voll Samples in den Ordner "Audio" deines Reaktor User Folder kopieren. So hast du sie schnell im Reaktor browser bereit. Unter Mac könnte es allerdings sein, dass sogar das droppen von samples in eine Mouse Area aus dem Mac File Browser heraus funktioniert.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: R6 Audio Table / Framework

Beitrag von herw »

Quietschboy hat geschrieben:
herw hat geschrieben:[...]
Ich sag doch, ich starte bei NULL, was samples angeht.
Hast du Kontakt oder Battery installiert? Dann solltest du doch das ein oder andere Sample in den entsprechenden Librarys finden. Für solche Testzwecke wie hier solltest du dir vielleicht eine Hand voll Samples in den Ordner "Audio" deines Reaktor User Folder kopieren. So hast du sie schnell im Reaktor browser bereit. Unter Mac könnte es allerdings sein, dass sogar das droppen von samples in eine Mouse Area aus dem Mac File Browser heraus funktioniert.
ja ich habe jetzt einige samples aus alten REAKTOR ensembles kopiert. Das kann ich testen; ich habe sogar das Uralt-Sample „Transformator” wieder entdeckt.
Im Moment habe ich einiges anderes zu organisieren.
Ich werde aber das table framework noch testen.
ciao herw
Benutzeravatar
Rampensau
meister
Beiträge: 192
Registriert: 6. Dezember 2009, 20:32

Re: R6 Audio Table / Framework

Beitrag von Rampensau »

Mich würde interessieren, ob, und wenn nicht, wann das Table Framework vollständig implementiert ist? Weiß da jemand etwas mehr?
Aus einer Dokumentation wird man ja nicht unbedingt schlau, da es nicht wirklich eine für Benutzer gibt. Im Getting Started werden Features suggeriert, die (noch ?) nicht vorhanden sind. Bisher ist es mehr ein Audioplayer Framework. Ist ja auch nett, aber Read only?? Für mich bringt das Table Framework in dieser Version bisher keinen Mehrwert.

Coole Features, die m.E. fehlen:
- Write Funktion. Nicht nur für die Nutzdaten. Auch die Flags/Sampleinfos sollten über Eventprozesse geschrieben werden können sollen.
- Weitere Dateitypen, wie z.B. .txt
- Dateien ins Dateisystem schreiben, aber bitte Event-gesteuert
- Generierte Dateien löschen, auch über Event triggerbar
- Tablereferenz manuell aus einem Textmodul, oder irgendwie anders, als per Drag&Drop generieren

Offtopic:
Ich träume ja immer gerne. Ich vermisse aber schon immer Strings, also Zeichenketten (Arrays von lesbaren Zeichen) als Datentypen und entsprechende Eingabe-, Verarbeitungs- und Ausgabeperationen für Strings in Reaktor. Tablereferenzen wären hierfür eine super Anwendung. Man könnte richtig tolle Parsing-Werkzeuge in Reaktor programmieren, die xml-Strukturen auslesen. So könnte man z.B. easy as it is, OSC-Informationen aus xml-Deskriptoren lesen. In Verbindung mit einem (etwas weiter entwickelten) Table Framework hätte man ein mächtiges Dateiverarbeitungsframework in Reaktor.
Zuletzt geändert von Rampensau am 26. November 2015, 15:44, insgesamt 2-mal geändert.
Antworten