Gestern habe ich den ersten Teil des Interviews mit Christian Kleine und Nico Starke über ihr neues modulares System OSCiLLOT gepostet. Heute gibt's den zweiten Teil des Max for Cats Interviews. Die beiden haben mir auch netterweise fünf OSCiLLOT Lizenzen zur Verfügung gestellt. Falls Du gern eine davon hättest, kannst Du Dein Glück bei der Verlosung versuchen, die bis Montag um Mitternacht laufen wird. Viel Glück!

OSCiLLOT Giveaway

Welche Probleme oder Schwierigkeiten gab es, ein modulares System für Max for Live zu entwickeln?

NS: Naja... ich sag’s mal so: es war schon ein etwas steiniger Weg mit vielen Kompromissen und Workarounds. Die größte Herausforderung bestand darin, die Scripting Features von Max, auf denen OSCiLLOT basiert, in Live nutzbar zu machen, denn die werden nicht so wirklich von Max for Live unterstützt.

Erzeugt man zum Beispiel im Editor ein neues Modul, dann weiß Live darüber erstmal absolut nichts. Weder über die Position, noch über Parameterwerte oder gar Patchkabelverbindungen. Würde man also sein Live Set einfach abspeichern und wieder öffnen, dann wäre alles weg. Wir mussten also ein komplett eigenes Datenmodell entwickeln, was all diese Informationen abspeichert und korrekt wiederherstellt. Dummerweise gilt dies auch für Undo/Redo Aktionen, was eine der größten Hürden war.

Ein weiteres Problem war es, die Performance in den Griff zu bekommen. Dabei ging es gar nicht mal so sehr um die reine DSP Last. Die ist sogar halbwegs akzeptabel. Vielmehr machten uns die GUI Performance und die Ladezeiten zu schaffen. So haben wir viele UI Objekte wie Volume Meter oder Oszilloskope durch eigene OpenGL-basierte Varianten austauschen müssen.

Auch die Polyphonie war nicht besonders einfach zu realisieren, da unser spezieller Fall in Max rein konzeptionell nicht vorgesehen ist. Der nötige Workaround führt zu den relativ langen Ladezeiten. Wir hoffen aber, dass sich das in Zukunft noch etwas verbessern lässt. Max 7 ist von der GUI Performance her schon ein großer Schritt nach vorne und die Ladezeiten lassen sich bestimmt auch noch optimieren. 

Grundsätzlich war es trotz aller Hürden aber immer wieder beeindruckend, was man mit Max alles anstellen kann. Vor 4 1/2 Jahren hatte ich nicht mal ansatzweise daran geglaubt, dass dieses Projekt überhaupt realisierbar ist. Und dann gab es immer wieder diese Momente, wo man in Max wieder etwas neues entdeckt, einen neuen oder besseren Ansatz findet. Und dann sitzt man da und denkt "Wow... das geht ja doch!". Toll. Die Jungs von Cycling ’74 haben uns auch sehr unterstützt, auch wenn es manchmal nur ein offenes Ohr für unsere Sorgen und Probleme war.

OSCiLLOT preset

Habt ihr vor, an weiteren Projekten zusammen zu arbeiten oder ist OSCiLLOT ein einmaliges Projekt? Wird es weitere Module geben?

NS: OSCiLLOT ist natürlich ein großes Projekt und der Anfang ist gerade erst getan. Neue Module und ein paar Verbesserungen am Editor wird es von uns ganz bestimmt geben. Wir haben da so einige Ideen. Das System ist auch total offen für andere Max Programmierer. Wir hoffen ja, dass mal das ein oder andere tolle Modul von einem "Drittanbieter" das Licht der Welt erblickt. Was weitere Projekte angeht... da habe ich mir ehrlich gesagt noch nicht so viele Gedanken gemacht. Vermutlich wird uns der OSCiLLOT erstmal eine Weile beschäftigen. Aber wer weiß... vielleicht gibt es ja in Zukunft noch andere Max for Cats Devices, bei denen wir zusammenarbeiten.

CK: Das sehe ich genauso – erstmal wollen wir uns alle Wünsche für OSCiLLOT erfüllen (mehr Sample-basierte Module z.B.); alles weitere wird sich zeigen...

OSCiLLOT preset

Kann man OSCiLLOT mit MIDI Controllern steuern oder mit OSCiLLOT auch etwas anderes innerhalb von Live oder sogar Hardware?

NS: MIDI Controller direkt zuzuweisen geht leider nicht. Diese Limitierung ist bedingt durch die oben angesprochene Problematik, dass Live von der Existenz der Module/Parameter nichts weiß. Unser Workaround besteht aus den Macro-Controls, die man unten im eigentlichen Max for Live Device findet. Die lassen sich in der aktuellen Version an die CV-Inputs eines Moduls anbinden. Somit hat man praktisch einen Proxy für MIDI Mappings und Automation.

Eventuell wird es irgendwann noch eine Möglichkeit geben, Macros direkt auf Modul-Parameter zu mappen oder auch andersrum - Modul-Parameter auf Live Parameter, aber das braucht alles noch etwas mehr Arbeit.

Abgesehen davon kann man OSCiLLOT durchaus auch zum Steuern oder Erweitern von externer Hardware benutzen. Mit einem geeigneten Interface kann man z.B. CV/Gate Signale an ein Hardware Modular-System oder an einen CV/Gate-kompatiblen Synth senden. Oder auch einfach nur reine Audiosignale - Rauschgeneratoren, digitale Oszillatoren oder Sample-Playback aus dem OSCiLLOT mit analogen Oscillatoren und Filtern zu kombinieren ist schon eine feine Sache.

Zum Glück hat sich in den letzten Jahren sehr viel Interessantes im Hardwarebereich getan. So gibt es inzwischen z.B. ein ganzes Arsenal an verschiedenen Interface-Optionen der Firma Expert Sleepers. Ich persönlich benutze eine ES-3/ES-6 Kombination für mein Hardware Modular. Damit kann ich hochauflösende Steuerspannungen und Audio Signale über 2 kompakte Module senden und auch empfangen. Für einfachere Anwendungen reicht aber auch schon ein simples MIDI - CV/Gate Interface.

Max for Cats auf Sonic Bloom