MIDI Note to CC Value

277 views
Skip to first unread message

Stephen Garrett

unread,
Jul 28, 2013, 5:42:05 PM7/28/13
to midi-shap...@googlegroups.com
Hi Rob,

I found this plugin today looking for a vst to help me fire the play and record commands on my VoiceLive Touch live looper for a DAW to sync the loop length to the same length as a loop in one of my projects. The MIDI is a little unusual on the VLT. The looping commands are all accessed by setting the CC44 parameter to different values. For example, to start a recording you set the CC44 parameter to a value of 1. To stop the recording, you set it to a value of 2, and erase by setting the value to 26 and so on. I figured I could map a note firing to signal this change with MSS, but so far, I'm not sure where to start. I have the note showing up as my input, but then when I choose CC I get a channel and a parameter as inputs. My VLT is set to receive on channel 1 and the parameter is the CC number I am assuming, but does that mean that the velocity of the note being triggered corresponds to the value of the CC message? If that is the case, is there a way for me to access that information differently?

My ideal solution would be to have the note number be the value sent to the CC on the VLT. So by pressing note 1, it would set the CC to 1 or pressing note 26 would set the CC value 26. I am guessing the Y= has some way to do this but I am unsure how it works.

I am excited about this plugin though. I am learning C# at work and I am pumped to look into how this plugin works!

Thanks,

Stephen

Stephen Garrett

unread,
Jul 28, 2013, 5:43:52 PM7/28/13
to midi-shap...@googlegroups.com

VoiceLive Touch live looper from* a DAW

Stephen Garrett

unread,
Jul 28, 2013, 6:14:48 PM7/28/13
to midi-shap...@googlegroups.com
Awesome. I mapped the Parameter range to notes 0-26 and then mapped the output to CC44 and used the Note Number as the input. I am super excited. Thanks Rob!

Rob

unread,
Jul 28, 2013, 6:22:02 PM7/28/13
to midi-shap...@googlegroups.com
Hey Stephen,

You should be able to accomplish that with MSS. The prama range field corresponds to the second byte of MIDI data. So Note number for note message or CC number for CC messages. I could probably change the wording to make that more obvious. The "Y =" field corresponds the the third byte of MIDI data. By default the transformation section will specify how the third byte from the input message maps the the third byte of the output message. But you can just change the input to "Note Number" so that the note number will map to CC44's CC value.


Ah I was just responding to your first question but it looks like you already figured it out. Nicely done :) Let me know if you have any other questions.

If you decide you'd be interested in contributing some code I'd be happy to walk you through how it works and help you get an environment setup.

Rob

Stephen Garrett

unread,
Jul 29, 2013, 7:37:51 AM7/29/13
to midi-shap...@googlegroups.com
I would like that. I'm not sure what I could add, but I have always been interested in how vst's and plugins work.

Rob

unread,
Jul 29, 2013, 2:45:58 PM7/29/13
to midi-shap...@googlegroups.com
Ok cool. I'll create a wiki page that covers how to set up the environment. Do you have access to VS2010 or later? If not you could probably use the free version.

MSS is pretty different from most VSTs in that it doesn't interact with the VST APIs directly. Instead it uses a .net wrapper called VST.NET. Anyway I'll let you know once I create the wiki page.

Rob

Stephen Garrett

unread,
Jul 29, 2013, 9:06:22 PM7/29/13
to midi-shap...@googlegroups.com
I do have Visual Studio, and I'll take a look at the VST.Net stuff that sounds interesting.

Rob

unread,
Jul 30, 2013, 9:25:45 PM7/30/13
to midi-shap...@googlegroups.com
Here's a wiki page on setting up the dev environment: http://code.google.com/p/midi-shape-shifter/wiki/SetupMSSEnvironment?ts=1375233702&updated=SetupMSSEnvironment

Let me know how it goes. If you get it up and running I can explain the basic signal flow of MIDI messages through the plugin or whatever else your interested in. I'm going to be away from the 1st until the 5th so I may take a while to respond though.

Stephen Garrett

unread,
Aug 4, 2013, 6:11:32 PM8/4/13
to midi-shap...@googlegroups.com
I will try it out this week and see if I can get it up and running. I am still very green with type of thing, but I have been interested in doing something like this for a while. Thanks Rob.

bookz

unread,
Aug 16, 2013, 8:59:30 AM8/16/13
to midi-shap...@googlegroups.com
Hello Rob

So I downloaded MSS to do something similar...
I basically want to use my midi keyboard(or midi note) to effect a midi cc# controller number (71) for Reason/Combinator.
(Instead of drawing automation, I want to play it using midi notes)

So should I set the input to "Note Number" and the Output to "Parameter"? 
I'm not sure how to set up the output section...

I'm using Samplitude as my daw... I will also have to figure out how to do the routing for it also. I have Midi Thru enabled, but that's something I'll have to look into as well. Samplitude doesn't have midi fx or anything, and is a bit limited in midi routing, which is how I came across MSS



Thanks!

Stephen Garrett

unread,
Aug 16, 2013, 9:52:12 AM8/16/13
to midi-shap...@googlegroups.com
I set my plugin up by receiving note numbers. I don't know if this is true for all host environments, but in FL Studio the plug-in worked better when I sent in MIDI notes and had the plugin learn the input rather than inputting it manually. Then, the Out message type is set to CC. The channel stays the same as the input. To control CC 71 you would set Param Range to 71. The entire 127 value range of the CC can be controlled by sending in Note Number values
by setting the Input drop down in the Transformation section to Note Numbers. Then it will be a direct conversion. The lower the note on the keyboard, the lower the CC value. You will probably need to be some sort of calculation that takes the lowest note on your keyboard and makes the CC value 0, and then takes the highest note on your keyboard and make it 127. That I don't know how to do yet.

I don't know much about Samplitude, but you probably need something like MIDI Yoke to route the MIDI back into the channel you are wanting to automate. I will see what I can find out. I am trying to do something similar in Ableton, but I am not sure how it works best in traditional DAWs.

Stephen

bookz

unread,
Aug 16, 2013, 10:28:33 AM8/16/13
to midi-shap...@googlegroups.com
Hi Stephen
Great... thanks a lot!! I'm going to give this a go when I get back home. 

Yes... that is exactly what I'm trying to emulate... FL Studio's Keyboard Controller... it's really awesome, but I prefer working in Samplitude these days and I'm looking for an alternative way do it. Although I haven't gotten my head wrapped around it yet, it seems that you can do even more with this plug-in.

I downloaded Midi Yoke last night, but haven't had much time to play around with it. I don't know how I would route the output of the Samplitude midi track to midi yoke, and connect that to my Reason midi track (will look into that)
Thanks for the help!

Booker
Message has been deleted

Rob

unread,
Aug 16, 2013, 10:45:36 AM8/16/13
to midi-shap...@googlegroups.com
As Stephen mentioned you may want to have your lowest note trigger CC71 with a CC value of 0 and your highest note trigger CC71 with a CC value of 127. You could work this out in the equation but the easiest way to do it would be to just get MSS to learn in input range of notes and then drag some control points to the edges of your note range on the graph. That probably doesn't make a lot of sense so here's an example: https://dl.dropboxusercontent.com/u/20066539/Forum%20Links/MSS/programs/Notes%20to%20Full%20Range%20CC.mssp

You just need to open that as a program in MSS.

Rob

bookz

unread,
Aug 16, 2013, 11:13:53 AM8/16/13
to midi-shap...@googlegroups.com
Ok, thanks! I will load this up when I get home, and give it a go.
Thanks again!

Booker

bookz

unread,
Aug 17, 2013, 3:04:43 PM8/17/13
to midi-shap...@googlegroups.com
cool thanks again for you guys help... I haven't had a chance to add the control points portion, but I did manage to get it to work at 2am this morning... it's pretty awesome so far... I ended up using midi yoke... not even sure how it's actually working the way I have it routed but for some reason it does.... samplitude doesn't have flexible midi out(send) routing like reaper and doesn't offer midi fx like logic or cubase, but that aside, I enjoy using it... 

thanks!


On Friday, August 16, 2013 10:45:36 AM UTC-4, Rob wrote:
Reply all
Reply to author
Forward
0 new messages