Request: Advice on Building a MIDI Controller

Pretty much generates 80% of the code you need. Just need to tweak to fit your needs.
Just tell it what controls youre adding and it spits out the code. Even a web based GUI.

I don’t know many different Bome box projects you are gonna have, but you’re still gonna need some scripting to send to the Bome (to do do more scripting), essentially writing a script to be modified by a script. Seems a bit redundant.

Edit: If you don’t wanna do the code yourself, or don’t know code, you can easily get someone on Fivver to do this for about 50$

4 Likes

Thanks for that.
Generally I don’t need any logic on the controller side - just sending MIDI data. My Bome scripts contain all the logic for doing the chewy bits.

I’ll see if this can handle the logic bits…?

You need some logic. But if youre gonna, for example, make a button Channel 1, note 1, velocity 127, and never change that (and use translators in the bome), the above link would be enough.

1 Like

Just showing off a product built by my good friend Eyal:

1 Like

So, pots vs encoders: I don’t know an advantage to pots over encoders.

I’m guessing that feedback in instant and doesn’t requite software intervention, the ‘feel’ of a pot is very different than encoders, and possibly less processing overhead with a pot.

Considering all data from the controller will just be manipulated via scripting, values are just suggestions irrespective of pot vs encoder.

Am I missing something?
I don’t know what I don’t know, but I know I don’t know quite a bit. LOL

Note: If I go Yaeltex or (I assume) a 100% custom job, then I have control over acceleration or speed of the encoder, so those issues of 270 degrees with one motion become moot, no?

It used to be cost, but they’ve gotten close to equivalent. It’s gotten to the point where encoders get used in analog applications, with a digital controller between the encoder and the analog circuit just like they are pots.

The separation of input to value is nice with encoders too, you can change the scale, or react to speed, or turn endlessly, change precision by pressing down, or recall and reset a specific value — especially with the LED ring feedback. On the other hand a pot is always where you last set it.

Like you say the pot values on a MIDI controller, just get read and converted to digital values anyway.

The yaeltex is nice in that it has the option of 14-bit values if the item you’re controlling can accept them.

1 Like

The feel of the encoder, is something you won’t know until you get one in your hands, but you’re right you can probably pretty easily adjust things to try to improve things, if it doesn’t meet your needs.

1 Like

Thanks for that input.
That seems to be consistent with what I was gleaning from random interweb searches.

One bit I read is that pots are great for single knob per function actions. I have a few of these that I use pots for currently, but I lose nothing if it were an encoder.

And with the Yaeltex, there are so many options for how the encoders react.

Then there’s the additional feedback.

Very true.
The advantage of a custom controller is that I’m intimately familiar with where the controls are, what they relate to, how I relate to them, and what feedback I’m getting.
Advantage if I built one from scratch would be better control over each individual part.

Then again, my current options are using existing hardware which I have none of those options!

pots vs encoders:

  1. encoders are (typically) endless, pots are not.
  2. encoders feel more discrete/precise.

pots are more convenient for some parameters, encoders are more convenient for some other parameters. so, ideally i prefer to have both.

HOWEVER: encoders can behave like pots, but pots can’t behave like encoders. so if i can’t have both and have to choose, i choose encoders. Arturia Beatstep in controller mode is a good example.

Thats what i was looking at. I need to look into detents, but i looked into rate of change (or if theres a more appropriate word). Some encoders require more turns to get the 270 degrees in a pot, but the Yaeltex can operate with acceleration, slow, med, or fast.

So Im thinking other than cost, i might encode and save the pot for later. Heh

Will make my Suspend functions more interesting.

Pots are absolute values where as encoders are incremental (+1/-1).
This behavior can be changed in code for encoders.
If the knobs (or really any control) are going to serve more than 1 fuction (a la bank or preset switching), youre going to need to save and recall values in your script to avoid value jumping.
There is no superior choice as they both have tradoffs and you should decide based on the function the knob will be doing.

Youre also going to need to read up on multiplexing. Im sure youre gonna want more controls than what the basic microcontroller allows.

Another thing to think of, if you just goig to be manipulating data on the back end in bome, and knob is a knob is a knob. 16 encoders from Yaeltek for 500$ are going to do anything different than 16 encoders on a 99$ beatstep. You might be better off skipping the build and just finding a controller with the best laybout/variety of controls. Youd be suprised how many things you can controll with just the 16 encoders and pads of a beatstep if you are translating the midi on the back end.

Tha k youfor your input, i appreciate the information.

I already have an over abundance of various and sundry controllers and as my OP introduces i have a functional setup. Im seeking a bespoke solution tailored to a custom interface script Ive created for my gear & workflow.

A “beatstep” is not in the cards. :wink:
Appreciate your input tho. Thanks!

I just used the beatsep as an example.
If the original function of the controller is irrelevant, then a knob is a knob is a knob. Its just the layout that matters then.

Exactly the reason i’m looking at a custom controller. :wink:

I would have 'splained early on in my OP what the sections relate to, but then i’d have to describe my workflow and it’s…“uncommon” if I were to use the most flattering description - “insane to most neurotypicals” would be more appropriate (shortened to ‘insane’ would be applicable).

There is a method to the madness.

Again, I appreciate the input, but I’m past the “grab something to try it out or just to get the job done” and I’m at, “Okay, you got this thing going that you’ve been working on for a few years, let’s see if we can make it more ergonomic and directly applicable to your application”.

1 Like