[HN Gopher] Ottopot, a sophisticated DIY MIDI controller
___________________________________________________________________
Ottopot, a sophisticated DIY MIDI controller
Author : rcarmo
Score : 123 points
Date : 2023-12-31 09:42 UTC (1 days ago)
(HTM) web link (gerotakke.de)
(TXT) w3m dump (gerotakke.de)
| jb1991 wrote:
| Cool! But I would've preferred sliders over dials. Or a
| combination of the two. Sliders are particularly useful when
| controlling multiple parameters in real time performance, where
| dials basically make that impossible. It's quite normal for
| example to have two fingers on two sliders while performing with
| orchestral virtual instruments, while the other hand is on a
| keyboard.
| gero_ wrote:
| Author here, thanks! The issue with sliders is that either
| you'll have to use a "latch takeover mode" or use motorized
| sliders if the parameters change in the software. With these,
| the LEDs and internal values just update when something
| changes, so like a motor fader but much less involved and
| cheaper. I do agree that sliders better control but these dials
| with LED indicators feel like a better "general purpose"
| controller to me.
| sbr464 wrote:
| Have you come across any high resolution sliders that you can
| recommend? Either motorized or not, or a brand in general you
| like?
| ta988 wrote:
| Go with original replacement sliders from good mixer
| boards. They will usually be much much better and easier to
| select than any out of electronic vendor ones. They are
| really costly but the difference in behavior, feeling and
| reliability is worth the cost if you need precision.
|
| I've had good success with Numark salvaged ones, but I'm
| sure there is better.
| jacquesm wrote:
| Hey there, very nice project!
|
| A couple of bits: 'course' -> 'coarse' and the reason you
| don't get the same feel from digital is simply because of the
| digitization itself, if the steps are large then there is
| always some movement that isn't enough for a whole step,
| rather than that it doesn't max out the full range.
|
| Looking forward to more of your posts.
| gero_ wrote:
| Thank you! Fixed that typo.
| squarefoot wrote:
| Your post made me recall of a technique I saw on a mixing book
| some 30+ years ago. The trick consisted in linking together two
| or more potentiometer knobs on a mixer by using thick rubber
| bands, so that one could rotate more than one with a single
| hand, for example to alter a filter while acting on a fx send,
| etc. By wrapping the rubber band in inverted position on one
| knob one could also for example pan a sound to left while
| another one went to the right, etc. This was of course well
| before automation became widespread. Unfortunately I lent that
| book to some friend to never get it back, and don't even recall
| which friend was or the book title.
| fantasybroker wrote:
| Monogram has a 3 slider controller, plus it's modular so you
| can build something for your specific workflow.
| ta988 wrote:
| Thanks for sharing this.
|
| There are two main reasons I know people behind the use
| acceleration for pots in midi controllers:
|
| - increase reactivity (small quick movement to cut frequencies
| faster for example)
|
| - low resolution of encoders (mostly for step ones) that do not
| cover the full range (especially 14bits) in a turn or 3/4 of a
| turn
| ta988 wrote:
| I found the RP2040 to be great for HID projects like that because
| of its two cores and PIOs. So you don't have delays because of
| display/LED updates, and you can delegate some work to the state
| machines.
|
| If the author is around:
|
| I really enjoy your grease replacement idea and will definitely
| use that in my projects. Reminds me of the people removing the
| stops in step encoders.
|
| I was wondering a couple things about your approach:
|
| - do you have noise issues (as in a value oscillating by +/- 1
| randomly)
|
| - do you see an issue in precision around your 0/max R positions?
| they are not exactly contiguous in the pot.
|
| - did you get a measurement of the angle equivalent for a change
| of 1 in your output value (equivalent of step angle in a step
| encoder)
| gero_ wrote:
| I was also thinking about the RP2040 for cost reasons, they are
| so damn cheap. But I'll go ahead with the Teensy and the PCB
| first before I'll try something like that.
|
| > - do you have noise issues (as in a value oscillating by +/-
| 1 randomly)
|
| I've implemented a dead zone logic for this: You have to move
| the pot a little bit before it "picks up" the movement. I think
| I've tuned this quite on the safe side and it still feels
| instant. I'm working on a video demonstration that will
| hopefully show it. For testing, I was running some automation
| in Bitwig for an hour and did things like knocking on the table
| while it ran; if there was any CC message, it would take over
| the automation so after an hour I would have seen some green
| indicators to restore automation control.
|
| > - do you see an issue in precision around your 0/max R
| positions? they are not exactly contiguous in the pot.
|
| No, it feels very smooth. I had some issues with the logic for
| the points where the directions reversed, but after figuring
| that out, I can no longer tell where the 0/max positions are.
|
| > - did you get a measurement of the angle equivalent for a
| change of 1 in your output value (equivalent of step angle in a
| step encoder)
|
| No; it's analog and there's the deadzone logic so I don't think
| it is quite as simple as this, but since we're having 4096
| values across 360 degrees it would be 0.09 degrees. I do
| believe that 12bit is actually a bit too much to be reasonable
| and it is probably more about the timing/bandwidth at this
| point, not resolution.
| ta988 wrote:
| Thanks.
|
| You are doing USBMIDI you can use higher rate than normal
| serial midi, and you can have up to 16 parallel midi ports.
| Depending on how the tinyusb stack is configured on Teensy it
| may require tweaking it a little.
| _Microft wrote:
| You could put both a Raspberry Pi Pico footprint and Teensy
| footprint on your custom PCB and later decide which one to
| populate?
| napkin wrote:
| Love this! Naive question: what kind of resolution do
| potentiometers like these provide? I took a look at the specs but
| I don't know how to interpret them. I'm curious why you would or
| wouldn't use high res rotary optical encoders (aside from $).
| ta988 wrote:
| Depends how high-res, but some encoders have several million
| steps per rotation (up to 25 bits for that brand):
| https://www.gurley.com/rotary-motion
|
| (I don't know the prices of those probably several thousands a
| piece?)
| jacquesm wrote:
| They usually use two 90 degree offset optical patterns
| encoded in glass, depending on how they work they may be all
| digital, analog or a mixture of both to interpolate between
| the digital steps.
| gero_ wrote:
| Since the potentiometers are analog, they are advertising it as
| "theoretically infinite". I stumbled upon these endless pots by
| chance after looking at options to do something like this for
| years. I have experimented with optical mice sensors, thought
| about hall effect sensors and IMUs. These pots do everything I
| wished for. Like I said in another comment, I think it's at a
| point where timing/MIDI bandwidth is factoring in more than the
| resolution. And yeah, the reason why I never picked up a higher
| resolution encoder was just the price.
| weinzierl wrote:
| Looks a lot like the MIDI Fighter Twister, which is a great
| device, even if a tad expensive.
|
| I use the Fighter Twister to play vintage synth simulations and
| was considering ripping it apart and place the encoders on a
| custom made front plate that resembles the old gear. It'd be only
| a stopgap, because I'd need a lot of different versions. A
| natural extension of this idea would be something like the
| Ottopot but with rearrangeable encoders, like on mechanical
| keyboards with exchangeable switches. Then add custom front
| plates and you'd almost be there.
| gero_ wrote:
| Yes, it actually replaces the MIDI Fighter Twister on my desk
| :-)
| matthew-wegner wrote:
| One note on the Twister is that it does have source code
| available. I've never looked into it too deeply (instead I
| ended up using the knobs in enc/dec mode on stock firmware to
| do full takeover): https://github.com/DJ-
| TechTools/Midi_Fighter_Twister_Open_So...
| Wherecombinator wrote:
| I'd love to make a midi controller for my alpha juno and tx81z
| with a screen for the envelopes. Like a generic controller with
| say 12 pots and some switches to change operators/pages. I come
| from a software background not an electronics background so I
| find it difficult to find info about where to go with this idea.
| Would building this be a good stepping stone? Does anyone know
| any good sites for info on this?
|
| Ultimately I'd love to put that dx7 that's on a raspberry pi but
| put it in the format of the digitone. I loved everything about
| the digitone but the sound.
| gero_ wrote:
| As much as I'd like more people to build it, I don't think it's
| a good match for your situation. Both things that make the
| ottopot special (and thus a bit more involved and expensive)
| won't work with hardware synthesizers as far as I'm aware;
| 14bit CCs and MIDI feedback for updating the LEDs. I think your
| best way forward would be to buy something like an Arduino
| starter kit with a handful of components and a breadboard and
| just start following some examples from arduino.cc -- probably
| using USB MIDI at first because it doesn't require any
| additional components with modern microcontrollers. From there
| it's easy to go to DIN MIDI. Overall I've found MIDI projects a
| very good entry into the world of electronics and
| microcontrollers because it's really simple and even the
| smallest projects can have immediate, motivating results.
| elihu wrote:
| I also have a software background and have been learning
| hardware design recently for a midi controller project of my
| own.
|
| For the project you describe, you probably don't need more than
| a basic understanding of electricity. You'll want a
| microcontroller. I like the Teensy, as it has good libraries
| and many people have used it for midi-related projects.
|
| You'll probably also want to design a proper PCB. You wouldn't
| have to, but once you know how to do it, it opens up a lot of
| possibilities. Kicad is great, once you get the hang of it. The
| learning curve is steep. There are a lot of good videos on
| youtube though.
|
| I've been using JLCPCB for boards, and mostly Tayda for
| through-hole parts. JLCPCB's minimum order is five boards, and
| if you aren't doing anything fancy it's usually super cheap.
|
| Boards can be either be all through-hole or you could have some
| surface mount. Surface mount is great for mass production, as
| you can order the boards with the surface mount components
| already placed, and it's cheap.
| fantasybroker wrote:
| You might be able to combine a small physical MIDI controller
| with a cheap phone/tablet for controlling more advanced
| features like envelopes.
| fantasybroker wrote:
| This looks great. If only I had the time and the skill to build
| something like that!
|
| If anyone is looking for an even smaller (non-DIY) MIDI
| controller, Monogram and Intech offer really great options:
| modular, snappable desktop devices.
|
| For a long time it puzzled me how few small controllers existed
| on the market, with the only ones I could find being DIY.
| Personally, I rarely need more than 1-2 knobs/faders.
| gero_ wrote:
| Hi, author here! Thanks for sharing this. I'm in the process of
| making a introduction video for it but it's going to take a
| while. In the meantime, I uploaded this short snippet for y'all
| to hopefully demonstrate how smooth and responsive the dials are:
| https://www.youtube.com/watch?v=PC_YKBjIinc
___________________________________________________________________
(page generated 2024-01-01 23:00 UTC)