Using MIDI controllers instead of Encoders

Ahh, I think I just made the connection - are the encoders, which are not potentiometers, referred to here as “zynpots”?

…assuming that is the case, I think I have everything I need, other than maybe advice on what delta to use per detent. My encoders are rather messy in their outputs, you get 3 sometimes and 4 others, but per detent works well. I might investigate if there’s a decent acceleration routine I can easily implement in the controller but that’s for the future.

Exactly. Zynpot is a more generic concept. Zyncore lib currently supports 2 types of “zynpots”:

  • PEC11 incremental digital encoder
  • RV112 analog encoder (endless differential potentiometer)

BTW, the RV112 is an amazing device, but expensive to integrate, as you need 2 ADC channels for each one. For reading 4 x RV112 you would need 8 ADC channels! We are evaluating RV112 for future devices, but not for V5.

Regards,

1 Like

This is why I elected to just build a midi controller in a dedicated mc, I’m using the cheapest parts I could find :>

I can see the trail of breadcrumbs leading to the use of the “pot” identifier, but it’s pretty counterintuitive, and my brain will quite often actively skip over something which has a counterintuitive identifier. This is not the first time I’ve lost whole days due to this sort of thing.

I am pretty sure they’re referred to as zyncoders internally, I think I saw that, which is also what I called them in my teensy sketch and what I’ve been scanning for since yesterday. But I can also see that name in the UI getting read by confused readers as shorthand slang for “Zynthian Developers” so something else had to happen obviously. I would’ve gone with “zynrotary” myself.

edit: or even “zynrot,” that’s kinda fun actually.

1 Like

I imagine those RV encoders are smooth like buttah though. :>

Did this get a look in…?

https://ams.com/AS5600

So, Im still confused, ( well there’s a surprise…) …

Can I use CUIA signals on the first low numbered encoders and switches to drive a remote panel substituting for the v4 Encoders be it MIDI , QWERTY of waggling a MICRO-Bit controller at it… ?

Basically is there any mileage in this

going forwards on V4 and earlier kits ? or does it become merely a control surface for parameters?

1 Like

I’ve been going on the assumption that switches 0-3 are the zynpot switches. I’m currently coding on a breadboard with only one encoder but once I implement the encoders I will just need to go plug the teensy into the prototype, and then I should be able to determine which indexes the four switches correspond to, and then map those indexes onto the zynpots.

If I’ve got this right in my head, there’s nothing lost, only gains.

1 Like

Yes. You can. Symply test it …

Enjoy!

1 Like

Ok. Just being explicit for a change !

I DO like those encoders you mentioned…

…all over a decent Argentinian red…

1 Like

Testing new CUIAs with OSC could be a more simple way of “tasting the thing” :wink:

From command line, you simply type something like:

send_osc 1370 /CUIA/ZYNSWITCH 0 S

Regards,

1 Like

I have not yet touched OSC in any form. I had that very thought this morning - OSC is a thing I should get on top of, and no better way than to implement it in this very thign I’m building!

And so, full of hope and enthusiasm, I ran to the PJRC forum, because there is no obvious OSC library for Teensy on the site, but there is a long discussion of it back in 2021, so naturally the first thing to do is to check in on the status of that project and see how it made out.

And when I went to register, I got five captchas in a row, all of which I answered correctly except for one which contained an image that was very obviously a motorhome and not a bus, but I had to choose it as a bus in order to get past it. After five captchas, I decided that I was being given one of those psychological tests where they see how long you will go along with an absurd and obviously useless process and left.

I sent an email to the pain teensy guy about it, but that was the end of today’s attempt to engage with OSC for this controller. Midi can solve all my problems without learning anything new.

edit: or getting past broken systems designed to lock you out based on mistrust. Perhaps this is the new captchas for the age of GPT. Good luck with that, cause only an AI is gonna have the patience to get past it.

1 Like

which command line do you mean, though?

Zynthian’s CLI, although you could do it from a remote machine too.

Check the wiki:

https://wiki.zynthian.org/index.php/Accessing_Zynthian_from_your_computer#OSC

Regards,

1 Like

It’s weird how I sometimes forget this is just a computer.

Do you think OSC will take over from Midi, or do you think Midi 2.0 will finally appear? Neither seem to be getting much implementation at the music store, that I can see. They’re still barely doing midi right.

edit: I also still haven’t gotten clear what’s the Free part of OSC vs. the commercial implementations - I first encountered it as a commercial product and wrote it off as a commercial thing, but I understand it’s also an open standard now. I got off on a bad foot with it, like I do with nearly everything.

1 Like

Ohhh! This is very interesting too. Added to my devices-to-test list :wink:

BTW, this is the RV112 datasheet:

RV112FF-2303564.pdf (570.6 KB)

Enjoy!

1 Like

They are indeed very sexy :>

1 Like

These things take time. I really doubt when Dave(o) and Tom(s) sat down in a bar and talked about a serial interface I don’t imagine they had any idea what it would produce.
Superb design amongst due reflection is still performing miracles today.
The replacements such as they are simply swallow MIDI 1.0 and address other functions that are generally in the problem space way outside of “If I press this key and waggle this knob you will kindly do what I expect…” People used to load samples across MIDI at one point.

It’s really just a hardware connection with a protocol on it that exploited the 8 bit world of their processors to the limit and in one simple swipe invented open source !!! ( well perhaps not but it acknowledged peer to peer manufacturing battlefields which implied collaboration)

OSC is really the way to go. MIDI itself has successfully fragmented from the occasional crocodile clip hanging onto an IC pin, via the 5pin DIN and the wisdom of the opto isolator, the USB port, and the IP network. Of the later if you want to do anything involving structure ( and you do if you are seriously going to use the tools) you will want the incredible amount we know about linking urls to functions to lay it all out in a sensible fashion.

If, for instance, you are coming from arduino into our world you will turn control voltages and switches into MIDI with a library which contrives a serial connection across USB to chat to ttymidi which talks to JACK which grabs the occasional cycle from a hard pressed zynthian to tell it to tell JACK to do things…
The biggest thing to be said in favour of this world is you get your remote control powered for free if you use USB whilst 5 pin Din needs to keep a separate supply unless you intend to get devious with sipping power from the MIDI connection.

But ultimately you want to run peer to peer IP like comms rather than simple point to point. It’s simply proper growing up. OSC is used in a lot of places and the more mobile phones become the defacto device the more that will propogate and we can say goodbye to physical connections.

Ideally the best way to operate a Zynth is using Power Over Ethernet with a suitable HAT and the full IP stack over a wired Ethernet RJ45 connection. In such a world OSC is an obvious winner once you get past two machines and avoids you having to design your own MIDI/USB/Proccssing lump box to hold it all together.

All that said I’m just about to look at if I can get the Top Right Encoder to work using Qwerty Keycodes.

Zynthian allows this flexibility and it’s support for it’s own particular grammar that works within the limitations of the original MIDI dream is amazing.
IMagine how many would have sold if it had been offered on the floor of the 1983 NAMM when
a Sequential Circuits Prophet-600 was successfully connected to a [Roland Jupiter-6.


May you live in interesting times!

1 Like

Mmm hmm. At the same time, these primitive interfaces have this weird tendency to hang the hell on. Oh hello, C, we were just talking about you.

1 Like

The Centronics interface lived on long after Centronics!

Honestly though, what this thing offers is objectively astonishing, and I now know because I’ve left them running for weeks at a time that it’s robust. I haven’t really tested grinding on it or found the practical limits, but even once I do, it will be easy to pack multiple units into a portable case.

The future of audio synthesis is not big corporations. I work in animation during the day and exactly the same process is happening with Blender, IMO, but it will take a while, as will this, because musicians are mostly not technical, so they still prefer to pay thousands when they could pay hundreds, for the warrantied reliability I suppose. I don’t do this for money so I can play with toys anytime I want, but if one is getting paid to provide a glitch-free entertainment experience for a contracted number of stage hours, one does need that.

edit: I’ve definitely had multiple chains accepting input on different channels without issue. Given the budget necessary for either a Nord Stage or a Hammond XKs Pro, I’m literally considering the idea of implementing redundancy under the hood of a stage-ready Zynthian - two or more identically-specced zynths is my thinking, probably on CM4s, monitored live by an orchestrator for audio system failures, with a redundant process always available on another brain to automatically patch in on the mixer.

I have tested Pianoteq and while I haven’t pulled the trigger, it suits me fine, so I see no reason whatsoever not to base my actual rig on this.

…multiple touchscreens implementing UI access…

1 Like

As the individual who was, occasionally, woken at four in the morning by MIDI network howl around I can also vouch for the ruggedness of the infrastructure. It got A LOT of testing.
I think my record was about eight months before it got a reboot. It was working as the house piano at that stage and was just used by the same kids that complained about the weird noises late at night and early in the morning which interrupted their multiplication tables that were required to be done before they could have breakfast… . .

If I heard them play anything interesting downstairs I could record it over qMIDInet on the zynth upstairs. . .

1 Like