I'm trying to build a control surface to amsynth with 32 rotary encoders

I’m trying to build a control surface to amsynth with 32 rotary encoders(arduino>RPi3).
Like a Zynthian with a lots of encoders.
If I use the standalone version, I need to use midi relative messages to the knobs, like zynthian does but I don’t know the best way to do that.
Using it like a lv2 plugin on ardour and trying to use mackie is a bit complicated…
Need help

Hi @titojff - it is lovely to see you here in Zynthianland, even if your question is about something else! :wink:

How do you intend to run amsynth? As a standalone binary? Will it be on a Raspberry Pi or some other host? How will you interface your encoders? Via MIDI commands? Will you be using jackd, another audio layer or direct alsa?

Looking at the amsynth source code it looks like MIDI CC commands directly control parameters with absolute values.

1 Like

I have a Zynthian v2 :).
i was thinking of using a Raspberry Pi3, the problem is the control parameters of amsynth with absolute values.
I should load a patch and read the knobs positions values and then the encoders increase/decrease those values and send the absolute value, but i don’t have a clue on how to do that.

Or using it as lv2 plugin in ardour and ardour receive the relative MIDI CC and control the knobs

trying to figure out how zynthian does this

A rotary encoder is effectively two switches, up/down. You need to abstract this operation from the data. So you get and send CC values based on the data model. The encoder adjusts the data model, not the CC directly.