Jump to content

"MIDIbox FM - CC & SysEx Editor" für Max for Live


Thomasch
 Share

Recommended Posts

Hallo Leute,
 

die kalte Jahreszeit steht vor der Tür und das ist ja bekanntlich die beste Zeit um an diversen Projekten zu Tüfteln.


Eines dieser Projekte besteht darin, einen "MIDIbox FM CC & SysEx Editor" für Max for Live zu entwickeln.

Ich habe bereits mit der Entwicklung begonnen.


Ich werde den Editor auf mehrere Devices aufteilen, so daß man sich immer das jeweils richtige Device in den jeweiligen Kanal legen kann. Es wird Editoren für Voice 1-4, Drumset und für globale Parameter geben.

Mit den CC Parametern habe ich bereits begonnen, die Umsetzung sollte relativ schnell gehn.
Erste Ergebnisse könnt ihr in den nächsten Tagen erwarten.

Etwas schwieriger wird es mit SysEx Parametern, da Ableton Live SysEx Messages nicht unterstützt.

Es gibt da aber einen Workaround, dabei sende ich die SysEx Werte über eine IP an ein externes Programm (MIDI-UDP-Bridge).
In diesem Programm stell ich mir dann nur den Midi In/Out SystemPort ein und übergehe damit Abletons Limitierung.

Hab ich schon mit einem zweiten Editor an dem ich arbeite (für Quasimidi Sirius) getestet und läuft prima.
Einziger Nachteil bisher - das Programm hat eine feste IP und so ist ein paralleler Betrieb für beide Editoren nicht möglich, weil die ja über verschiedene Ports senden müssten.
Mal schauen, ob sich da ne Lösung findet. Um eine modifizierte MIDI-UDP-Bridge selbst zu entwickeln bräuchte ich nicht Max for Live, sondern die Stand-alone Version Max/MSP/Jitter von Cycling74.
Aber vielleicht findet sich auch über die einschlägigen Foren jemand, der mir ne modifizierte Version zusammenhackt.

Erste Frage ( @ T.K.):
Gibt es auch eine SysEx Dokumentation für die Wavetable Adressen?
Das wär nämlich absolut "Feini-Feini", wenn man das Ding endlich mal in nem Übersichtlichen Sequencer UI editieren könnte...
Ich find das Gewurstel auf nem 2x40 Display nämlich ziemlich uninspirierend, da man halt immer nur einen Ausschnitt der Sequenz sieht.

Zweite Frage:

Wer von euch nutzt Ableton Live mit Max for Live und hätte Interesse an einem solchen Editor?

Meldet euch mal mit nem kurzen "Hier", ich brauch dann nämlich Beta Tester. ;)

Bis die Tage
Thomasch
 

 

 

<EDIT>
Sollte sich jemand mit der Stand-alone Version von Max/MSP/Jitter finden, der Willens ist mir beim Exportiern zu helfen, so wäre der Editor auch als VST/AU/Stand-alone für Mac & PC zu realisieren.


Damit wäre der Editor auch für die Besitzer anderer DAWs verfügbar.


Max for Live bietet solche Export Funktionen leider nicht an, die Patches müssten aber kompatibel zu Max/MSP/Jitter sein

Als normales VST / AU Plugin wäre das Ganze nämlich auch eine "Ctrlr" Alternative.
Bei mir aufm Mac funktioniert Ctrlr nämlich nicht so richtig.
Hängt sich ständig auf oder stürzt sogar komplett ab und reißt dann Ableton gleich mit...

Edited by Thomasch
Link to comment
Share on other sites

Hallo Thomasch,

Zu frage zwei: ich bin kein Ableton user und kann deshalb leider auch nicht beim Testen helfen, es sei denn, du schaffst es, ein Plugin zu generieren...

Zu frage eins: ich habe vor urzeiten mal einen wavetable editor fuer Jsynthlib geschrieben, der leider unter MacOS wegen diverser Java Inkompatiblitaeten nicht mehr laeuft... doch die Sourcen (die Du auf sourceforge findest) sind eine wertvolle informationsquelle.

Ich habe gerade keinen Zugriff auf die Sourcen, doch soweit ich mich erinnern kann, besteht bei der MBFM die Wavetable aus 32x4 Eintraegen.

Jeder Eintrag besteht also aus 4 Bytes, alle Bytes verwenden nur die ersten 7bit, so dass sie sich ohne Umkodierung via SysEx uebertragen lassen.

Im ersten Byte ist in Bit 0..4 ein Jump auf den naechsten Eintrag kodiert, und in Bit 5, 6 und 7 befindet sich ein Flag fuer die naechste 3 Bytes, mit dem man zwischen absolut und relativ Werte umschalten kann.

In den folgenden Bytes dann der Wert, der in die CC Register uebertragen werden soll.

Gruss, Thorsten.

Link to comment
Share on other sites

Hallo Thorsten,

 

hast du zufällig einen Link auf die Sourceforge Seite?

Ich finde nämlich nix über Google.

 

1.

Der CC Editor für den Drum Part ist übrigens sogut wie in trockenen Tüchern.

Siehe Screenshot:

post-10094-0-53851900-1380068759_thumb.j

Das Device funktioniert schonmal prima, ich werd aber noch ein paar Optimierungen und Verbesserungen vornehmen.
Dazu gehört auch eine lokale SoundLibrary, die unabhängig von den Hardware Presets läuft.

Als nächstes werde ich mir eine CC Version für die 4 Voice Parts Vorknöpfen.

Wenn alles was mit CCs machbar ist abgearbeitet ist, werd ich mich um die SysEx Sachen kümmern.

 

2.

Zu den SysEx Spielereien:

Einfache SysEx Befehle die einem spezifischen UI Objekt im Editor zugeordnet sind, kann ich schon versenden.

Möglich sind auch Dumps von beliebig langen SysEx Messages. Einzige Einschränkung, ich kann in dem SysEx Dump bisher leider nur eine begrenzte Anzahl von Variablen setzen.
Zumindest mit dem Objekt, daß ich momentan verwende.
Aber das ist nur ne Frage der Zeit, bis ich da nen Weg finde. und bis dahin sendet halt jeder Parameter ne komplette SysEx Message für sich allein.

Ich bin halt noch kompletter Anfänger, was die visuelle Programmiersprache Max angeht und mit anderen Programmiersprachen hab ich keine Erfahrung. (wenn man von ein paar "if then else" Schleifen in simplen BASIC Programmen irgendwann in den 80er Jahren absieht.)

Max hat über 1000 unterschiedliche Objekte und ich kenne bisher nur einen Bruchteil davon.

Da muß ich mich erstmal zurechtfinden.

Nunja, der Winter wird eh wieder lang... :smile:

 

3.

Beim Entwickeln des Drum Editors hab ich mich mal versucht in das interne Routing der einzelnen Instrumente hineinzudenken.

 

Ganz ehrlich - ich blick nicht so richtig, welcher Parameter mit welchem da intermoduliert.

 

Es macht mich total irre, daß ich nicht durchblicke wie die Parameter miteinander interagieren und das tun sie ja.

Dreh ich am Multiplier des Cymbals, ändert sich die Hihat.

Dreh ich am Frequeny und Frequency Increment Regler des Cymbal/Tom ändert sich ebenfalls die HiHat...
Die Snare spuckt bei manchen Waveformen völlig unvorhersehbar unterschiedliche Tonhöhen aus. Dabei scheint es wiederum eine Abhängigkeit zu geben, ob gleichzeitig das Cymbal zur Snare gespielt wird.
Bei der Bassdrum hab ich den Eindruck, daß der AM Modus nichts weiter macht, als den Modulator auszuschalten.

 

Ich blick nicht durch.

 

Gibts es irgendwelche Blockdiagramme oder Dokumentationen, wie der Drumpart intern verschaltet ist?

Ich würde gern die Routing Struktur, den Algorithmus  der hinter dem User Interface steckt verstehen.

Wenn man weiß, was passiert, macht es das Soundschrauben nämlich unendlich leichter.

 

4.

Ein weiteres Max4Live Projekt, daß bei mir aufm Plan steht, ist ein Pattern basierter Arpeggiator.

Um es kurz zu machen, jedem gespielten "Finger" wird dabei ein eigener Step Sequencer zugewiesen.

Daß heißt, greife ich bspw C-Dur dann wird nach Tonhöhe sortiert und indexiert.
C, E und G wird jeweils  ein Stepsequencer zugeordnet, der die Pitch Werte um die passenden NoteOn- und NoteOff-Velocity Werte des ArpPatterns ergänzt.

Grundvoraussetzung für ein solches Device wäre erstmal ein Patch, der mir die einzelnen Noten eines gespielten Akkords zur weiteren Verwendung auf einzelne Outputs separiert.

Wenn dann die einzelnen StepSequencer Linien noch hübsch in einer Matrix (ähnlich einem Piano Rol)l angeordnet werden, dann läßt sich damit ne hübsche Begleitautomatik erstellen, die zudem mehrstimmig erklingen kann, was weit über die Möglichkeiten eines normalen Apeggiators hinaus geht.

 

Worauf ich hinaus will...

...mit einem Max Patch, bei dem ich die einzelnen Stimmen eines Akkords den (auf jeweils einen eigenen Audioausgang gerouteten) 4 MBFM-Voices dynamisch zuordnen kann, ist es problemlos möglich 4 stimmig polyphone Spielereien mit externen Filtern zu veranstalten.

Das schreit geradzu nach einer Verwendung mit der MBFM.

 

Und wem 4 Stimmig polyphone Filter nicht genug sind, der kann damit auch mehrere MBFMs damit kaskadieren.

Natürlich immer genug Audioeingänge am Interface vorausgesetzt, müßten das ja nichtmal echte Hardwarefilter sein.

 

In Max4Live wär es möglich Filter Devices zu erstellen, die man einfach in jeden Einganskanal legt und die über die MIDI Signale mit getriggert werden.

 

Doch das sind alles erstmal noch Luftschlösser, die ich frühestens bauen kann, wenn ich bei Max ein wenig mehr durchgestiegen bin.

 


Aber alles halt Schritt für Schritt.

 

 

In diesem Sinne

Gruß

Thomasch

 

 

P.S.

@ Thorsten

Zu 4.

So ein Pattern basierter Arp wär doch sicher auch eine feine Sache ganz in MIDIbox Hardware und mit einer Button Matrix.

Das wär der absolute Bringer, wenn du sowas direkt für die MIDIbox proggen könntest.

Der Winter wird schließlich lang - aber ich glaube, das sagte ich schon. <grins>

 

Mit ner schicken 16x32 Button Matrix dürfte das ein ziemlich heftiges und vor allem Liveauftritt taugliches Tool werden, mit dem selbst ungeübte Keyboardspieler klasse Ergebnisse erzielen könnten.

 

Wäre eigentlich ein eigenes Thema wert, aber ich fürchte deine ToDo Liste ist sicher übervoll. ;)

 

 

 

P.P.S.

Ich werde so schnell wie möglich eine erste Version des Device bei maxforlive.com hochladen, muß aber den Patch noch ein wenig ausputzen vorher.

Den Downloadlink poste ich dann hier.

Edited by Thomasch
Link to comment
Share on other sites

Zu den Drums: eine Diskussion ueber dieses Thema gab es bspw. hier:

Vielleicht hast Du Lust, mal ein Diagram zu arbeiten?

JSynthLib sourcecode: http://sourceforge.net/p/jsynthlib/code/HEAD/tree/trunk/JSynthLib/synthdrivers/MIDIboxFM/

Arpeggiator: gibt es doch eigentlich schon in der MBSEQ, kennst du bspw diese tutorials? http://www.ucapps.de/midibox_seq_manual_tut.html

Gruss, Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...