Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 5 of 5

Thread: A 30 year old 24-Channel Analog Mixer goes MIDI

  1. #1
    Junior Member
    Join Date
    Mar 2019

    A 30 year old 24-Channel Analog Mixer goes MIDI

    Hi to the community,

    My band and I want to record our new album. After some hours with virtual fader and knobs I thought about a "big" MIDI controller.
    I'm obsessed of this idea! I've started to plan my project and want to share it here with you (and hopefully I get some inspiration ).

    1. The Mixer
    On Ebay I've searched for a cheap broken mixer and found a nice 24-channel mixer out of the 80s.
    Click image for larger version. 

Name:	photo_2019-03-06_18-38-59-e1552487081358.jpg 
Views:	18 
Size:	89.6 KB 
ID:	16144
    - 24 channels
    -- each has 8 rotary potentiometer + 1 fader + 1 button
    - 2 effect channels
    -- each has 1 fader + 2 rotary potentiometer, the other 1 fader + 1 rotary potentiometer
    - 2 master channel
    -- each has 3 rotary potentiometer + 1 fader
    - 1 Monitoring channel
    -- 3 rotary potentiometer + 1 button + 1 fader
    all in all
    - 29 fader (4.7kOhm)
    - 204 knobs (rotary potentiometer/ 10kOhm and 50kOhm / 24 of them have 6 legs which include 2 potentiometer)
    - 25 buttons (not real switches, only push button switches)

    2. The Plan
    I want to use a Teensy 3.6. On any analog pin (23 pins, the SMD pins are not touched) should be a 74HC4051 multiplexer. With this configuration it will be possible to route 184 analog devices. All in all I need 256 analog inputs.
    To get some mute or solo buttons I will remove 2 lines of rotary potentiometers and substitute them with toggle switches. If I do it in this way I need 181 analog inputs and minimum 48 digital ones. If I use 3 position toggle switches (on-off-on) I will use 96 digital inputs.
    Finally, I need 181 analog inputs and 96 digital inputs.

    That are quite a lot of inputs and I have to multiplex. For the multiplexing I need 34 multiplexer (23 for analog and 12 for digital). The 74HC4051 will be the multiplexer for this project.
    To have enough power and minimize the latency I will use the Teensy 3.6.

    3. The Questions
    Does the Teensy 3.6 handle 277 multiplexed inputs or will be better to use 2 micro controller connected via SPI to get a low latency?
    Do I need an external power supply?
    I calculated with 10kOhm potentiometers and 180 Inputs. R=U/I; I = U/R; I=3,3V/10000VA; I=0,059A;
    Is this calculation correct?

    Thanks for reading and ideas are welcome!


    PS: I will give you updates like circuit diagram, pcb design, problems, current state, etc.

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    There are 2 main issues when trying to measure a huge number of analog signals by with muxes.

    1: Speed: The ADC takes time to measure, and you have to allow a settling time for the signal to stabilize. If you can make a measurement every 50 us (a pretty realistic goal with Teensy 3.6 and mux chips), you'll get 20000 readings per second. If you're sweeping through 277 of them, at that speed you'll read them all only 72 times per second. Maybe that's good enough?

    2: Quality: Running so many analog signals to so many chips, with so many ground wires (possibly forming ground loops), and so many digital mux control signals rapidly switching is a recipe for lots of noisy signals. Lower impedance helps (those 50K pots might not work so well). Waiting for generous settling time helps. Good quality construction and careful attempt to star-pattern grounding helps. But it's always tough to get the sort of quality you'd see with keeping the signal local and transmitting digital data over the distance. If you do get noisy data, you can always try to clean it up in software, but that tends to slow things even more.

    While not technically an issue with Teensy or mux circuits, before you go too much further, you might do a little testing on the pots. Normal pots are linear taper, meaning you will measure half the resistance from the center to each side while the knob or slider is in the center position. The resistance changes linearly as you turn... just what you'd expect. Sometimes analog audio gear is made with "audio taper" pots, which are meant to give a sort-of logarithmic or exponential change in resistance. If the pot is directly attenuating an audio signal, you'd want that non-linear response. Most of those pots are actually 2 or 3 sort-of linear segments. If you have these sorts of pots, reading their position will involve coming up with an equation to model the taper. If the change is very slight towards one end, that equation will probably amplify any noise problems.

    Hopefully this hasn't discouraged you from doing this project, and hopefully it'll help you anticipate the challenges.

  3. #3
    Junior Member
    Join Date
    Mar 2019
    Hey Paul,

    Thanks for your reply!

    1. I don't know if its fast enough. But it is not an e-drum where it need very low response time. It should be for mixing and mastering, not for "real time" usage on stage or something else. So I guess it will be fast enough. How do you calculate the 20000 readings per second?
    2. I've checked the pots after disassembling. Only two (what I measured) in each channel are non linear pots. So I will replace them with buttons. Also the 50K pots work fine. And I have to "clean" the signal anyway. If they value is flapping it will block the transmission for other values of pots. The length of wire is also make me headache. I want to place the circuit in the middle of the mixer to keep the wire as short as possible but the length will be about minimal 50cm (19.68in) and maximum 70cm (27.56in).

    Tomorrow I will draw a circuit diagram followed by a pcb (but not tomorrow ) to discuss further details.

  4. #4
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Quote Originally Posted by Dinera View Post
    How do you calculate the 20000 readings per second?
    Based on 50 us per measurement, where 50 us is a number I just made up.

    But seriously, analogRead() usually takes 10 to 20 us depending on settings, and you'll need some time for settling of the signals, so 50 us is kind of a conservative estimate.

    The actual speed in practice can depend on a lot of factors, especially your programming skill and level of effort.

  5. #5
    Senior Member oddson's Avatar
    Join Date
    Feb 2013
    Isle in the Salish Sea
    Quote Originally Posted by PaulStoffregen View Post
    ...actual speed in practice can depend on a lot of factors, especially your programming skill and level of effort.
    E.g. you can use the settling time to do any required filtering before reading rather than just adding delay.

    Consider that nearly all the signals will be dormant and many would be infrequently accessed and tweaked slowly then set, rather than used as a performance modulation source.

    Scanning the EQ section less frequently than the faders or even tracking recently altered signals for higher frequency scanning could dramatically improve perceived performance.

    If the hardware is well built you can always improve your firmware as you're expertise grows. You might convert to an interrupt-driven version once you've aquired the skills.

    Also consider the audio tapers on some pots may be appropriate if they are only used for the same function ... ganged pots for cross-fade may be less useful.

    For more specific advice...
    What's the make and model?
    Can you post a picture of the guts?

    If you're doing this to learn, great. But I doubt you'll be mixing your current album with it and the risk of failure may be very high.

Posting Permissions

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