Is it possibile ??
I need to suppress CC7 or CC64 when changing state !
Is it possibile ??
Correct, MIDI filters can’t be state dependent. However, you can achieve the same effect by having two routes with different MIDI filter settings, and enabling/disabling the routes in your different states.
I play a Stratocaster guitar but cannot play keyboards. To minimise the number of times I have to change states on my Stream Deck, I decided to split my fretboard so I can play guitar notes on the bottom two strings and a MIDI instrument (e.g. tenor sax or Steel guitar) on the remaining strings without taking my hands off the fretboard. I use MIDI Guitar 2 vst plugin to generate MIDI notes from my guitar.
This is slightly more involved than splitting a keyboard as I have to set the guitar audio signal to zero in order to play the MIDI instrument. I use a MIDI-controlled gain (Blue Cat’s Gain 3) and Cantabile’s MIDI filters to achieve this (see picture).
I initially tried to use a state for each song in the MIDI-controlled gain rack but soon found out that the MIDI filters were not remembered by a state change. That’s when I found this forum thread and Neil Durant’s solution.
@brad are there any plans to do this? It seems logical to me that everything on the input line should change with the a state change.
I plan to split my fretboard for as many songs as I can but I’m going to end up with an excessive number of input lines if I carry on using the current method described by @Neil_Durant.
After seven years of Cantabile improvements, is there a more elegant method of splitting my guitar fretboard?
I don’t want to pre-empt Brad’s thoughts on this, but my understanding is that this constraint is to guarantee well-defined behaviour if notes are held across state changes, and to avoid hanging notes etc. If arbitrary filters are permitted before and after a state change, it’s hard to know how to handle a note that spans both. Whereas if filters are fixed, but routes are enabled/disabled, it’s more deterministic - any held notes after the state change will behave the same when released as before the state change, so note-offs won’t be lost.
I’m still trying to understand the problem you’re trying to solve. Is it that for any given song, you may want notes played within multiple different note ranges to cause the guitar audio signal to be muted? Is it that for different songs, those note ranges will be different, and that’s why you need filters to be state-dependent?
If so, I wonder if instead, you could set up those routes with note ranges, but with no filters on each route, and route them all to a single static filter, that isn’t range-dependent, which does the mapping to CC 7? The routes with the note ranges could be state-dependent (in the way normal keyboard players work, with state-dependent keyboard zones).
Unless I’m completely misunderstanding your problem, which is quite likely!
Hey Baz, a fellow guitar player here, along with midi guitar, and I play an EWI for sax and brass. I used MG2 for a few years but I moved to Fishman Tripleplay last year, and that allows me to have each string on it’s own channel.
I’m not sure how you’re using the split, are you playing bass notes on the E and A strings and soloing over that? Chords? Anyway, I have a couple songs where I split the fretboard, in order to get a great acoustic tone by sending midi on the upper 4 strings to an acoustic sample vst. But the bottom 2 strings have more midi latency on Fishman, and I was getting false notes, so I suppress those 2 strings/channels and send them to an amp sim with an acoustic tone, cut the upper 4 with EQ, and blend them. Slightly different than your scenario but it works great. Especially for fingerpicking.
I’m still waking up with my coffee so maybe I’m missing something, but I think you could do something similar, like this:
-Send audio to MG2 as normal.
-On the midi output of MG2, create a route with a filter to suppress notes (use “Suppress Events”) generated by your bottom 2 strings. Send that to your midi VST instrument.
-Create another route sending to your guitar sim. But in front of the sim (and/or after) put an EQ to cut the top 4 strings. You have to try various amounts of reduction until you find the sweet spot.
-Adjust your gain on the midi vst instrument so that it’s slightly louder than the amp sim.
-Save as one song state.
I’m still not sure why your splitting requires a lot of states…? There’s a toggle function to go back and forth between 2 states that I use quite often. On some songs I just filter or bind my FCB1010 to change the functions of the first 5 pedals, so I can directly select from the 5 states in a song.
Anyway, MG2 is an amazing vst, I gigged with it for about 3 years. I’ve found that on a few specific vst instruments MG2 tracks better, on others Fishman is better. In general I’ve moved most of my songs to Fishman. I created a separate Filter rack for it and put it in front of the vst instrument. It’s just 6 velocity filters, to adjust the output of each channel/string. Different states and amount of filtering for different songs or instruments. Definitely helps to eliminate some of the false notes when fretting off.
Anyway, glad to see another midi guitarist here! Best,
This is the problem exactly. I’ve tried your suggestion of moving the filters to the song and it worked brilliantly.
Many thanks for your input. This is the elegant solution I was looking for. I had got my mindset fixed on searching for a solution inside a rack when, really, the solution was song-based as you suggested.
Thanks for the reasoning behind the current strategy of fixed filters not changing with states. I had not appreciated this.
Thanks for your suggestion Tom but it will not be easy to do without a lot of iteration. Also one of my songs contains two portions of the fretboard where I want to play guitar with a steel guitar sandwiched between them. This might be time-consuming to do.
You may be interested to know that I started off with a Roland GR30 Guitar Synth fed by a Godin LGX-SA AA synth Guitar but I couldn’t find an efficient way to change patches quickly - Cantabile solves everything (if I ever learn how to use it properly).