Page 1 of 1
Convert CCs to MIDI Notes?
Posted: Sun Jul 03, 2011 9:09 pm
by dentaku
I'm working on some geeky stuff that would require me to convert CCs to MIDI Notes without using MAX4Live. I keep finding stuff that lets you convert Notes to CC but not the other way around.
Basically, CCs with values from 0-127 are received and converted to 128 different notes. I've used GlovePIE in the past to convert Joystick input to MIDI notes that would then be sent to MIDI-Yoke and that works but it doesn't look like GlovePIE can accept MIDI CCS as INPUTS (or maybe I don't understand it). ToyBear Midi Control Center lets you assign a slider to send out 128 MIDI notes too but it doesn't accept MIDI input either, just mouse and Joysticks.
I don't care if I need to do this all in an external program then send it's output over MIDI-Yoke but it would be nice if there was a simple little VST that would let you do this.
It looks like Puredata is free so maybe I could figure out a way of doing it in PD.
Re: Convert CCs to MIDI Notes?
Posted: Mon Jul 04, 2011 3:15 am
by Warrior Bob
Any reason you're trying to avoid Max4Live? Is it just because it costs money?
If you're okay sending MIDI out of Live and back, Pure Data was the first thing I thought of for doing this. I don't remember the objects well enough to suggest anything, but it seems like something that could be done in PD without too much trouble.
Since you're using GlovePIE you're likely on Windows, so you might be able to find some kind of MIDI transformation feature in MIDI-OX as well. I don't know if it has this specific ability (and IIRC it's kind of a pain to program) but it's a nice toolset for MIDI routings so it's at least something to look at.
Best of luck!
Re: Convert CCs to MIDI Notes?
Posted: Mon Jul 04, 2011 11:06 am
by dentaku
I'm using a little app that can only send MIDI CC data which I can then send over MIDI-Yoke so it can be used to control anything. The thing is now I'd like to convert that data to MIDI Notes instead. So far I've found that I already have 2 VSTs that can do the opposite.
I guess I'll have to look into PD since it's free.
Unless someone can think of a way of having a macro knob in Live trigger MIDI notes as you turn it up and down using just the basic tools? I can control knobs and sliders just fine with CCs of course.
Re: Convert CCs to MIDI Notes?
Posted: Mon Jul 04, 2011 9:29 pm
by dentaku
I ended up installing Pure Data and I figured out a way to convert CCs to NOTEs after looking at the docementation and learning how MIDI works in PD. It's quite a useful program.
ctlin 1 and ctlin 2 listen for CC messages on channels 1 and 2 though MIDI-YOKE 1 from a program that can only send CCs.
The VALUE from channel 1 gets sent to a NUMBER box and that number gets sent to the PITCH of a MAKENOTE
The VALUE from channel 2 gets sent to a NUMBER box and that number gets sent to the VELOCITY of a MAKENOTE
The note length of each note is set to always be 500ms (it sends a note off after 500ms) but I can modify it with a third ctlin if I want to.
All of that goes to the NOTEOUT which gets send to MIDI-YOKE 2 and to whatever VST or software I want.
Warrior Bob wrote:Any reason you're trying to avoid Max4Live? Is it just because it costs money?
If you're okay sending MIDI out of Live and back, Pure Data was the first thing I thought of for doing this. I don't remember the objects well enough to suggest anything, but it seems like something that could be done in PD without too much trouble.
Since you're using GlovePIE you're likely on Windows, so you might be able to find some kind of MIDI transformation feature in MIDI-OX as well. I don't know if it has this specific ability (and IIRC it's kind of a pain to program) but it's a nice toolset for MIDI routings so it's at least something to look at.
Best of luck!
Re: Convert CCs to MIDI Notes?
Posted: Tue Jul 05, 2011 1:05 am
by dentaku
I was just messing with some of the pizmidi tools I've always had installed but never bother figuring out and found that
midiconverter3 can be used to convert CCs to Note On # so I don't need to go through the extra complication of using Pure Data and extra MIDI-Yoke ports. Oh well, at least I learned something about PD.
It's all here.
http://thepiz.org/plugins/?p=pizmidi
The biggest problem with this VST is that I an only use one MIDI CC at a time but with my PD patch I can use as many as I want.
I guess I'm gonna have to mess with this a but more and see what I come up with.
Re: Convert CCs to MIDI Notes?
Posted: Tue Jul 05, 2011 1:10 am
by crumhorn
Check out the use of the spigot object and the relational operator (==) in PD. you can make your patch respond to a particular control number instead of any controller on a particular channel.
Re: Convert CCs to MIDI Notes?
Posted: Tue Jul 05, 2011 1:30 am
by dentaku
OK
The reason I did it that way is because the app I'm using to send CCs into PD has 4 modifiable parameters and for some reason they MUST be all on different channels (
I didn't write the app so I don't know why) so the way I did it works just fine.
Now that I've figured out Pizmidi midiConverter3 I don't even need the extra complication of using PD anyway but someday I'm going to stumble onto something that need more advanced math than any little VST can give me and PD will come in handy.
What I've done now is to put midiConverter3 in track#2 with Input Type set to
CC and Output Type set to
Note On #
Add Note Off is on so that the notes don't go on forever
In track#1 I have an instrument
MIDI From 2-midiConverter3/midiConverter3
If I send CCs into track 2 they get converted to Note On # and Track 1 receives this information and notes play in sequence as I turn a knob for instance.
crumhorn wrote:Check out the use of the spigot object and the relational operator (==) in PD. you can make your patch respond to a particular control number instead of any controller on a particular channel.
Re: Convert CCs to MIDI Notes?
Posted: Tue Jul 05, 2011 2:16 am
by dentaku
I just noticed another thing about doing it with midConverter3 is that you can send it to Operator and it works fine but if you send it's output to certain VSTs you need to put a Note Length device before the VST to get any sound because midiConverter has no way of adjusting the time between the Note On and the Note Off.
I was going to use a Note Legth device anyway so it not a problem.
Re: Convert CCs to MIDI Notes?
Posted: Thu Jul 07, 2011 11:53 pm
by Warrior Bob
dentaku wrote:I ended up installing Pure Data and I figured out a way to convert CCs to NOTEs after looking at the docementation and learning how MIDI works in PD. It's quite a useful program.
ctlin 1 and ctlin 2 listen for CC messages on channels 1 and 2 though MIDI-YOKE 1 from a program that can only send CCs.
The VALUE from channel 1 gets sent to a NUMBER box and that number gets sent to the PITCH of a MAKENOTE
The VALUE from channel 2 gets sent to a NUMBER box and that number gets sent to the VELOCITY of a MAKENOTE
The note length of each note is set to always be 500ms (it sends a note off after 500ms) but I can modify it with a third ctlin if I want to.
All of that goes to the NOTEOUT which gets send to MIDI-YOKE 2 and to whatever VST or software I want.
I just wanted to point out that this is totally awesome.
You opened up PD, learned enough to solve your problem, and then posted the patch on the forum. Even though it wasn't what you eventually used, you still did your homework and shared your results - that's admirable and that kind of thing doesn't get enough respect these days.
So yeah, well done

Re: Convert CCs to MIDI Notes?
Posted: Fri Jul 08, 2011 5:22 pm
by dentaku
It's nice to know that PD is there in case I need it someday but I've found using VSTs that can do the same thing interesting too. The problem with the VSTs is that Live is horrible with MIDI effect VSTs. It treats them as instruments so it doesn't let you put 2 of them on the same track.
I've done a bit more work since then.
- I put midiConverter3 in track#1 with Input Type set to CC and Output Type set to Note On # "Add Note Off" is on so that the notes don't go on forever. I also have the Low Output set to 60(C3) and the High Output set to 72(C4) so as I turn the knob a full 128 ticks it only plays 12 notes. I've limited the range of notes it plays to one octave in other words
The problem with this is that when I turn the knob it plays the same note many times (C,C,C,C,C,....C#,C#,C#,C#.... etc.) and I only want them to play once so I used another plugin which unfortunately need to go in a totally separate track because I can't out 2 MIDI effect VSTs on the same track in Live
- In track#2 I have another MIDI effect from Pizmidi called midiDuplicateBlocker which will filter any notes that are the same as the previous note played. This way I only hear each of the 12 notes once and it spreads them all evenly across the entire range of the knob.
Track #2 is set to In and listens to what's coming out of track #1
- track#3 gets MIDI From 2-midiDuplicateBlocker/midiDuplicateBlocker which then gets sent through a Note Length effect (because CCS don't have length information) and then to an instrument.
My next step is to figure out how to change the order of the notes so they don't just play C3 to C4 like an octave on a piano but something more like E A D G B E for the first 6 notes then E A D G B E again just in a higher octave. I can't figure out how to use the Scale plugin to do this though.
As you turn the knob you would get something more like the effect of strumming a guitar. It would be more of a mutant Chapman Stick like 12 string guitar but it would be less keyboard-esque.
Something like this would be nice too.
http://www.stick.com/instruments/tunings/12/classic_66/
Warrior Bob wrote:dentaku wrote:I ended up installing Pure Data and I figured out a way to convert CCs to NOTEs after looking at the docementation and learning how MIDI works in PD. It's quite a useful program.
ctlin 1 and ctlin 2 listen for CC messages on channels 1 and 2 though MIDI-YOKE 1 from a program that can only send CCs.
The VALUE from channel 1 gets sent to a NUMBER box and that number gets sent to the PITCH of a MAKENOTE
The VALUE from channel 2 gets sent to a NUMBER box and that number gets sent to the VELOCITY of a MAKENOTE
The note length of each note is set to always be 500ms (it sends a note off after 500ms) but I can modify it with a third ctlin if I want to.
All of that goes to the NOTEOUT which gets send to MIDI-YOKE 2 and to whatever VST or software I want.
I just wanted to point out that this is totally awesome.
You opened up PD, learned enough to solve your problem, and then posted the patch on the forum. Even though it wasn't what you eventually used, you still did your homework and shared your results - that's admirable and that kind of thing doesn't get enough respect these days.
So yeah, well done
