Custom Midi Controller
Page 1 of 2 12 LastLast
Results 1 to 10 of 13
  1. #1
    Tech Wizard
    Join Date
    Mar 2013
    Posts
    50

    Default Custom Midi Controller

    Hi everyone,

    I'm trying to make a midi controller to use with Ableton and my launchpad. I want to make a 4 channel mixer, with 4 extra pots/encoders for each channel, and 2 buttons for each channel (in total 4 faders and 16 knobs). I'd use the controller to adjust levels, eq, and various effects. The layout would be similar to Behringer's CMD MM1 mixer, or Allen and Heath's Xone K2.

    I know very little about electrical engineering and midi programing, and I have a few questions:

    1. What would be be the best brain to use? I'm considering the Livid Instruments Brain Jr + breakout board
    2. Can the Brain Jr translate encoder signals? I read somewhere that most brains don't decipher encoders....
    3. Preferable potentiometer resistance? encoder resistance? fader resistance?
    4. Would there be any way to program multiple mappings? Ideally I'd have each knob controlling different parameters at different times (ex: 3 knobs mapped to an eq can be toggled to control effects)
    5. Pots vs. encoders?

    Any help would be greatly appreciated!
    Thanks,
    Kai

  2. #2
    Tech Mentor JudemanG's Avatar
    Join Date
    Jun 2013
    Location
    Los Angeles
    Posts
    128

    Default

    1. Livid Brain if you aren't willing to code or Teensy 2/3 if you are ok with doing basic programming.
    4. For this, you would need to program (as with the Teensys). You would also have to use encoders, so the controls don't jump when you switch banks.
    5. If you want to be able to change layouts, encoders. Otherwise, go with pots.

  3. #3
    Tech Wizard
    Join Date
    Mar 2013
    Posts
    50

    Default

    Quote Originally Posted by JudemanG View Post
    1. Livid Brain if you aren't willing to code or Teensy 2/3 if you are ok with doing basic programming.
    4. For this, you would need to program (as with the Teensys). You would also have to use encoders, so the controls don't jump when you switch banks.
    5. If you want to be able to change layouts, encoders. Otherwise, go with pots.
    Thanks for the reply! I did some research on the Teensy and that seems like a better choice for me; I'd rather learn some more coding and go with the cheaper option.

  4. #4
    Tech Mentor
    Join Date
    Sep 2013
    Posts
    159

    Default

    or you could use an arduino uno, leonardo, mega2560, as for encoders, if you write your own code, you won't have any issues at all but bear in mind that you use 2pins per encoder. As for resistance, generally for the faders and pots, 10k linear are what you're looking for, size is important for faders, as is the bit resolution of the ADC of whatever you're connecting it to, short faders can make it harder to hit specific values, but that will depend on what you're using the controls for, 60mm faders and a 7bit ADC will be fine for level/cross faders but if you want pitch control(or anything in ableton needs finer control) then you'll need longer faders and at least a 14bit ADC.

  5. #5
    Tech Wizard
    Join Date
    Mar 2013
    Posts
    50

    Default

    Quote Originally Posted by ReggieUK View Post
    if you write your own code, you won't have any issues at all
    How steep is the learning curve for the Arduino software? I pretty much have no coding knowledge, but I'm willing to learn if that means more control and I save $30...

    Thanks for all the technical info; the faders would be for volume control, so 60mm seems like the way to go.

  6. #6
    Tech Mentor
    Join Date
    Sep 2013
    Posts
    159

    Default

    The learning curve for arduino is reasonably shallow imho :-) It's got it's own software for you to develop code in called the 'arduino IDE', you have what are called libraries of code which are groups of pre-written functions to help you write code quicker and easier. For instance, you would use the 'midi library' to write midi software for the arduino, this greatly simplifies things like sending note on/off messages for instance, so you really only have to concentrate on the button/fader reading code with the midi side being trivial as someone has already done it for you.

  7. #7
    Tech Wizard
    Join Date
    Mar 2013
    Posts
    50

    Default

    Oh, great! So then does the Arduino software have to be open when you use the controller? Or can you load the script on to the board?

  8. #8
    Tech Mentor
    Join Date
    Sep 2013
    Posts
    159

    Default

    The arduino software is purely for writing the code and uploading to the board. Depending on the device you go for, it may be slightly more involved, for instance, the leonardo needs 'arcore' which is a midi based 'core' for arduino, although it's pretty simple to install, you don't particularly need to worry about libs for that either, some of it is pre-written and I added some extra functions into it to make life easier (kind of like a lib) which I will post on github pretty soon.

    For the arduino mega2560 r3, in theory, you should be able to put it into dfu mode and upload mocoLUFA (another midi usb firmware) to the bootloader chip on the 2560, however on my 2560 r3 board I had to use an isp programmer as the bootloader was wasn't a dual mode one (dual mode allows you to switch between midi firmware and programming mode). It should've taken me 20-30seconds to program but ended up being 3hours while I searched google and discovered that it probably had the wrong firmware on it. However, if you confirm with the retailer that's got the dual mode firmware on it (dfu and serial) then you shouldn't have any issues at all.

    Midi programming itself is actually incredibly simple for what we're attempting to do it's just groups of 3 or 4 byte messages sent over a serial port at 31250baud.

  9. #9
    Tech Wizard
    Join Date
    Mar 2013
    Posts
    50

    Default

    Quote Originally Posted by ReggieUK View Post
    Depending on the device you go for, it may be slightly more involved
    So which Arduino board would you recommend for a beginner?

  10. #10
    Tech Mentor
    Join Date
    Sep 2013
    Posts
    159

    Default

    Depends how many buttons you want really, they all use the same or very similar code.

    The arduino leonardo is a single chip unit which requires a 3rd party 'core' being installed into the arduino IDE called arcore, the leonardo has around 22 digital inputs in total, some of which can be used as analog pins.

    the arduino mega2560 is a 2 chip unit which requires flashing with the mocoLufa dual mode firmware, this unit has about 70 digital pins, 16 of which can be used as analog pins.

    Both of those units require a small amount of skill to get them running usb-midi firmware, it's nothing difficult but if you don't know what you're doing it can be a nightmare).

    I would probably look at the leonardo myself.

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •