Jump to content

new direction for midibox live (ableton live integration)


ultra

Recommended Posts

i've put a lot of work into integrating midibox with ableton live, and have had good results. project description here: http://midibox.org/dokuwiki/doku.php?id=midibox_live

i was going to create what is basically an API to allow others to code their own midiboxes that integrate with live, but i think that it's a lot of work for so few programmers, and it will leave a lot of people out of the loop. also, it's hard to decide how far to go with it. there's so many forms of control and communication that i've been able to expose to a midibox, and i don't know when to quit. it might be better to tailor this to specific projects.

instead i've decided to turn this into a modular system. the goal is to create a set of midiboxes that do different functions for live. master control, clip matrix trigger, instrument programmer, and perhaps even pattern/sequence designer. that way many people can use this technology (maybe kits?), and only use what they need. for instance, if your need is to control the master section of live, and the mixer sections for 8 tracks, you can build the midibox designed for this. if you need 16 tracks, you can build a second one. same for clip control, perhaps a midibox designed for 8x8 clip triggering, or a second for 16x8 clip triggering. in the end, you'd have a scalable set of midiboxes in pactec pt-10 cases that only do what you need, all of which automatically and completely integrate with ableton live behind the scenes using liveapi. sure, you'd have a lot of separate boxes to build, but you can use only what you need at the time you need them, instead of one big, difficult to build box that controls all functions, but is more generic.

so far, here's the ideas for the different midiboxes, all in pt-10 cases:

master section: designed to the mixer section of 8 tracks, and also master control. for the tracks you'll be able to control volume, panning, eq, and various other functions perhaps. for the master section, you can of course play/stop and control view (session/clip). i suppose scene triggering could be added to this. if 8 tracks isn't enough, you can bank them or build a second one that will control the next 8 tracks.

clip trigger: a 9x9 grid of buttons (perhaps livid's? for clip control. 8x8 for clips, a row for scene trigger, and a row for clip stop (if necessary). bi-color leds will show if a clip is present (led off if not), playing (one color), or stopped (another color). a blinking led (synced with beat time ;)) will show a crip is going to be triggered. your set of clips will be highlighted on-screen by ableton's red box like what you see with the akai controller. the set of clips to be controlled can be moved around via rotary encoders or buttons, and the leds will follow where you go automatically. the clip names can even be brought into the midibox, but i think it would be a problem trying to find a kit ready lcd that's big enough to show names for an 8x8 grid.

instrument programmer: it's possible to scan ableton live for the available instruments on a track, and a box could be created that automatically assigns itself to the available controls. some initial setup would be necessary, such as assigning the correct knobs and buttons to what you see on screen. but once this setup is done (perhaps configurations can be stored to an sd card), you can drop an instrument on a track and have the midibox automatically assign to the controls you want. parameter names could even be brought onto an lcd. if you select a different instrument in live, the box can automatically follow you and reassign its controls to whatever instrument you've selected. this would be the most difficult to code and the last i would build.

just a few ideas i'm throwing out there, i still believe that using liveapi is the way to go because you can integrate most of it without any kind of setup and no additional software layer (like MFL). the midibox can just read what live is doing and set itself up, and also automatically control what you want in live. a modular system allows you to use only what you need, and also simplifies programming because instead of making it all universal, i can tailor the code to specific needs. also a modular system will be scalable, so if you need 16 tracks, just build a second box in a compact pt-10 case. all boxes can plug into a hub using usb and communicate directly with live (and of course, live will communicate necessary information to ALL midiboxes, so if you change a track bank from the mixer box, the clip box and red grid will follow). these will all run on core32 for various reasons (mostly because core32 is f'n awesome).

i hope any of this makes sense, i got a little tipsy last night and it's carried over into today ;)

edit: nothing major, a lot to make tho. but i don't feel like it.

Edited by ultra
Link to comment
Share on other sites

i'm not a live user, but i like the modular design idea, and the decision to create different firmwares for different purposes, because this avoids the difficult "resource management" (e.g. pin assignments, allowed external peripheral combinations, etc.).

a "light wighted" firmware will also make it easier for other people to create derivatives, e.g. special adaptions for other DAWs

:thumbsup:

Best Regards, Thorsten.

Link to comment
Share on other sites

a "light wighted" firmware will also make it easier for other people to create derivatives, e.g. special adaptions for other DAWs

No doubt. If there's a way for a integration with a MIDIBOX and the FL Studio, I'm in. Because unfortunately the DAW I have adopted for a mass production, that is the FL Studio, do not have such API or something for freely bi-directional MIDI communication. There's some limited tools on the FL that helps with MIDI, for instance the Dashboard and the FL Synthmaker, but nothing beyond if I'm correct. It is a frustation having a huge MIDI gear, like a MIDIBOX in the hands... and a DAW, that you have became addicted to the workflow and not too much things on it to respond to the all of features of your gear. That's how I feel.

I was thinking to drop on the MB forum my complains about this and maybe invite FL users interested in solutions for a better integration with their MIDIboxes and the FL Studio. I think I'll create such topic in soon.

Btw...nice to see you are back to the action, ultra!

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Thanks,

I was tossing up between Ableton Live with a tightly integrated midi interface (must have step sequencer) or using Reaper + MBSeq. I looked briefly into Live's API and Max4Live situation, and decided to stay well away - especially given Ableton's poor delivery of promised hardware integration features with M4L.

Link to comment
Share on other sites

  • 1 month later...

Are you able to access data inside clips? Ie. use control surface as hardware step sequencer?

:)

In Max4Live there is the CS-Stepsequencer- it uses API Call functions that writes midinotes in midiclips - so there is a api function that can handle this - If you get acces via Midi for this Project to that api function? I dont know - but that would be nice - a CS-Stepsequencer without Max - YES that would be cool - combinied with the Midibox RGB Buttonmatrix ---> hardcore!

Link to comment
Share on other sites

  • 2 weeks later...

hey,

yeah i think the api has getNotes and setNotes methods, so this should be possible.

i'm almost done with the pcb design for two controllers. a tracks controller and a clip trigger controller. they start out as relatively simple devices, but fully integrated with live.

a future controller i had in mind is some kind of "clip designer". for one, it gives you fast access to settings related to the clip you're working on. also, it'll be used to build sequences.

my thought was to build the sequences internally in the midibox. you basically start out with a clean slate, and start adding things such as note and cc sequences to build your loop. there could be a series of "overlays" that you can apply to the sequence, such as knob sweeps or some nifty modulation patterns. also, an existing sequence could be retrieved from live and then operated on. when you're done, one button could set the track to record, start, and then stop when the loop is done.

If you get acces via Midi for this Project to that api function?

i have access to virtually anything i want, and can deliver the info to the midibox. clip/track/scene names are even transmitting, but i don't have a use for them in the two i'm designing right now.

more and more ideas have been popping into my head about what i/we can do with midibox live. my first thought was to make controllers that basically replace the apc40 and launchpad, and those are in the works. but since you can execute code based on whatever is happening in live, and use any value (such as a device parameter's value) in your code, quite a bit is possible.

as an example, you could queue parameter changes and not have them fire until the beginning of a loop, and have several fire simultaneously. you could also force one parameter's value to be a % of the other's. etc etc etc. not that these are necessarily useful, but useful ideas can come to mind.

another example, and this one i'm actually implementing: i'm using rotary encoders on the tracks box, which sucks for crossfading. but (hopefully) as a solution, i'm able to make a virtual center detent by using a "limit" switch. say your crossfader is at 25%. you hold the limit switch, move the encoder, and it won't allow it past 50% (or whatever value you've preset these to). once you've let go, you can go past 50%. but if you're holding it again going from 75% to 50%, it'll again stop at 50.

i'm open to any and all ideas that people may have for this, and i'm not against trying things that go a bit into the experimental category. i think that entirely new ways of using live can come out of this. for now, i'm short on time and i'm just doing what i can to produce the first two boxes, which will hopefully end up as easy and inexpensive (under $200 i hope) kits. the third box i'm planning (tentatively) is designed to expand the power of the other 2 boxes.

ultra

edit:

i'm not building a rgb matrix for clips, it's bi-color. but still, a clip designer midibox could certainly communicate with the trigger box and put it into a mode for building sequences. i would do it via live, so you still only need your usb cable connected to the pc and no interconnections between the boxes. i figured out how to make scripts communicate.

Edited by ultra
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...
×
×
  • Create New...