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

Thread: The IDEA of a DIY DAW Channel Strip controller

  1. #1
    Junior Member
    Join Date
    Aug 2022
    Posts
    3

    The IDEA of a DIY DAW Channel Strip controller

    Hello all, my name is Tinjo, htevents on this forum. 32 years old, from the Netherlands.
    My knowledge to what it takes to finish what I want is limited, but not zero. Fortunately, I have a father in law that has more/a lot of knowledge about scripting and programming on a Arduino or similar, but he has no knowledge of MIDI, Control Change, Program Change and so on.
    The combination of my (little) knowledge, his knowledge of programming and the knowledge on this forum, should make my project work. At least I hope so.

    The project idea

    I want to build a custom MIDI controller for my DAW that mimics a channel strip. A bit like the Softube Console 1 MK2, but with more encoders for my purpose, a layout that suits me better and only MIDI control, no dedicated software and mine will be a 19 inch rack mountable controller.

    Within my DAW, I use EQ’s, compressors and so on. To be able to get to the controls of a plugin fast, I want to almost instantly know what knob to turn on the controller, so I made “dedicated” zones in the controller, but of course I can map every controller to every possible parameter. I use Presonus Studio One and it has the “Control Link” function. When Mackie MCU mode is used, I only have to “wiggle” the software parameter, wiggle the controller encoder and click “link” to finish. When in “normal” midi mode, I have to add controls in Studio Ones midi section (midi learn) and then link them to the hardware encoders. Then in the software I can link them to the parameters. Just an extra step. But I prefer the latter, because it will give me more flexibility and takes less programming in the end.

    The controller is going to have/need 32 endless encoders (possibly with LED ring for visual feedback) and at least 10 push buttons (momentary), possibly illuminating for visual feedback. Why endless encoders? Well, several plugins can use the same encoder, for example: EQ plugin of mixer channel 1 will have a different value for parameter A, than parameter A of the EQ plugin of mixer channel 2, so if I would have worked with pots, there will be jumps in values between the plugins and it’s parameter values when changing the value by the pot because of absolute values from a pot instead of relative from an encoder, although I think the encoders should send their absolute position, only the DAW is updating the encoder values with feedback when changing plugins, if you understand what I mean.

    I did some testing with my Behringer X-Touch compact and when in “normal” midi mode I don’t get the jumps in values, so the DAW does give feedback to the controller, with the “Transmit Value” function in Studio One, so I don’t need to run it in Mackie mode. Transmit Value is a function of Studio One, but I think it is just a MIDI signal back to the controller, so nothing fancy going on, besides the fact that when switching between plugins, Studio One is automatically sending those signals to a controller.

    So what do I want and is this feasible?
    - 32 encoders, possibly with LED rings for visual position of the encoder, sending CC messages
    - At least 10 momentary push buttons, possibly illuminated for visual feedback, sending note messages I guess? Maybe they should be programmable as latching, but within the script, so they can be updated by the DAW
    - Controller should be able to receive midi, so the DAW can “update” the values/positions of the controls, when I switch between plugins.
    - The above means that the controller has to be able to “remember” the status/value/position of the encoders and buttons.

    More things I need to implement, think about, etc?

    I really hope someone finds this project interesting enough to collaborate with me on this project.
    I am based in the eastern part of Gelderland, the Netherlands, so if there is a Dutchie willing to help me with this, that would be even better, although I appreciate everyone helping me with this project.
    Although I do want to learn many things myself, this project has a time limit so I am going to need help on this one.
    Personally I think this is a feasible project, but maybe I am wrong or will it take a lot of time or will it cost me too much.

    Thank you all in advance for helping.

  2. #2
    Senior Member
    Join Date
    Dec 2016
    Posts
    159
    Some tips:

    Start small to get a feeling of it.

    For encoders you could look at the luni library on github (luni64). It has a version with multiplexers.

  3. #3
    Junior Member
    Join Date
    Aug 2022
    Posts
    3
    Quote Originally Posted by AlainD View Post
    Some tips:

    Start small to get a feeling of it.

    For encoders you could look at the luni library on github (luni64). It has a version with multiplexers.
    Thanks for your advise. Will look into the mentioned library. Any idea how to get this talking to a script that produces the correct control messages to the DAW?

    About the "start small to get a feeling for it", I have no trial and error possibilities on this project. That is why I mentioned the fact that I will need help for te main part of the project or even would like a colab from someone in the Netherlands on this project in my opening post. This is not to try it the easy way, but the circumstances won't let me do trial and error for this project.

    Maybe I see it to easy this way, but essentially, if it's known how to let 1 encoder send Control Change messages to a DAW and to let 1 push button send note data or whatever, then it is only needed to duplicate that to all the other encoders and push buttons and only give them a different ID, so encoder 1 will be ID 1, encoder 2 will be ID 2, and so on, right?

    Are there boards out there that have enough inputs for my project on itself or do I need to work with multiplexers or similar anyway? Can multiplexers work for digital pins/signals btw?

    Again thanks everyone in advance for replying.

  4. #4
    Senior Member
    Join Date
    Dec 2016
    Posts
    159
    I strongly suggest including a test setup for coding.

    I would look at https://forum.pjrc.com/threads/70264-EncoderTool as an example.
    A 2 by 2 or 2 by 3 setups on 1 or 2 breadboards seems the minimum for me for prototyping code and a bit hardware

    Probably use a 4.1 to have enough pins.

  5. #5
    Junior Member
    Join Date
    Aug 2022
    Posts
    3
    Thanks for the suggestions. Like I said, a test setup for this project is not an option, eventough I would have liked to do that too. That's why I mentioned in my first post that I would rather have a sort of colaberation on this. Not to be lazy, because I still want to be a part of it with my own strengths, but this project has really no room for test setups etc. So I wanted help from someone who already did this kind of project, preferably someone from the Netherlands, and I am really aware of the fact I ask a lot with this, but a Dutch saying is: If you don't shoot, you always miss.

    So if someone as able and willing to help at the level I need them, I will continue this project, if not, no problem, but I have to cancel the project (for now at least) and search for another solution haha.

  6. #6
    Senior Member
    Join Date
    Aug 2019
    Location
    Melbourne Australia
    Posts
    313
    Ok, if you shoot then what target are you going to hit? Many users have built Midi controllers, some have used led rings, one used 32 encoders and 32 tiny Oled screens. I'm working on a 32 encoder controller largely inspired by a Behringer BCR-2000 but really, led rings don't have very good resolution so have opted for a TFT screen.

    Have used @luni's EncoderTool library to read 16 encoders with the Shift register version and the 4067 version to read 16 or 32 encoders. The latter needed some additional circuitry and library tweaks to make it happen.

    Have not used the MCP23S17 or the multiplexed_matrix variants yet but the latter looks to be the simplest to implement, 32 encoders on a panel, a bag of diodes and some wire and a couple of days of fiddling would probably work.

    I feel that getting some aesthetically pleasing result with led rings will be a bigger challenge.

Posting Permissions

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