[Project in progress] Controller MIDI RGB powered by Live

Discuss music production with Ableton Live.
Post Reply
Chris_Nilson
Posts: 7
Joined: Tue Mar 19, 2013 8:31 am

[Project in progress] Controller MIDI RGB powered by Live

Post by Chris_Nilson » Fri Apr 12, 2013 9:55 pm

Hi everyone,

I'm an engineering student and I work on a controller MIDI project based on Arduino (mega). This one is version of a Launchpad with RGB LED and I add on it some potards/faders and a LCD screen. I want to make a controller MIDI without the help of Max4Live or other osc/midi router because I want that all people is able to use it.

Now I manage to send MIDI on the ableton and to make (very) simple remote script (mapping transport menu, and "launchpad box").

Unfortunately I'm stuck on 2 steps :

1°) I don't know how to exactly how to get the color of the script. I already saw the LMO but I'm a newbie with python, so I progress slowly. So I'm looking for some code exemple.

2°) How to communicate in this way "Ableton -> Arduino" ? I saw the function Serial.available() to get some midi information from live (I used MIDI Monitor to analyse the midi information flux and it was the same datas that the Arduino's serial monitor showed me \o/ ) but the clip color information or postion are not midi information isn't ? I say that because, using MIDI Monitor with a Novation Launchpad, when I add a clip in Live this clip is visible on my Novation Launchpad but the midi message in MIDI monitor is always the same when I add a clip, so I can't catch the color... (But maybe is the same because the Novation lauchpad don't need the color so the remote script may not be written for this)

It will be nice if somebody could help me in this project.

PS : When this project will be finish I will publish all the step and the code (arduino and remote script) to build your own controller midi rgb because I didn't find a project like this on the net !

Chris_Nilson
Posts: 7
Joined: Tue Mar 19, 2013 8:31 am

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by Chris_Nilson » Sun Apr 14, 2013 8:13 pm

Anyone can help me ? :/

mots
Posts: 230
Joined: Fri Nov 17, 2006 9:07 am

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by mots » Mon Apr 15, 2013 7:02 am

Chris_Nilson wrote:Anyone can help me ? :/
maybe you hit the wrong forum. most visitor of this forum are musicians, not programmers/hackers.

you should give a shout at some Arduino forum.

friend of mind used a teensy lately. it looks really simple to bridge midi -> usb -> device.
http://www.marc-nostromo.com/?p=185

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by wiffbi » Mon Apr 15, 2013 8:03 pm

Chris_Nilson wrote: 1°) I don't know how to exactly how to get the color of the script. I already saw the LMO but I'm a newbie with python, so I progress slowly. So I'm looking for some code exemple.
What do you mean by color of the "script" - I assume you mean "clip". A clip has a color property available in the API.

http://cycling74.com/docs/max5/refpages ... .html#Clip

But note though AFAIK the Launchpad does color its pads based on status of a clip (playing, recording, launched, stopped, etc.).

Chris_Nilson wrote: 2°) How to communicate in this way "Ableton -> Arduino" ? I saw the function Serial.available() to get some midi information from live (I used MIDI Monitor to analyse the midi information flux and it was the same datas that the Arduino's serial monitor showed me \o/ ) but the clip color information or postion are not midi information isn't ? I say that because, using MIDI Monitor with a Novation Launchpad, when I add a clip in Live this clip is visible on my Novation Launchpad but the midi message in MIDI monitor is always the same when I add a clip, so I can't catch the color... (But maybe is the same because the Novation lauchpad don't need the color so the remote script may not be written for this)!
WIth MIDI Remote Scripts as the name suggests, everything you share is actually MIDI. Regarding the Launchpad, the clip color is AFAIK based on the status of a clip (playing, launched, etc. – please note though, that I do not have a launpad). Regarding the MIDI messages, have a look at the value of the MIDI message. I assume that that is where they base their change of color on. Also regarding position, I am not sure whether they send "position" somehow encoded in MIDI and send just the updated rows/cols – I guess they just update the whole grid by sending the complete grid as midi messages.

A clip’s color in Live is 256 values per color (one for Red, one for Green and one for Blue), to encode that in MIDI you probably need sysex messages as encoding that in "normal" MIDI messages like a CC would require 2 CC values per color value which is 6 CC values per clip to be sent.

I hope this helps regarding the Python/Live-API side.

Chris_Nilson
Posts: 7
Joined: Tue Mar 19, 2013 8:31 am

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by Chris_Nilson » Mon Apr 15, 2013 10:08 pm

mots wrote:
Chris_Nilson wrote:Anyone can help me ? :/
maybe you hit the wrong forum. most visitor of this forum are musicians, not programmers/hackers.

you should give a shout at some Arduino forum.

friend of mind used a teensy lately. it looks really simple to bridge midi -> usb -> device.
http://www.marc-nostromo.com/?p=185
I don't think I'm on the wrong forum. Indeed, Arduino have the knowledge for the transport of the MIDI information, but now I'm on the side of Ableton Live with its "own langage" so Arduino users can't do something... That's why I posted a topic on the official forum ;)






wiffbi wrote:
Chris_Nilson wrote: 1°) I don't know how to exactly how to get the color of the script. I already saw the LMO but I'm a newbie with python, so I progress slowly. So I'm looking for some code exemple.
What do you mean by color of the "script" - I assume you mean "clip". A clip has a color property available in the API.

http://cycling74.com/docs/max5/refpages ... .html#Clip

But note though AFAIK the Launchpad does color its pads based on status of a clip (playing, recording, launched, stopped, etc.).

Chris_Nilson wrote: 2°) How to communicate in this way "Ableton -> Arduino" ? I saw the function Serial.available() to get some midi information from live (I used MIDI Monitor to analyse the midi information flux and it was the same datas that the Arduino's serial monitor showed me \o/ ) but the clip color information or postion are not midi information isn't ? I say that because, using MIDI Monitor with a Novation Launchpad, when I add a clip in Live this clip is visible on my Novation Launchpad but the midi message in MIDI monitor is always the same when I add a clip, so I can't catch the color... (But maybe is the same because the Novation lauchpad don't need the color so the remote script may not be written for this)!
WIth MIDI Remote Scripts as the name suggests, everything you share is actually MIDI. Regarding the Launchpad, the clip color is AFAIK based on the status of a clip (playing, launched, etc. – please note though, that I do not have a launpad). Regarding the MIDI messages, have a look at the value of the MIDI message. I assume that that is where they base their change of color on. Also regarding position, I am not sure whether they send "position" somehow encoded in MIDI and send just the updated rows/cols – I guess they just update the whole grid by sending the complete grid as midi messages.

A clip’s color in Live is 256 values per color (one for Red, one for Green and one for Blue), to encode that in MIDI you probably need sysex messages as encoding that in "normal" MIDI messages like a CC would require 2 CC values per color value which is 6 CC values per clip to be sent.

I hope this helps regarding the Python/Live-API side.

By color I mean the color of the clip which is display on the session view. When you add a clip, it comes with a color. This is this color that interrests me.


Yes I mentionned Novation Launchpad but I misleaded you. The exemple of Push would be better. You get the color clip thath you see on your screen, on your matrice.

For the grid you must be right, I saw sometimes this method "update grid" so the complet grid must be sent as midi message, with the position.

For the color I found this project : https://github.com/trash80/AbletonTraktorKontrolF1 But I'm not yet able to understand this code, and how the color is send (I'm a true newbie in python ah ah) I sent an email to the author but I didn't have a reply from him...
For instance the video of the project : http://www.youtube.com/watch?v=HLEjDURINXE , it's exactly what I want to do, get the color of the clip on the matrice ;).



It will be really nice if someone could explain a little bit this code.

Chris_Nilson
Posts: 7
Joined: Tue Mar 19, 2013 8:31 am

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by Chris_Nilson » Thu Apr 18, 2013 7:02 pm

up

störgeräusche
Posts: 325
Joined: Thu May 08, 2008 9:04 pm
Contact:

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by störgeräusche » Thu Apr 18, 2013 8:38 pm

mots wrote: friend of mind
sorry for OT, hijack and trolling but
i think you made one of the best typos here :D :D

end of hijack/troll
soundcloud
website
______________________________________________________
Win7 Pro 64 - i7 870 @ 2.93 GHz - 16 GB RAM - RME Multiface II

Live Suite 9 - Komplete 9 - Waldorf Largo & Edition - Elektron Analog Rytm - Push 1&2- Launch Control & XL -
Adam P33A

Ubik
Posts: 259
Joined: Tue Dec 15, 2009 10:43 am
Location: Brussels

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by Ubik » Fri Apr 19, 2013 9:52 am

You could look into the push midi remote script to see how it's done. It has been decompiled by Julien Bayle, information here : http://julienbayle.net/blog/2013/03/03/ ... e-scripts/

Chris_Nilson
Posts: 7
Joined: Tue Mar 19, 2013 8:31 am

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by Chris_Nilson » Fri Apr 19, 2013 11:35 pm

Ubik wrote:You could look into the push midi remote script to see how it's done. It has been decompiled by Julien Bayle, information here : http://julienbayle.net/blog/2013/03/03/ ... e-scripts/
Thanks for the link but yes I already know this files. The main problem with the remote script of Push it's that they are too difficult to understand for a newbie in Python. I work actually with these files : https://github.com/trash80/AbletonTraktorKontrolF1 . Very simple, but I try already to understand how to send the color of the clip to write the code for my own remote script...

hacktheplanet
Posts: 2846
Joined: Sat Sep 25, 2004 6:37 am
Location: Chicago, IL
Contact:

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by hacktheplanet » Wed Oct 30, 2013 5:26 pm

Bump because i have the same question!

Using Arduino to send MIDI data into Live is pretty straightforward, but my question is exactly what type of MIDI data does the remote script api respond... SysEx?

For instance, pretend I have a device with an RGB LED. To control the color of this LED (according to the LOM), my device would receive a MIDI value which would set values in my device 0-255 for R G and B. I guess the Remote Script would read the clip color from Live, and send the data out?

edit:
I'm assuming it's like:
1. I tell Live to listen to various kinds of MIDI data from my device (by selecting input/output in control surface menus)
2. My device sets up the various kinds of MIDI data and sends it to Live
3. Live processes the various kinds of MIDI data using a Remote Script, and then does whatever
4. ???
5. Profit

So then to light this LED, I could send ANY type of MIDI data... Maybe a few 8 bit CC values, which are processed by the remote script to do adjust the colors.

Yet another question: Does this mean that if a Remote Script for a controller is listening to data on CC 110 (for instance), and I send data on CC 110 using some other controller, that the Remote Script will process the data in the same way?
Image

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by TomViolenz » Fri Nov 01, 2013 11:11 am

Yet another question: Does this mean that if a Remote Script for a controller is listening to data on CC 110 (for instance), and I send data on CC 110 using some other controller, that the Remote Script will process the data in the same way?
Isn't that what Midi channels are for?

BTW: I don't understand everything, but very interesting thread!

RegD
Posts: 46
Joined: Sat Nov 30, 2013 4:54 pm

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by RegD » Wed Jun 04, 2014 8:51 pm

Hi Chris,

It's been a while since you posted on this thread so hopefully you have figured it out. If not I can maybe advise you to have a look at the "steq", I think it does what you need. https://www.youtube.com/watch?v=-jywWlDTmf0
There is a version 3.0 available.

Quiet Erp
Posts: 42
Joined: Sat Feb 27, 2021 7:17 am

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by Quiet Erp » Wed Aug 14, 2024 7:05 pm

maybe you hit the wrong forum. most visitor of this forum are musicians, not programmers/hackers.
I'd say most of us are musicians, but its hard to avoid a bit of programming/hacking every so often. Especially when using a computer to create music. :P

chapelier fou
Posts: 6358
Joined: Mon May 15, 2006 12:15 pm

Re: [Project in progress] Controller MIDI RGB powered by Live

Post by chapelier fou » Wed Aug 14, 2024 8:21 pm

Some are archeologists as well, it seems !
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

Post Reply