Monome 40h and Ableton Live through ChucK (video) with code

Discuss music production with Ableton Live.
formatk
Posts: 371
Joined: Fri Sep 29, 2006 3:14 pm
Location: London, UK
Contact:

Post by formatk » Sat Jan 27, 2007 2:16 pm

I'm impressed with using the monome and ableton to wade through a drum break like you demo'd very nice. I know they're running out of them, maybe I can still look for those DIY kits.
http://www.myspace.com/formatk
http://www.karlsadler.com
http://www.kandledesign.com

Artist & Visualist
MacBook Pro C2D 2.4Ghz, 4GB RAM Live 7.0.14, OSX10.6.2, Launchpad, AkaiMPD24, Akai S20, Oxygen 8, Presonus Inspire, Rode NT1a/M3, Shure SM58

eamoon
Posts: 189
Joined: Wed Jun 12, 2002 10:01 pm
Contact:

Post by eamoon » Sun Jan 28, 2007 6:56 pm

ahlstrominfo wrote:I wish I could do it with only the monome and chuck... but not at the moment, since Live has no possabilities of sending or receiving clip position through midi.
I got my hopes up when I noticed that the area next to the track stop button was assignable in MIDI map mode (and the description is something like "clip status") -- but it doesn't seem to send or receive anything when mapped to either a note or a CC. Oh well.

citrik
Posts: 49
Joined: Wed Feb 27, 2002 11:40 pm
Location: SF - Berlin

Post by citrik » Sun Feb 04, 2007 12:31 pm

Any chance of you posting your chuck script somewhere? Looks really cool, I'd love to try it out with my Monome...

Thanks,
Citrik
-CitrikSystems-
-minimaltechno-

ahlstrominfo
Posts: 296
Joined: Wed Sep 28, 2005 8:11 am
Location: Stockholm, Sweden

Post by ahlstrominfo » Sun Feb 04, 2007 12:36 pm

citrik wrote:Any chance of you posting your chuck script somewhere? Looks really cool, I'd love to try it out with my Monome...

Thanks,
Citrik
oops thought i had :)
its up at the monome forum: http://forum.monome.org/topic/570#3331
My old signature was pretty stupid, so I changed it to this one.

JJupiter
Posts: 51
Joined: Wed Dec 24, 2003 1:31 pm

Post by JJupiter » Tue Feb 06, 2007 10:33 am

He ahlstrominfo,

You made my day, by introducing me to Chuck, and showing the way you program with OSC and Midi. It made me order the monome right away. (I'm weak for toys).

Cheers mate!

J*

kidbeyond
Posts: 19
Joined: Tue Aug 30, 2005 6:34 am
Location: San Francisco, CA
Contact:

Post by kidbeyond » Wed Feb 28, 2007 8:47 am

Ahlstrominfo,

I just watched all your Monome videos on YouTube. Nice work! It makes me WANT ONE, BADLY. I have no idea how hard it was to get the Monome to talk to Ableton, but it's a great result. And your beat-juggling is on point too!
ahlstrominfo wrote:
formatk wrote:in that last demo, did you have multiple clips in a track with different start points and enabled follow actions, or where you using the monome to automate the loop brackets in a clip?
Mulitple clips with follow-actions is the way to do this.

I wish I could do it with only the monome and chuck... but not at the moment, since Live has no possabilities of sending or receiving clip position through midi.
What about the Clip Scrub Control button? This is the little button that appears in the Clip View between the Nudge Backward and Forward arrows when you enter Midi Map mode. (See section 8.1.5 of the Live 6 manual.)

This button can be mapped to a controller, so pumping out absolute controller values will play the clip at the corresponding clip position (depending on your quantization level).

The only wrinkle is you can't have a different controller mapping for each clip; the controller will scrub whatever clip (or clips) is *currently selected.*

So you just need a way to automate the following:
1) Select the clip, as if you were mouse-clicking the clip rectangle;
2) Output the controller value for the desired clip position.

One easy way to do #1 might be to set the clip's Launch mode to Trigger + Legato, and have a midi note assigned to the clip's Launch button. With Legato on, hitting the Launch button doesn't restart the clip from the beginning (this is a good thing), and it also selects the clip, paving the way for #2.

So each Monome button would output two midi messages: one to launch the clip, and one to set the clip's scrub position. I'm assuming that's easy in ChucK; if not, you could do it in MidiPipe or ControlAid (Mac) or Bome (Win).

Would this work?

-- Kid B

ahlstrominfo
Posts: 296
Joined: Wed Sep 28, 2005 8:11 am
Location: Stockholm, Sweden

Post by ahlstrominfo » Wed Feb 28, 2007 9:21 am

kidbeyond wrote:Ahlstrominfo,

I just watched all your Monome videos on YouTube. Nice work! It makes me WANT ONE, BADLY. I have no idea how hard it was to get the Monome to talk to Ableton, but it's a great result. And your beat-juggling is on point too!
ahlstrominfo wrote:
formatk wrote:in that last demo, did you have multiple clips in a track with different start points and enabled follow actions, or where you using the monome to automate the loop brackets in a clip?
Mulitple clips with follow-actions is the way to do this.

I wish I could do it with only the monome and chuck... but not at the moment, since Live has no possabilities of sending or receiving clip position through midi.
What about the Clip Scrub Control button? This is the little button that appears in the Clip View between the Nudge Backward and Forward arrows when you enter Midi Map mode. (See section 8.1.5 of the Live 6 manual.)

This button can be mapped to a controller, so pumping out absolute controller values will play the clip at the corresponding clip position (depending on your quantization level).

The only wrinkle is you can't have a different controller mapping for each clip; the controller will scrub whatever clip (or clips) is *currently selected.*

So you just need a way to automate the following:
1) Select the clip, as if you were mouse-clicking the clip rectangle;
2) Output the controller value for the desired clip position.

One easy way to do #1 might be to set the clip's Launch mode to Trigger + Legato, and have a midi note assigned to the clip's Launch button. With Legato on, hitting the Launch button doesn't restart the clip from the beginning (this is a good thing), and it also selects the clip, paving the way for #2.

So each Monome button would output two midi messages: one to launch the clip, and one to set the clip's scrub position. I'm assuming that's easy in ChucK; if not, you could do it in MidiPipe or ControlAid (Mac) or Bome (Win).

Would this work?

-- Kid B
The problem with legato is that it doesnt jump to the position where I want to. If I divided a clip over 8 buttons and the clip is right now at button 3, if I press button 6 it will just continue playing the loop but it will have a new start button for the loop.

As my code works when I press a button it sends midi to Live then when Live confirms that the clip is being played it returns midi to ChucK and then the light is triggered.

Anyhow it is probably doable with scrubbing and such but there will not be a midifeedback from live so that I know where in the loop I am. As the code is now, I can press a clip in Live or on the Monome and the right light will fire up on the monome.
My old signature was pretty stupid, so I changed it to this one.

kidbeyond
Posts: 19
Joined: Tue Aug 30, 2005 6:34 am
Location: San Francisco, CA
Contact:

Post by kidbeyond » Wed Feb 28, 2007 9:18 pm

ahlstrominfo wrote:Anyhow it is probably doable with scrubbing and such but there will not be a midifeedback from live so that I know where in the loop I am. As the code is now, I can press a clip in Live or on the Monome and the right light will fire up on the monome.
Hmm, yeah. There's probably some workaround -- like using little midi clips that trigger both the sound clips and the lights -- but that's probably too much hassle for too little benefit.

The attraction of the scrubbing route for me is that I could possibly get it to work with clips that I record live onstage. (I don't think I could pull off the muitiple-copies thing onstage.)

I just bought a Kaoss Pad KP3; maybe I could mock up some things on that. If I come up with anything interesting, I'll let you know.

More videos, please! Very inspiring!

-- Kid B

Post Reply