Wish Crossfading Channel Changes in a Block

DLC86:
@Dr. Dipwad while I'm always favourable to new features and I would love what you propose, I think you're really overthinking the issue and there's also a fault in your reasoning....
I want to point out that I'm not writing this just to go against your wish, as I said I'd really love such a feature that would surely simplify the workflow.
I'm just trying to help you achieve what you want to do with what we already have ;)
Hey, I'm putting my kids to bed right now and can't reply in full but at a quick scan I think I get where you're going with this. Once the kids are settled I'll read in more detail.

But I want to thank you for your reply, and especially for the thought you put into it and the attitude behind it.

I totally get that you're not trying to diss the WISH, and just trying to show that it can (as long as you put up with certain limitations/annoyances) actually be achieved with the current system. Thanks for giving it that level of effort.

And thanks for reading my request in such detail.

I realize that, while the result of Getting my WISH would be easy to use ("I can just turn on this parameter here, and set the time..."), and while the sonic effect is kinda easy to describe ("when I change Scenes, my sound sorta morphs smoothly from one timbre to another"), the actual details I've given for how it ought to be achieved are long and complex. We are a TL/DR society, and everyone has a lotta stuff going on. Thanks for taking the time. :)
 
Last edited:
If you use scenes as I described in my previous post there's no issue, you always change to a scene which has the amp muted in the previous scene.
The only rule to follow is: if you are in scene 1-4 switch to scene 5-8 and vice-versa
Basically we use 8 scenes to just 4 have in reality.
Obviously the crossfade time has to be long enough to make the channel switching inaudible.

What I meant is this: Right now the Axe-FX will immediately try to put both amps (and every block) to particular channels when you change scenes. That may or may not be the same channel a block was just on.

If it knew to switch the previously-muted amp's channel first, crossfade, then switch the muted amp channel (or do nothing) it would work.

I don't think there's currently a way to smoothly fade between 4 amp sounds without doing what I described in post #18 with some MIDI controller programming.
 
What I meant is this: Right now the Axe-FX will immediately try to put both amps (and every block) to particular channels when you change scenes. That may or may not be the same channel a block was just on.

If it knew to switch the previously-muted amp's channel first, crossfade, then switch the muted amp channel (or do nothing) it would work.

I don't think there's currently a way to smoothly fade between 4 amp sounds without doing what I described in post #18 with some MIDI controller programming.
Ok, now I see your point, and I suddenly realized I'm an idiot :D

I didn't consider the amp that is currently active has to stay on the same channel thus limiting the combinations available.

@Dr. Dipwad forget what I said, my reasoning was faulted not yours. Sorry
 
Last edited:
Bakerman:

I don't think there's currently a way to smoothly fade between 4 amp sounds without doing what I described in post #18 with some MIDI controller programming.

Yeah, I don't think there is, either.

And I agree that one could make it work in a pinch, by programming 2 different rows on a fairly-flexible MIDI footcontroller, the way you describe.

But the disadvantages would make it a hassle from the user's perspective. Every time you wanted crossfading channel-changes, you'd be signing up for (1.) the relevant programming, and (2.) the annoyance, while playing, of remembering to always hit a switch on the row that you didn't hit last time.

Not fun.

By contrast, the feature I described in my WISH would be, in so many words, fun.

After all, it's not just the Amp Blocks and Drive Blocks you could use this way (although they are the obvious first candidates).

Your Scene Changes could fade through changes to other timbre-altering blocks, also:
  • a mild chorus fades out as a heavy flanger comes in
  • a synth smoothly fades into your tone
  • a dotted-eighth timed echo you were using in a previous section morphs away, replaced by a more subtle quarter-note echo
...and so on.

The idea was to make this feature available on every block that has both (a.) channels and (b.) more than 1 instance of that block type in your blocks inventory.

I also did a WISH asking for blocks that fade-in/fade-out over a period of time when you set their Bypass State for a Scene to either On or Off. (Various folks noted this could be done today with Scene Controllers; which is true. But you only have so many Scene Controllers, and they have to be set up in a different location than the block. I still think that the workflow would be better for Scene Usage, specifically, if you could set a Bypass State Fade Time and then just set the Bypass State to On or Off for that Scene.)

All in all, I think Fractal could achieve yet another advantage over the competition by embracing this cool, useful, musical-sounding idea of crossfading from scene-to-scene.

We'll see. Obviously they have more critical items on their minds right now than this. But perhaps in the future?
 
Bakerman:



Yeah, I don't think there is, either.

And I agree that one could make it work in a pinch, by programming 2 different rows on a fairly-flexible MIDI footcontroller, the way you describe.

But the disadvantages would make it a hassle from the user's perspective. Every time you wanted crossfading channel-changes, you'd be signing up for (1.) the relevant programming, and (2.) the annoyance, while playing, of remembering to always hit a switch on the row that you didn't hit last time.

Not fun.

By contrast, the feature I described in my WISH would be, in so many words, fun.

After all, it's not just the Amp Blocks and Drive Blocks you could use this way (although they are the obvious first candidates).

Your Scene Changes could fade through changes to other timbre-altering blocks, also:
  • a mild chorus fades out as a heavy flanger comes in
  • a synth smoothly fades into your tone
  • a dotted-eighth timed echo you were using in a previous section morphs away, replaced by a more subtle quarter-note echo
...and so on.

The idea was to make this feature available on every block that has both (a.) channels and (b.) more than 1 instance of that block type in your blocks inventory.

I also did a WISH asking for blocks that fade-in/fade-out over a period of time when you set their Bypass State for a Scene to either On or Off. (Various folks noted this could be done today with Scene Controllers; which is true. But you only have so many Scene Controllers, and they have to be set up in a different location than the block. I still think that the workflow would be better for Scene Usage, specifically, if you could set a Bypass State Fade Time and then just set the Bypass State to On or Off for that Scene.)

All in all, I think Fractal could achieve yet another advantage over the competition by embracing this cool, useful, musical-sounding idea of crossfading from scene-to-scene.

We'll see. Obviously they have more critical items on their minds right now than this. But perhaps in the future?
This would be great....
 
I second Dr. Dipwad’s suggestion. To me, a smooth transition of amp channels, like you can do with a mixer, would be huge value even if it means sacrificing the number of channels or taking more CPU. Would be a Pro sounding feature!

Alternatively, I wonder if you could implement a cross fade between input channels, like picturing a smooth outboard MultiSelector might do, and the inputs go into separate rows on the Axe preset. Each row could have the different amp.
 
I second Dr. Dipwad’s suggestion. To me, a smooth transition of amp channels, like you can do with a mixer, would be huge value even if it means sacrificing the number of channels or taking more CPU. Would be a Pro sounding feature!
That's the idea.

I'm glad you're open to "sacrificing the number of channels taking more CPU."

One concern raised was that nobody would want this feature, because the CPU load required would reduce how many other things you might wish to place on your grid in a Preset.

I accept that. But a hard look at some of the numbers...
https://forum.fractalaudio.com/threads/block-cpu-usage-values.138238/
...shows that the "weight" of having 2 Drives, 2 Amps, and 2 Cabs working simultaneously is, at most, 72% of CPU. (That's including the Input block, the Output block, and a High-quality Reverb block at the end!)

That means, correspondingly, that the CPU "weight" of having 1 Crossfading Drive, plus 1 Crossfading Amp, plus 1 Crossfading Cab, would also be somewhere around 72% of CPU. (Since in essence, a crossfading block is really just 2 of the normal block, working in tandem, with all of their channels having duplicate settings.)

And the weight only rises as high as 72% if you use the biggest Drive Model, and have all 4 IRs active simultaneously in the Cab.

If you opt, instead, to use a slimmer Drive, or deactivate all but 1-2 of the Cab IRs, then you can get a Drive -> Amp -> Cab -> crossfading chain, with a touch of (non-crossfading) Reverb on the end of the chain, and still be around 50% CPU utilization.

If you use an outboard Reverb unit, or an outboard Drive pedal, it gets even lower. I think there'd be plenty of CPU left to put lots of other effects in the chain.

This is the great thing about the Axe III having so much CPU horsepower to burn: These wild new possibilities are open to us.
 
That means, correspondingly, that the CPU "weight" of having 1 Crossfading Drive, plus 1 Crossfading Amp, plus 1 Crossfading Cab, would also be somewhere around 72% of CPU. (Since in essence, a crossfading block is really just 2 of the normal block, working in tandem, with all of their channels having duplicate settings.)

And the weight only rises as high as 72% if you use the biggest Drive Model, and have all 4 IRs active simultaneously in the Cab.

If you opt, instead, to use a slimmer Drive, or deactivate all but 1-2 of the Cab IRs, then you can get a Drive -> Amp -> Cab -> crossfading chain, with a touch of (non-crossfading) Reverb on the end of the chain, and still be around 50% CPU utilization.

If you use an outboard Reverb unit, or an outboard Drive pedal, it gets even lower. I think there'd be plenty of CPU left to put lots of other effects in the chain.
i like the wish/idea.

but i highly doubt that most customers would be ok with 1 drive, 1 amp and 1 cab taking up 72% CPU. even 60%. 70% with 3 blocks? that's a tough sell.
 
i like the wish/idea.

but i highly doubt that most customers would be ok with 1 drive, 1 amp and 1 cab taking up 72% CPU. even 60%. 70% with 3 blocks? that's a tough sell.
But that's a very misleading description.

Remember: I'm NOT asking for a feature that makes each block twice-as-CPU-burdensome whether you want it to crossfade or not. (Nobody'd want that.)

The WISH is for an option that allows you, on any block, to optionally "harness" a second instance of same block type, pairing it up with the first instance, thereby enabling that block to "crossfade" its channel-changes.

(But it's an option. If you don't switch it on, for a given block, then that block's channels will NOT crossfade, and you will not suffer the CPU drain of "harnessing" an extra block-instance of the same type.)

It's your choice. And you choose it on a per-block basis.

You can use it on Preset 100, only for the Drive Block. And then use it on Preset 101, but only for the Amp Block. And then, you can not use it at all on Preset 102. It's up to you.

Thus, there'd be no reason for customers NOT to be okay with it. It only impacts the people who opt to use it.


What I'm NOT asking for:
Now, if I were asking for a feature that affects ALL blocks, ALL THE TIME, then, yeah, that'd be a "tough sell." (I wouldn't want it, myself.)

But that wasn't what the wish was for.

The wish was: On any block on your grid, you can optionally "harness" another instance of that same block type in such a way as to grant the block the ability to crossfade its channels seamlessly.


It's The User's Choice:
But if crossfading is NOT switched on, for that block, then the block functions exactly as it does now, with the same CPU weight as now.

The sole impact of this feature would be that, for any block you opt to use it on...
(a.) you get crossfading channels on that block, with a fade-time you set;
(b.) behind the scenes, the Axe III has now invisibly put another instance of that block into the signal path and "harnessed" it to the first instance to make the crossfading seamless;
(c.) you will therefore see a drop in CPU as a result of the fact that...
- you currently have 2 instances of that block working, not 1; and,
- the Axe FX is handling the crossfading for you whenever a channel-change event occurs.


Implementation is Tough (But Not As Tough As You Might Think):
One thing to remember is that this feature doesn't involve the Axe III doing anything it doesn't already do. You're not "teaching it any new tricks." The Axe III already "knows" how to have 2 instances of a block running on the grid at once; it already "knows" how to respond to a MIDI event by changing one output level from 100% to 0% (and the other from 0% to 100%); and it already "knows" how to apply damping to that output level so that it "glides" downward (or upward). Thus, implementing this feature mostly involves invoking code that already exists in the firmware.

Mostly, implementing this feature is a matter of adding the option to the User Interface, and having the Axe III "know" that, when the user switches it "on" for Block XYZ #1, what that "means" is that Block XYZ #2 is engaged and some continuous-control linkages are put in place to handle the crossfades whenever that block is asked to channel-change.


RE: the 72% number:
Chris, please notice where that 72% number came from.

It's the worst-case scenario. It's the amount of CPU in use if you try to turn on crossfading for...
  • the Amp1 block,
  • and the Cab1 block,
  • and the Drive1 block,
  • and you have ALL FOUR of the IRs in the Cab block turned on,
  • and you've opted to use only the heaviest-weight Drive Models,
  • and you also have a Reverb at the end of the chain,
  • and that Reverb is a high-CPU Reverb model!
I mean, holy cow, if you do all that, I think you should expect to see it use a lot of CPU!

By contrast, look how the CPU would be affected if you did something more reasonable:

Let's say you have a Preset where you want to use the same Cab Model (1 IR only) for all Scenes. And you're even using the same Amp Model (1 channel). The only thing you want to crossfade is the Drive Model.

In that case, your total CPU "weight" is:
  • Input Block = 1.5%
  • Crossfading Drive Block = 2 Normal Drive Blocks = 8% x 2 = 16%
  • Amp1 Block = 0.6%
  • Cab1 Block = 5% (for 1 active IR; it'd be 9.8% for 2, 18.2% for 4)
  • A touch o' Reverb = 10% max (for the highest-weight verb models)
  • Output Block = 0.6%
You now have crossfading scenes on your Preset. The CPU burden is 34%. Plenty to spare.

How much will you get back if you turn crossfading OFF, on that Drive Block? You'll get back 8%. (Because, again, crossfading just is the harnessing of an extra Drive Block to the first one. If one Drive Block costs 8%, then one Crossfading Drive Block costs 16%.)


Conclusion:
So I don't see why this would be a "turn off" or a "hard sell" for customers.

The ones who don't use it, don't lose anything. The ones who do use it, can use it a LOT (in which case they'll significantly limit the number of other effects they can put in their chain) or, ONLY A LITTLE (in which case they can still put a fairly large number of effects in their chain).
 
Last edited:
Sorry to bring up an old topic but because im struggling and realizing im going to have to give up Scene switching during a live performance if i need to switch back to back without a pause.
If a solution has been found since please ignore the following and point me to it...

Maybe what's needed is a "Sampler" Block or feature.

What i mean is that you don't need a full processing block like an amp block, you need a sampler that constantly samples a 1 sec. buffer of the total chain and duplicates the last amount of time that is equal to the changeover gap and replays it while the changeover takes place. It is much less CPU consuming than having an entire processing block just for that split second.
 
It’s perfectly possible to achieve gapless switching using scenes and smart preset design.

Even in scenarios where much switching is done, the gap is not longer than switching on traditional amps.
 
It’s perfectly possible to achieve gapless switching using scenes and smart preset design.

Even in scenarios where much switching is done, the gap is not longer than switching on traditional amps.

Could you possibly give general guidelines/tips of what creates more and less gaps? That would be so much easier to understand than sifting through all the discussions... Much appreciated. Im sure many others can benefit from a short list...

My dream was to be able to change between 2 completely different worlds at a flick of a switch, but the gap is too noticeable somehow..

Thanks a lot!!
 
Could you possibly give general guidelines/tips of what creates more and less gaps? That would be so much easier to understand than sifting through all the discussions... Much appreciated. Im sure many others can benefit from a short list...

My dream was to be able to change between 2 completely different worlds at a flick of a switch, but the gap is too noticeable somehow..

Thanks a lot!!
There are so many decisions/compromises to be made, some/most of which may not pertain to how you setup your presets. The solutions are going to be preset specific. Can you post (or P.M.) the preset?

Some general guidelines....
  1. Set (serial) Delay and Reverb block bypass states to 'Mute Fx In' to preserve the trails when bypassing.
  2. Avoid channel switching to different Delay/Reverb models when possible. Simple things like different 'Input Gain', 'Feedback', etc, are fine. Other-wise, use more instances of the effect.
  3. Drive block channel switching (currently) has a small gap, even when bypassed in both scenes? Use separate blocks if available, and if CPU limits permits.
  4. Avoid Amp channel switching when possible? Use separate blocks if available, and if CPU limits permits.
  5. Avoid Cab channel switching when possible? Use separate blocks if available, and/or the IR blocks, and if CPU limits permits.
  6. Sometimes there are other ways to affect the tone other than changing a channel? Using other low-CPU blocks, using Scene Controllers or Control Switches, etc....
 
There are so many decisions/compromises to be made, some/most of which may not pertain to how you setup your presets. The solutions are going to be preset specific. Can you post (or P.M.) the preset?

Some general guidelines....
  1. Set (serial) Delay and Reverb block bypass states to 'Mute Fx In' to preserve the trails when bypassing.
  2. Avoid channel switching to different Delay/Reverb models when possible. Simple things like different 'Input Gain', 'Feedback', etc, are fine. Other-wise, use more instances of the effect.
  3. Drive block channel switching (currently) has a small gap, even when bypassed in both scenes? Use separate blocks if available, and if CPU limits permits.
  4. Avoid Amp channel switching when possible? Use separate blocks if available, and if CPU limits permits.
  5. Avoid Cab channel switching when possible? Use separate blocks if available, and/or the IR blocks, and if CPU limits permits.
  6. Sometimes there are other ways to affect the tone other than changing a channel? Using other low-CPU blocks, using Scene Controllers or Control Switches, etc....

Wow thats great info! Thanks! i will post a preset once im near a good example and after implementing you advice.
Cheers!
 
OK- Here is a super simple preset.

This preset contains 3 Scenes.
2 amp blocks and 2 Cabs that do not change channels between scenes at all.
1 Drive Block which is ON only in Scene 3 Together with Amp 2.

im noticing 2 strange behaviors in switching.

1.When going from Scene 1(clean amp) to Scene 2 (Gain Amp), without the drive engaged there is a sound not unlike a shaker, hi Freq, hit when changing from amp to amp in addition to the latency. But you have to have your guitar playing or sustaining during the change to hear that, which is the whole point anyway...

2. When Changing from Scene 2 to 3 all that is adding is the Drive block. There is latency. However, when adding the Drive manually while on Scene 2, which is essentially like going to Scene 3, there is no latency- its immediate. So Something is happening in the Scene changes that causes latency even though the material itself does not dictate it, as evident from just kicking in the drive in Scene 2, where there is no latency.

See what you think... It looks like changing Scenes creates latency no matter what...
 

Attachments

  • dumbeat Switch Test.syx
    48.2 KB · Views: 4
Last edited:
When Changing from Scene 2 to 3 all that is adding is the Drive block. There is a Gap. However, when adding the Drive manually while on Scene 2, which is essentially like going to Scene 3, there is no Gap. So Something is happening int the Scene changes that cause Gap even though in the material itself does not dictate it as evident from just kicking in the drive in Scene 2, where there its no Gap.
Is Axe-Edit III running? What happens if you pause it and then change scenes? Still get the gap?
 
Is Axe-Edit III running? What happens if you pause it and then change scenes? Still get the gap?

Axe edit is not running and made sure USB cable is disconnected just in case,
When you say 'Pause' what do you mean? Im not sure im familiar with that. Thanks for helping!
 
Back
Top Bottom