[Project in progress] Controller MIDI RGB powered by Live
-
Chris_Nilson
- Posts: 7
- Joined: Tue Mar 19, 2013 8:31 am
[Project in progress] Controller MIDI RGB powered by Live
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 !
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
Anyone can help me ? :/
Re: [Project in progress] Controller MIDI RGB powered by Live
maybe you hit the wrong forum. most visitor of this forum are musicians, not programmers/hackers.Chris_Nilson wrote:Anyone can help me ? :/
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
Re: [Project in progress] Controller MIDI RGB powered by Live
What do you mean by color of the "script" - I assume you mean "clip". A clip has a color property available in the API.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.
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.).
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.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)!
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
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 forummots wrote:maybe you hit the wrong forum. most visitor of this forum are musicians, not programmers/hackers.Chris_Nilson wrote:Anyone can help me ? :/
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 wrote:What do you mean by color of the "script" - I assume you mean "clip". A clip has a color property available in the API.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.
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.).
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.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)!
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
-
störgeräusche
- Posts: 325
- Joined: Thu May 08, 2008 9:04 pm
- Contact:
Re: [Project in progress] Controller MIDI RGB powered by Live
sorry for OT, hijack and trolling butmots wrote: friend of mind
i think you made one of the best typos here
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
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
Re: [Project in progress] Controller MIDI RGB powered by Live
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
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...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/
-
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
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?
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?
-
TomViolenz
- Posts: 6854
- Joined: Mon Dec 13, 2010 6:19 pm
Re: [Project in progress] Controller MIDI RGB powered by Live
Isn't that what Midi channels are for?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?
BTW: I don't understand everything, but very interesting thread!
Re: [Project in progress] Controller MIDI RGB powered by Live
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.
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.
Re: [Project in progress] Controller MIDI RGB powered by Live
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.maybe you hit the wrong forum. most visitor of this forum are musicians, not programmers/hackers.
-
chapelier fou
- Posts: 6358
- Joined: Mon May 15, 2006 12:15 pm
Re: [Project in progress] Controller MIDI RGB powered by Live
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
MacStudio M1Max 32Go OS 12.3.1
