Midi Note to CC

edited September 12 in How to's

Hey y'all, this one I thought was easy but its giving me some problems.

I have a hardware drum machine that I want to control, and am trying to map the frequency of Drambo's notes to a midi cc output. This midi cc controls the pitch of my drum machine voice.

I thought I'd just be able to hook up a Midi-to-CV module to a Midi CC Generator, but because keyboard pitches aren't evenly spaced, this means notes 0-127 of my keyboard don't create a CC output of 0-127. Some values skip entirely, even if use math to get the range of the cv into 0-1.

I could use Streambyter to intercept my midi after it leaves Drambo and generate a CC, but I was hoping to do it inside my project instead. Any advice?


  • edited September 12

    Use the magic Graphic Shaper to scale the Pitch CV to a range useful for the CC Generator.

    I was playing octaves on the keyboard here.

    Graphic Shaper preset:

  • edited September 12


  • edited September 12

    @rs2000 Thanks for the reply! This was more or less what I was doing, and it works mostly.

    The one problem is that some CC values are skipped over because the CV values (pitches) are not evenly spaced. The OCD part of me wants to just turn notes 0-127 into CC 0-127, but its good enough to move forward.

  • edited September 12

    Ah nevermind, I was totally wrong! I set up a simple shaper that works fine throughout the range. I thought my issue was due to how pitch is represented, but it was actually just rounding when I was using math modules.

    Maybe someday we'll have a module that just displays the numerical value of a signal (or maybe an addition to the oscilloscope). Thanks for the help.

  • edited September 12

    @quartzite Just for reference, you can do this with math modules. The tricky part is that the CC converter maps CV 1.0 to 127. If you add 0.5 to the note CV, then multiply by 96/127 (0.7559055), MIDI notes 0 to 127 are converted to CC values 0 to 127. 96 is 8*12, the highest MIDI note in Drambo's nominal 8-octave range, corresponding to CV=1 after adding 0.5.

    Edit: you can use the Offset and Scale modules to do this. Just be sure to enter the exact scale factor as the Range. It doesn't show on the display, but it is remembered.

Sign In or Register to comment.