Question for you guys who still use external slave hardware

I was inspired by Neil’s post from a while ago on how to use a rack for external gear and have it set up this way for my D550 and DX27. It works well. I have a rack state for every sound in the memory and I just add the rack into the song, and select the state on the rack like a preset. It took a while, but once it was done it is always ready to go.

  • Paul
1 Like

My way is the same… For each real Instrument 1 Rack…

But is there an easy way or is it necessary to make one binding for any state?

Hmmmm??

Here’s one way you might find useful. Create a rack with a binding for each bank of your external hardware. In my example below, I’m going to suppose my external hardware has three banks of patches.

Add an embedded rack that basically does nothing other than provide a useful fader control, which we’re going to use to choose patches on the external hardware. I’ll call that embedded rack “Patch Selector”.

Each binding maps from Patch Selector OutputGain to send out a Banked Program Change to your external hardware. The first binding maps the Patch Selector fader range to banked program change 1.1 to 1.128 (bank 1, programs 1-128). The second maps to the banked program change 2.1 to 2.128 (bank 2, programs 1-128), and so on. Of course, if your hardware has more exotic bank numbers (as most do), use those instead of 1, 2, 3 here.

Set “Enabled” state behaviour on all of these bindings, and then create rack states for each of your banks. Enable just the first binding in rack state 1, second binding in rack state 2, and so on.

Finally, enable state behaviour for the Patch Selector rack’s Output Gain.

The result is that you have a rack where you can choose the bank you want using the rack state selector, and then dial in any of the patches in that bank by moving the “Patch Selector” gain slider inside the rack (this scenario is crying out for the “Custom rack controls” feature on the wishlist).

And since you’ve set state behaviour on the Patch Selector gain, once you find a bank/patch you like, just store it as a new rack state (in this case, named something appropriate to the sound, like “Rhodes” or whatever), and then whenever you choose the Rhodes rack state, it’ll send the correct bank and program change to your external gear, just like magic!

Like this, with only a few bindings and rack states, you can scan through thousands of patches on your external synth on demand from your rack very easily to audition sounds, then lock down specific patches you want to use in your songs into rack states.

To round off the rack, you can route the audio input from your external hardware to the rack stereo output, and route the rack’s MIDI in to the MIDI out to your external hardware. That way, any MIDI you route to the rack will go out to your synth, and your synth’s audio will emerge from the rack’s stereo output. So in the context of a song, your external hardware will behave identically to a synth plugin, including how you route to/from it, and how you control levels etc. Or if you don’t route your hardware synth’s audio back into Cantabile, you can skip this step.

Some pictures to help illustrate:

Move “Patch Selector” gain inside the rack to select a patch in the selected bank on your external device:

Bindings, one for each bank of your external hardware, with bank values set accordingly in the value box:

Neil

[After I first posted this I edited/extended it a bit, to use a “Patch Selector” control, instead of Input Gain]

10 Likes

Brilliant! The method is well explained. Thanks Neil.

Dave

Thank you Neil for your help.

maybe I will use this way in the Future to solve some problems …good Idea to Do it this way…

I also buildet Racks to delegate Routings and bindings to the Right Place for better overview…

I had some attempts to find the best and easyest way but sometimes easy is not comfortable enough… so i will see what’s the best

Thank you Neil

…i found a new way in the darkness :joy:
the best way for me…

Rack State >> Selected State Index >> (Action) ProgramChange

…works perfekt and so i can Chose exactly the numbered presets with only One new State and i can direktly the Name of the Patch in my States List

…next step Building a gain fader to select the states and so i can step all named presets in my rackstatelist

Expl.: voicelive> gain> Voicelive > Selected State Scaled (Full Range of States)

Love it :+1:t2::+1:t2: (good Idea with the slider, Neil)

1 Like

This is an awesome approach, Neil! I am going to try it today!

My older hardware synths really only shine when routed through effects. I’m never certain how to mix this approach with including effects, but perhaps adding effects directly into this rack and allowing them to change using states will work. (The method I’d tried in the past in creating an “effects rack” was really awful… perhaps I can apply this approach you use for patch changes and banks to my effects somehow.)

Terry

That’s exactly what I do - I choose one or more effects plugins that work well with the external synth, and then enable/route them on a rack-state basis. It works really well. Of course, it relies on you having enough audio inputs on your interface to handle your external synths separately. The only disadvantage is that you’re sending the audio through two buffers worth of latency (in and out), which may be noticeable. In my case, running at 192 samples, I can detect the latency, but it’s small and acceptable for those sounds, given the benefits I get from effects.

Neil

1 Like

Nice to use many racks for 1 real Hardwaredevice.
so all important Parameters i can see directly…
Slider Harmony on/off is for Volume Harmonylevel
other Sliders to choose a State (example: Preset)
not for my real Setup …only to Play for fun and test programfunctions

1 Like

Looks like this wishlist feature would be useful here…

Neil

1 Like

It would be nice to have User controll Panels.

…but the question is what’s realy Important on my Window ?

My way for playing is : all changes only with States … So i only need forward and back …that’s all …the Rest is only making musik

what i Need for Experiments and Building new Songs is the other Side but there i can use a Second and third Monitor with some Editors on it…

I agree, Juergen, I prefer to have everything pre-programmed into states too (although some like to tweak things live). However my original idea for the user controls suggestion was for racks to be able to have user-defined controls; racks currently have controls for rack state, output gain fader, pan etc. - this idea for for adding a few more controls (maybe on a extended 2nd line below the normal rack row), which you can bind to stuff inside the rack. So for example, having a reverb mix control on the rack “front panel”, without needing to go into the rack and tweak stuff. The idea was to hide complexity, and allow racks to be easier to re-use, rather than for use during performances necessarily.

It would be particularly useful for the stuff discussed in this thread, for controlling an external device - bank/patch selection being one example scenario. With plugins, if you want to tweak a control and store the result in a state, you would usually just open up the plugin, make your change, and the state will store the result. But external hardware’s state is independent of Cantabile, so you need to use bindings to control the external hardware, bound from some control that’s stored in Cantabile states. In my example above I made a binding from an embedded rack output gain fader, which is sort of mis-using the fader for something it wasn’t intended for. The idea for user control panels would be to allow user-defined controls that can store their behaviour in rack states, which you can then use for anything, including binding to external hardware.

Neil

2 Likes

Vok i understand but with the Workflow of my example you also can have more sliders to controll anything…

Other side is the concept… Like …you have for every song another keyboard

…it also makes it complicated

On Surface it is possible to work with an other Programm for touchcontroll
Like emulator or any other…

So you can swipe your Virtual Desktop with one gesture foreward and back or integrate both in One Window… So many possibilities

Jürgen

P.s. But i live in the Word of real Instruments and i don’t want more Experiments with Audio,vst,Crash,dropout,surprises :wink:
…and there are many Knobs and Faders available :grinning:

I tested some things to have a better workflow for optimizing my Songs…

Nice thing to use a Rack as a Switch, Button, slider…

Example… One Rack is only a Switch for my voicelive Harmony:

Harmony Off >>> Turms the Rack Off
Slider is for Harmony Level.

This works for.- and backward …also when i use the Knobs of Voicelive and Switch some things the result will be saved directly in my Songstate.

This is very nice for finetuning the levels.

@Neil_Durant

New user here and this is my first post. Can you please explain in more detail or attach a sample rack file to show how to set up a hardware synth to react or respond like a plugin? I’m using a Roland XP-80 and local is set to off. I’m having trouble figuring out how and where to set up audio and MIDI ports. Is this all done on the options page or inside the rack? My ASIO interface has two inputs/two outputs and only the default MIDI/Audio ports are currently set up.

Thank you

1 Like

I’m not @Neil_Durant, but I’ve created a step-by-step approach to this in a previous post: Accessing an External Keyboard in C3

Take a look - hope this explains how to go about it.

Cheers,

Torsten

3 Likes

Thanks @Torsten, I was going to try and dig out that post you wrote, as I remembered you writing it and that it was very clear! It’s also pretty much exactly how I make such racks that represent external hardware. :slight_smile:

Neil

Thanks @Torsten. I got it working but one thing still confuses me. When I have my audio routed to an FX plugin inside my rack and I disable that plugin why do I still hear a dry signal? I would assume that all audio would be cut off completely at that point. Is that normal or am I missing something else?

Thanks

Hmm, sounds like a routing issue. First, as a quick double-check, test one thing: instead of disabling the plugin in the rack, gradually turn down its output gain to -oo and give things a listen. If you still hear the dry signal, there’s definitely something wrong with the routing. Use Cantabile’s output meters to check if the dry signal still appears at the rack level (rack should have no signal) and if there is an overall output signal in Cantabile. If Cantabile overall shows no output level, then there is an routing issue in your audio interface - the input signal gets routed through to the output at the interface / driver level. In that case, check your audio interface routing/mixer panel.

Cheers,

Torsten

1 Like

Got it. I went back to square one just working with an incoming audio signal and keyboard local set to on. Finally figured out I needed to create a couple of mono audio ports. No more problems, works great.
Thank you!

1 Like