Max ? MSP ?

Dieses Thema im Forum "mit Sequencer" wurde erstellt von b166er, 1. September 2009.

  1. b166er

    b166er Tach

    Jo hossa,

    ich nerv ja grad ein bisi mit meinen Sequencerfragen :roll: deswegen gibt´s gleich noch eine ;-)

    Kann man einen Hardwaresequenzer mit Max/MSP erstellen ? In dem Sinne, dass man, wenn das Patch erstmal fertig ist, die Bedienung komplett ohne PC macht, also so ala NordModular : Aufbau mit Monitor+Maus, spielen ohne ?

    Mir schweb da sowas vor wie :

    1 Reihe mit 16 Tastern, beleuchtet
    2-4 Reihen mit 16 Potis, endlos mit Kranz
    Ein paar Taster für sonstige Funktionen, start, stop, taktweise blättern, patternwechsel etc.

    Die Werte gehen an den Host, auf dem Max läuft, man kann durch mehrere Takte steppen, dabei wird dann das jeweilige Werteset von MAX an die Hardware ausgegeben und man ist im Bilde ?`

    Oder ist das dann eher Overkill für MAX und klappt mit dem Timing nicht mehr ?

    Kann man einen Sequenzer in MAX realisieren ?

    Das Programmieren macht mir weniger Angst, muss halt sein, wenn ich nicht kaufen kann was ich haben will und schneller als das auf uC Basis zu entwickeln isses wohl auf jeden Fall. Die Frage ist nur, ob das prinzipiell überhaupt klappen KANN.
     
  2. Max

    Max bin angekommen

    Das sollte schon gehen mit Max/Msp, ich bin allerdings kein grosser Freund davon... manche schwoeren ja drauf, ich bin aber nie warm geworden damit.

    Wenn du programmieren kannst, wuerde ich dir - nicht erschrecken - C# empfehlen. Die Programmierung ist wesentlich entspannter als direkt auf der Hardware (C/C++ etc.) und trotzdem passts mit dem Timing.

    Eine gute MIDI-Library fuer .NET ist die von Leslie Sanford: http://www.lesliesanford.com/Programmin ... lkit.shtml
     
  3. b166er

    b166er Tach

    Danke für den Tip, aber von Programmieren _können_ bin ich noch entfernt, hab halt mal irgendwann C und C++ und Krams gemacht, aber das ist alles schon wieder vergessen ^^. Ich könnte mir vorstellen, dass MAX mich da schneller zum Ergebnis bringt, aber ich kuck mir das mal an - hab grad die Demo runtergeladen und 30 Tage ist ja mal ein Wort.

    Sollte es mit MAX nichts werden, wär wohl eher hardwarenah meine Vorstellung - wenn ich scohn "richtig" coden muss, dann lieber gleich auf einem uC. Dummerweise gibts bei MIDIbox keine Quelltexte IIRC, also das wäre dann insgesamt schon ein sehr steiniger Weg, denn wenn ich schon so einen Riesenaufwand betreiben mag, dann soll´s danach auch genau so funktionieren, wie ich´s mir vorstelle. Deswegen wär mir quelloffen schon wichtig und ich glaub da hat auch die MAX Community einiges zu bieten.

    Ich kuck mich mal um, könnte mir aber auch vorstellen, z.B. die Rosegarden Quellen mal zu sichten, evtl. kann man das verwenden und was embedded bauen.

    Andererseits bastel ich auch an LED-Steuerungen rum, nur: einen Sequenzer in Assembler ? Das wird dann 2011 :D
     
  4. pyrolator

    pyrolator bin angekommen

    Das ist mit Max möglich und überfordert die Engine keineswegs. Ich schreibe seit vielen Jahren an einem Sequenzer mit Max und er ist jetzt schon in seiner Version 4.1
    Er spielt auf 8 Midi-Kanälen timingsicher 8-stimmig polyphon und verrichtet dabei noch viele andere Aufgaben, wie Tables zur Skalenkorrektur, Prohabilität, Randomisierung ect ect.
    Allerdings war das zugegebenermassen ein ziemlich steiniger Weg und ich musste meine Engine dreimal grundsätzlich umschreiben, da Max einige Eigenarten hat, an die man sich gewöhnen muss: Die Objekte werden von rechts nach links abgearbeitet (wichtig für das timing!), bestimmte Objekte sind prozessorfressender , als andere, usw.
    Als Hardware benutze ich das Monome, hat zwar keine Drehregler, aber die kann ich immer noch einbinden, wenn ich will......
    Hier ein Bespiel eines Live eingespielten Stücks:



    src: https://vimeo.com/4208817
     
  5. mnb

    mnb -

    klar sollte das mit max gehen (warum nicht mit pd?), aber ich finde es auch etwas
    overkill sich dafuer einen dicken rechner und dann auch noch mit einer entsprechenden
    runtime hinzustellen. direkt auf nem microcontroler waer das imho schon eleganter.
    naja, ich wollt schon immer mal einen pd-sequencer-patch fuer meine nanokontrol bauen,
    der wuerde sicher sowas aehnliches wie das geforderte koennen, bis auf die
    lampen (und die encoder). mal gucken ob ich dazu mal komme...

    bis denn!
    martin
     
  6. b166er

    b166er Tach

    Monomo ? Das klingt ja hochinteressant, hab die Videos gesehen und find das Teil ganz schnuckelig, seh es aber weniger als Modulationssequenzer, sonder eher zum Komponieren und Arrangieren. Hab trotzdem ein Auge drauf geworfen und ne Menge Fragen dazu.

    Aber erstmal zu Max :

    Was ich mir vorstelle, ist ein Generator für MIDI CC, der es möglich macht, mehrere CCs gleichzeitig zu sehen und direkt zu verändern. So eine Art MAQ/3 auf Streoiden, wobei die Hardware variabel sein sollte, damit man erstmal mit einer vorhandenen Controllerbox arbeiten kann und sich mehr um das MAX Programm kümmern kann. Eigene Hardware, also sowas in der Art von 16 Steps mit Digitalpotis und Anzeige wäre dann v2. Ganz wichtiges Feature wäre das Arbeiten mit mehrtaktigen Sequenzen, wobei in Hardware aus Kosten- und Platzgründne halt immer nur ein Takt dargestellt wird.

    Für die Ein und Ausgabe stell ich mir möglichst beliebige Controllerboxen vor, die über MIDI Daten senden und empfangen können. Der Anteil von MAX liegt also darin, eine Controllerbox mit vielen Drehreglern auszulesen und bei Patternwechsel diese mit den aktuellen Werten zu füttern. Für die Entwicklung könnte das z.B. eine Behringer BCR2000 sein, die hat viele Regler, Drehkranzanzeige und leider ein gar nicht passendes Layout, aber das ist für die Programmentwicklung ja erstmal wurscht. Soviel zum Interface.

    Die gesetzten Werte sollen dann über einen zweiten MIDI Port ausgegeben werden.

    Sync auf MIDI Clock und MMC sollte auch sein.

    Wenn dann noch Zusatzfunktionen drin sind wie z.B. das Autogenerieren von Parameterkurven, wäre nett. Dann muss man für z.B. vier Takte Filter auf und Filter zu nicht tausend Regler anfassen, sondern hat ein Makro, bei dem man minimum, maximum und Dauer angibt, den Rest kann dann die Programmlogik machen.

    Geht sowas mit Max ? Und : Ist das timingfest ?



    Mikrocontroller ist natürlich der Königsweg, aber der ganze MIDI I/O Krams und die Sequenzerlogik sind dann weitere Baustellen, die bei MAX, wenn ich das recht verstanden habe, leichter zu lösen sind. Dann mal was umzubauen oder neue Ideen ausprobieren stell ich mir unter Max auch leichter vor, sozusagen Rapid Prototyping. Wenn dann mal die Bedienkonzepte gereift sind und das Teil kann, was ich mir vorstelle, dann könnt man´s natürlich übertragen und als standalone Box auf ner PIc laufen lassen oder sowas.

    PD sagt mit erstmal nix, wird aber gleich ergoogelt ;-)
     
  7. pyrolator

    pyrolator bin angekommen

    Ich sehe kein Problem das mit Max zu realisieren.
    Allerdings ist es im Vorfeld wichtig sich ganz strukturiert klar zu machen, um was für Daten es geht, um bei eventuellen Erweiterungen nicht wieder vorne anfangen zu müssen.
    Max ist gut, wenn es darum geht einzelne "Patches" wie modular miteinander zu verbinden. Es gibt dieses wunderbare Objekt "Bpatcher" - man schreibt eine bestimmte Funktion EINmal und kann sie dann immer wieder in den jeweiligen patchern einsetzen.
    Dafür braucht man aber eine recht klare Vorstellung über die Struktur des zu schreibenden Programms.
    Also z.b. ein patcher ist für MIDI-In zuständig, eines für die verschiedenen clocks, eines für das sequenzing usw.
    Alles in einem Fenster unterzubringen ist unübersichtlich und führt zu aufgeblähten Codes.

    Eine weitere Hürde ist das Format der Daten im Programm: Früher habe ich viel mit tables, bags und funbuffs gearbeitet - ist zwar sehr schnell und effektiv, führt aber dazu, dass Inhalte nur schlecht gespeichert und reproduziert werden können. Seit einiger Zeit arbeite ich fast ausschliesslich mit "colls" - ist zwar auf den ersten Blick umständlicher, führt aber zu erheblicher Vereinfachung, wenn Daten mal eben schnell übergeben werden sollen oder zum Abspeichern eines "Sequenzerzustands". Aber das geht vielleicht schon zu sehr in die Materie.....

    Grundsätzlich: Wie timingsicher das Ganze ist, hängt von Dir ab. Man kann den einzelnen Funktionen Prioritäten einräumen - und alles was Bildschirmdarstellung oder Grafische Objekte sind, steht bei mir ganz hinten an. Solange es nur um Midi CC geht, dürfte das kein Problem sein - mit Max/Msp werden da noch ganz andere Sachen auf der Audio-Ebene abverlangt, da wird es dann schonmal eng, wenn plötzlich ein paar Filter gleichzeitig zugehen (Audio, nicht Midi!).
    Ich kann Dich nur ermutigen Dir die 30 Tage Probeversion zu gönnen und in der Zeit die Tutorials durchzuarbeiten, dann bekommst Du ein Gefühl dafür, ob Dir Max liegt.
    Grüsse
    pyro
     
  8. Anonymous

    Anonymous Guest

    Oder Du könntest auch Keykit von Tim Thompson ausprobieren. Da wäre man dann schon sehr sehr nahe an der evtl. späteren Umsetzung von Keykit nach Mikrocontroller, z.B. Arduino, falls Keykit nicht schnell, stabil und robust genug für die eigenen Anforderungen wäre.

    Zum unpassenden Layout __eines__ BCR2000: Würden 2 bis 16 BCR2000 das Layout passender machen?

    Alle Prototyping-Ideen können schnell mit Keykit ausprobiert, umgetauscht, weiterentwickelt werden, dank der sehr umfangreichen Library im Keykit-Paket selbst. Wenn man irgendwann der Auffassung ist, das System will man gar nicht mehr verändern, könnte man versuchen dieses System nach Arduino umzuprogrammieren. Hier kann man etwas Ähnliches sehen.
     
  9. b166er

    b166er Tach

    Ola TonE,


    das mit den 2x BCR war mein erster Gedanke, aber dummerweise - ich hab das Ding mal aufgeschraubt - sind die 8er Reihen Encoder und die nebendran liegenden Taster alle auf einer großen Platine untergebracht, was irgendwie doof aussieht und auch eher nicht praktisch zu bedienen ist imho.

    Ich überleg noch, evtl. einen BCR komplett zu zerlegen, weil die Drehkranzencoder schon fein sind, wenn auch mechanisch nicht die tollsten. Ein gebrauchter BCR würde immerhin 32 Encoder liefern, zu dem Preis kriegt man sie eher nicht bei Reichelt ;-). Allerdings müsste ich dann doch wieder die Controllerlogik selbst machen, was bei der Behringer erstmal vermieden werden kann, wenn ich die von ihr generierten MIDI Messages auswerten kann.

    Also für einen schnellen Prototypen würde das mit 2xBCR schon gehen, aber auf Dauer isses nix, da führt kein Weg an eigener Hardware vorbei. Weil WENN ich schon so einen Aufwand betreiben, dann hab ich kein Bock, mich im Anschluss über labberige Encoder aufzuregen ;-).

    Keykit ist ja irgendwie von anno dunnemals, wird das überhaupt noch weiterentwickelt bzw. ist das auf dem aktuellen Stand ?

    Der Rest der Welt arbeitet doch eher mit Max oder PD. Ich kenn die Unterschiede zwischen den Plattformen noch nicht so genau, aber was wäre der Killervorteil, wenn man Keykit statt MAX oder PD einsetzt ?
     
  10. Anonymous

    Anonymous Guest

    Der MIDI-Standard ist ja auch schon älter, Keykit unterstützt den Midi-Standard, und ja das wird noch weiterentwickelt. Die GUI kannst Du einfach ignorieren. Wenn Du Dir die Programmiersprache Keykit genauer ansiehst solltest Du schnell merken wie genial alles ist, schaue einfach mal im Ordner "lib" die *.k Dateien in einem beliebigen Texteditor an. Du könntest mit typoh.k zum Beispiel anfangen, was über die PC-Tastatur Tastenbefehle in musikalische Ereignisse und Zustände umwandelt, das Ergebnis ist gleich hörbar.

    Der Killervorteil von Keykit gegenüber Max oder Pd ist, dass man damit richtig programmieren kann. Jeder der etwas Programmiererfahrung schon hat, kann also sofort davon profitieren. Ich kenne keine Einschränkungen, was man damit nicht programmieren könnte. Ich würde es sowieso vorziehen meist nur Feedback in Form von Text zurückzuliefern, damit man in der Übungsphase sieht, was wie wo getriggert wird. Aber laufende Punkte könnte man auch damit auf den Bildschirm malen, wenn man das will. Text ist für mich mehr als genug, schliesslich geht es ja um Musik.

    Was der Rest macht sollte nicht so wichtig sein oder doch?!
     

Diese Seite empfehlen