Hey all.
I have a midi guitar that I enjoy quite a lot and one thing I’d like to work/hack on is a way to only enable notes that are within a certain scale, to practice alternative scales and overall more easily learn them.
I have tried the midi enforce scale plugin from https://x42-plugins.com/x42/x42-midifilter on my Windows PC/DAW but it seems it only enforces Major scales which is quite a big limitation.
My questions are:
Does anyone know of any midi plugin/filter that can do this kind of stuff?
Any resources I could look at if I wanted to implement something like this myself? I’ve hacked on supercollider/overtone in the past and I was wondering if maybe there was a way to do it using that or similar plugins.
You think it would be possible to have this run on Zynthian as a filter/effect layer on top of the instruments? (I’m still super new to Zynthian so I’m not 100% sure how everything works yet)
A sound sample and a MIDI record would be interesting using a couple of different patches on the zynth from the MIDI from the guitar.
I’ve never used a MIDI guitar, how do you allocate the strings to MIDI Channels? How does it deal with pitch bend ? What’s the latency like on the lower strings?
I posted some detail of my fun with MIDI guitar over here. My Roland GI-10 can be configured to pass pitchbend (within two ranges) or to quantise the notes as you bend the strings. I really like the effect of quantising, i.e. as I bend I get note on for each actual note I hit - it gives a quite different dynamic to my playing, achieving rhythms that I would not normally play.
Sensitivity and tracking is tricky - it changes the way you play (which isn’t necessarily a bad thing) because there is a bit of latency (maybe a 20-30 ms - I haven’t measured but will when I have a rig set up) and trigger and release may be unpredictable. (Actually it depends how cleanly you play. If you don’t strike a string well or let a string buzz then you are more likely to have issues that can be masked with normal analogue guitar playing.)
I can assign all strings to the same MIDI channel and use the guitar as a 6-note polyphonic instrument or allocate each string to a different MIDI channel which gives a challenging but interesting / flexible controller. I have not done much with that mode but do intend to play when the Zynth is back together.
My GI-10 is rather old now, circa 1994 so uses the kind of technology that GTR found so frustrating for live use (drifting tracking, etc.) and abandoned but my experience in designing and building transient detectors and signal processing and there not being much interest in guitar synths in the intervening years would lead me to believe that current guitar synths may behave similarly. Maybe Morg can enlighten us on what kit they use and how it behaves.
Super cool info Brian, I haven’t had myself a chance to play around with a Roland one yet (it’s been on my radar for a while). I bought a tripleplay hexaphonic pickup some time ago and I wasn’t really happy with it, the note tracking was kinda bad and there were too many mistakes in the tracking that really didn’t make it reliable enough for live play and even when recording it was a pain to constantly have to fix in post.
What I got instead is an Expressiv Midi Pro guitar from a guy called Rob O’Reilly from Ireland, he makes these super cool (and kinda expensive tbh) midi guitars with some technology he developed himself for more accurate midi note tracking (electrified fretboard + hexaphonic pickups) and it is extremely accurate, very low latency (basically unnoticeable from a real guitar in my experience), and really accurate pitchbending.
I just recorded a small demo/video https://www.youtube.com/watch?v=FCougqc-AMY if people are interested It’s just a thing I did in 5 minutes after coming home from work so it’s not the best quality and my mic was a bit too low but I think it showcases the guitar a bit.
Nice to know about your use case. Currently zynthian doesn’t allow to load “MIDI filter plugins” directly, but you can use the MOD-UI engine for getting it.
Anyway, it’s time to implement this feature in the core, so i’ve created a feature request in our issue tracker:
I’ve added Zynthian MIDI-router ports to MOD-UI, so you can proccess the MIDI data coming from keyboard/controller with MOD-UI before sending to Zynthian engines.
Try to not create loopbacks or you will turn crazy your poor zynthian. Simply don’t do things like this:
Zynthian MIDI Main Out => Some MIDI Filter Plugins => Zynthian MIDI Main In
You should do things like:
Hardware MIDI Controller => Some MIDI Filter Plugins => Zynthian MIDI Main In
or, if you know what you are doing:
Zynthian MIDI Main Out => MIDI Filter Plugins + Synthesis Plugins + Effects => Audio Out
I know, a decent scheme with the zynthian internal data flow (Audio & MIDI) would be nice for understanding how it works