Mute, Solo, Bypass, Suspend

Hey All,

As I’ve been writing the code to upgrade v2 session files I’ve been thinking about settings for mute, solo, bypass and suspend and whether v3’s support of these could be better.

Some thoughts:

  1. Solo - I don’t think this makes sense for Cantabile. v2 had it cause every other music app had something like that, but I no longer think it makes sense.

  2. Bypass - currently v3 implements this by internally twisting the wet/dry setting to completely dry. It only affects audio. Should there be a button to bypass MIDI too, should it be the same button, should it be a per-plugin configurable option on the plugin slot?

  3. Mute - v3 doesn’t have a mute button, but if it did, it could mean one of a couple of things - suppress the audio output of the plugin, or possibly more useful is to suppress the MIDI Input to an instrument. Both can be done already by disabling the routes to/from the plugin, but it’s not super intuitive.

  4. Suspend - this means put the plugin to sleep, but should it also bypass the slot? I think not, since there’s already a separate control for this.

Also, would it be useful to have these kinds of controls for rack slots as well? Bypass would be tricky cause you’d need to define which input ports map to which output ports when bypassed.

Anyway… curious what others think about all this.

Brad

1 Like

Hi Brad,

solo - I never used it on version 2
bypass - Audio for sure but bypass on midi instrument selectable by plugin (no worry on rack)
mute - mute Audio is what I think of when i think “mute” I can suppress midi already
suspend - i agree, don’t bypass the slot, just the plugs

The way I use it now I just suspend the slot with the rack in it. Is there an advantage to separate suspend for rack?

I agree, it’s hard to think of a real use case for this in Cantabile (I don’t think the use case for solo on mixing desks / DAWs applies).

I guess for completeness it would be good to have MIDI bypass, although I’m not sure I can think of many uses for it, at least for the way I use Cantabile (although I’d be interested to hear other people’s ideas here). If implemented it should definitely be a separate button though, per-plugin configurable on the plugin slot.

However, I’m a bit confused about the implementation using 100% dry - how does Cantabile know which inputs to map to which outputs?

Definitely it would be nicer to have a mute button rather than have to fiddle with routes - it’s like on a hardware keyboard rig when you find yourself having to unplug MIDI / audio cables to check something, and it’s annoying. Feels like the routes define the “circuitry” of the song/rack, and once set up I’d rather leave them untouched. I think I’m almost 50/50 on whether it should mute the audio output or the MIDI input, but with a slight leaning towards muting the audio output. The reason is that with muting the MIDI in, the plugin may “miss” an important incoming program/controller change, and so after un-muting it might not behave as expected.

I agree, since you can separately bypass if you want to. However I’m unclear about what is actually happening to audio/MIDI if you have a suspended plugin that isn’t bypassed - if it simply passes through, how are the inputs mapped to outputs? (Same question as for bypass above - I’m probably just lacking a key bit of understanding of the architecture).

Hi Neil,

OK, sounds like what’s there is mostly usable - perhaps just a mute button and perhaps configurable as to what exactly it does. For effects it makes sense to just shutdown the output audio. For plugins it could just suppress the note on events. I’ll think about this a little more.

The behaviour of the wet/dry and the bypass control is explained here.

Brad

1 Like

Hi Brad,

actually, I’d love a “solo” button for racks, especially in complex setups, when editing just one element within the setup. I would love to have this solo button available when editing within a rack, in order to be able to hear my current rack in isolation, as well within the context of the overall sound, switching back and forth between both configurations

Does this make sense?

Cheers,

Torsten

Hi Torsten,

I understand where you’re coming from with this, but not sure how to clearly convey what it does.

eg: what does it mean to solo a rack that routes to another rack - should the other rack be shutdown? In which case the output from the rack you’ve soloed (is that a word?) mightn’t be audible. Should it in that case, not route to the other rack and route directly to output - in which case which output port? It get’s pretty complex pretty quickly.

In other words solo works well on a convention multi-track setup where there are a no dependencies between the tracks. Not so much when routing and dependencies come into it.

The other less convention idea I had was for a solo feature that worked on the set of root input routes - that’d let you test one input route at a time.

Brad

Hi Brad,

yep, I was struggling with the dependency issues as well. But for an 80% solution how about this:

  • within a song/rack, every plugin or rack can have a property “mute defeat”
  • soloing a rack or plugin within a song (or a plugin within a rack) switches all plugins / racks that do NOT have this property set to “bypass” (better than “off”; need to pass audio on along a chain) for plugins rsp. “off” for racks.
  • when editing within a rack, there should be a “Solo” button right next to the Rack button at the top. This “solo” button then sets all other racks / plugins in the “mother song” that do not have “mute defeat” set to “bypassed” / “off”

This way, I could decide which racks / plugins I need to stay enabled in order to still hear output from the rack being edited. Usually, this “mute defeat” would only be needed for one or two racks within a setup - easy to identify and mark. And it puts the burden of identifying the critical ones on the user - no need for fancy algorithms :smile:

Pretty easy to implement and mostly robust in use. And also: easy to understand for users!!

How 'bout it?

Cheers,

Torsten

Hi. I’d like to revive this idea of a solo and mute button for each INSTRUMENT VST. I find myself often wanting to isolate a single instrument (solo). The existing bypass is fine so no extra mute is needed, but a “quick solo” button which would simply mute the audio for all other INSTRUMENTS would be nice so one doesn’t have to jump around bypassing stuff. I don’t see how it would be useful for effect VSTs though. I vote to bring back the solo button for instruments.

I too had a need for an instrument solo button recently. I was setting up a rack to produce huge Rick Wakeman-esque church organ sounds by layering 4 separate plugins to varying degrees. A solo button would have been really useful when fine-tuning the separate layers.

Neil

Hey Guys,

I’m all for adding a Solo button, but I need to figure out the best way to do it. Here’s some questions:

  1. Should this be an audio mute of the other instruments or a MIDI mute?
  2. If MIDI should it mute all events, or just notes?
  3. How do racks play into this? eg: how does soloing an instrument in a parent song affect instruments that might be in racks?
  4. Would a better/simpler option be a way to solo a MIDI route in the Input Ports section of a song or rack?

I kinda like option 4 - especially if it only muted note events - that way MIDI controls on effects etc would still work and there’s no special handling for instrument vs effect.

Brad

Brad, I think you will nail it with Option 4. I like this because temporarily shutting off MIDI note messages still leaves the audio streams “live” and “hot” in the acoustic field and any subtle artifacts in the audio background will thus be preserved… the muting of the other input ports won’t act like a gate which could affect the total ambiance. Maybe a picayune point but I think this will be a beneficial result by working the MIDI note messages instead of the audio. When the solo is turned off the noise floor will be the same and the change won’t be audible. Using the MIDI route at the particular input port in question to filter MIDI note messages is simple and elegant. Thank you!

1 Like

Hi

I have a need for a solo option so, if I may, I’d like to add my tuppence worth! :smiley:

On my keyboard I use combis (Korg Krome). I could have up to 16 sounds layered within in any one combi although I generally only have 2 to 6, any more and I lose too much polyphony.

The way it works on the Korg (I think) is just to block all midi messages on the other channels OTHER than the one being soloed. So if I solo an instrument on “track” 4 only information for channel 4 is being sent to the synth engine. I presume mute is the opposite and filters out all events for that channel.

The unfortunate thing for me is that while the Korg transmits this change it only transmits it as sysex so I can’t intercept it in Cantabile. To get around this I am setting up a tablet with TouchOSC and creating a toggle for each channel for mute. Then I have a binding for that going to the plugin bypass. It is working well as a mute for the plugin or rack.

Obviously if the rack itself has multiple instruments then it mutes them all, but I can live with that. Unless there’s a way of passing the controller message through the rack and to the instruments in Kontakt? I’m still discovering all the ways Cantabile routes stuff!

But I plan on having racks created that provide a particular sound, or just an individual plugin, so muting the rack or plugin is fine. This allows me to treat each song in a very similar way to the combis in my Korg.

Solo, on the other hand would be great for songs that utilise layered instruments, but I move from the full sound to just one instrument. I do that a lot with piano and string combis where during the song it may just be strings or piano and then both. My thought is that putting a song into solo mode would filter out all messages to the channels other than the channel I want to hear. Perhaps that is what Brad is thinking of with his option 4?

I may perhaps be able to do a similar thing with states, but I have still to get my head around that!

Anyway, in a nutshell, some form of mute and solo I think is a definite must. I think many users would have a use for it at some point.

Cheers!

Hi @brianvic,

Thanks for the feedback - I’m still thinking about the best way to implement this but I’m curious about the sysex messages that your korg is sending. Do you have a reference or details on what it’s sending - I’ve been wondering about ways to improve the ways Cantabile can respond to sysex events.

In the meantime one alternative might be to use some sort MIDI translator that can handle sysex - convert them to CC, or NRPNs and pass them to Cantabile.

Brad

I’m definitely on board with a solo function.
As has been alluded to earlier in this thread, a solo ‘safe’ mode is a useful part of such a scheme. Cubase allows this by using a modifier key in conjunction with the Solo icon being pressed. The ‘S’ changes to ‘D’ for ‘Defeat’,

@brad , perhaps it would make sense to see how some of the DAWs handle what gets carried along with a Solo?

Hi Ade,

Solo is still a feature I’m trying to figure out how to best implement. It’s probably only going to be on routes but a Solo Default option still makes sense in that context.

Brad

Hi Brad. The SOLO function is VERY IMPORTANT!!!

Please include it in the next update! Thanks!

Anybody who can play Eruption from Tarkus the way you do has got my attention :slight_smile:

1 Like

Thanks a lot Ade, much appreciated! :slight_smile:

OK… I’m onto it!

Spent today working on this. This is how it’s going to work:

  1. Rack, plugins and media players will all get a new in-slot button “Solo”
  2. They’ll also have a right click option that determines whether the object participates in Solo operations. Turn it off for master effect racks etc… aka: Mute Defeat
  3. When an object is muted by an active solo operation it’ll continue to run as per normal, but all it’s output routes are effectively disabled.
  4. For racks I may also duplicate the solo button into the rack header next to the “eject” button so you can solo a rack while you’re working on it.
  5. Solo operations are song/rack wide - soloing an object in one rack doesn’t affect other racks for example. Similarly soloing a rack in a song, won’t affect objects inside that rack - but you can open the rack and manually solo items in that rack. (does that make sense?)
  6. Both the solo and mute defeat settings of an object will be state controllable and there will be bindings to control them too.

I’ve got the basics of this working for plugins but still a fair bit to do: GUI work, binding support, state control, rack support and media player support. Probably another day or two work.

Brad

8 Likes

Hi Brad. Great job thanks !

One thing: soloing an instrument does not mute a rack (rack keeps playing), which is not exactly what’s needed. If I solo an instrument (plugin) anything else must be muted, because it means I need to listen ONLY for that plugin.

Also, I opened a previous session which includes a rack, I cannot see the “in-slot” button “Solo”.

Is there a way to make it working, or can you fix these issues? Thanks again!