Author Topic: Using AZ Controller for Cakewalk control of external audio mixer  (Read 21158 times)

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Good day Alexey

I am designing a digitally controlled analogue mixer which I want to remote control from Cakewalk via MIDI.  So I will use a Cakewalk project which will mirror the external audio mixer in terms of numbers of channels and groups etc.  I move a fader in Cakewalk and it controls the external mixer channel level (via a VCA).  The external mixer will not have its own hardware control surface.

I hope to use the AZ Controller as the control interface.  So I want to feedback Cakewalk fader positions, mutes, solo etc by MIDI which will be decoded by a PIC processor to provide the necessary control signals for my external audio mixer.

I have two questions:

1. Assuming I programme a 'dummy' external MIDI controller into AZ Controller, does Cakewalk require any basic handshaking so that it will begin to send feedback messages via MIDI?  These feedback messages reflecting the current position of control elements within the Cakewalk project, e.g. faders, solo and mute status.

2. How does Cakewalk (using AZ Controller) feedback the initial status of all settings when a session is started?

Regards

Robert

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #1 on: May 12, 2020, 12:57:08 PM »
Hello Robert,

First of all, AZ Controller was used successfully for syncing DM settings and Cakewalk project. Mostly for mirroring mixer settings into projects (to use a mixer as control surface), but also in other direction (to control mixer settings from project). Till some degree it can even control FXes (f.e. EQ) of the mixer. So you are on the right way.
It is important to have sufficient throughput, so MIDI over USB is better option than MIDI cable. Also try to prepare hardware side for heavy traffic (f.e. quickly buffer incoming messages instead of trusting your PIC will be able to do everything in time).

For your questions: the logic of initial transfer is up to you. If you program some "query - response" handshake in the mixer, AZ Controller can be instructed to delay sending feedback till the device is "online". Otherwise it assumes that you switch the mixer on before starting Cakewalk, which in general must be the case for USB-MIDI (Cakewalk does not like MIDI "hot-plug"). Finally, you can program some button (f.e. labeled "Sync") to resend all information from AZ Controller (in well build preset, that should automatically work with a single "Reset all monitors" action).

I can help you with some test preset once you define the protocol. AZ Controller supports (N)RPNs in case you want good precision for parameters, but that increase the traffic 4x times.

Finally, if networking is an option, I strongly recommend using OSC for communications. You will have less problems with programming and simpler hardware design ($1-2 ESP chips have whole hardware/software stack ready to open WLAN connection and send/receive arbitrary protocol, including OSC). AZ Controller supports OSC.

Cheers,
Alexey.

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #2 on: May 12, 2020, 02:56:21 PM »
Hi Alexey

Thanks very much for the really useful information.  I wanted to establish that it would be feasible to use the AZ Controller before I started any big design work.  It does look feasible.
Your comments about OSC are interesting and I will explore that option.  I have no particular reason to use MIDI as the audio mixer control system will be an entirely new design.

If I get to the next stage, I will contact you again to discuss progress and testing.

Very best regards
Robert

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #3 on: May 12, 2020, 06:32:35 PM »
Hello again Alexey

Sorry, one more question for now:-

I have installed AZ Controller on my PC and I have it working with Cakewalk and a Nektar LX88 keyboard which has some sliders, knobs and buttons to work with.  No problem so far.

I need to find some way of monitoring the feedback messages which I will configure in AZ Controller and then will be sent out via MIDI port.  I mean I want to view the 'raw' MIDI messages.

I tried monitoring the outgoing MIDI port using MIDI-OX but it does not support monitoring of a MIDI port which is also being used by another application (which is strange but that's my interpretation of the error message which MIDI-OX is displaying).

Can you suggest a way to monitor the feedback messages being sent to the MIDI output port?

Regards

Robert

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #4 on: May 13, 2020, 11:02:32 AM »
MIDI-OX is the tool to use. But you need some "MIDI loopback" to use it for monitoring, so AZ Controller -> MIDI Loopback -> MIDI-OX ( -> Nektar).

That is rarely needed in practice, just in case you want RE device with unknown protocol or to find a bug in AZ Controller...
Note that you can use checkbox "loop" in AZ Controller MIDI sending actions, the message will be visible in "Last MIDI event" then. If it is the same as assigned,
that can trigger infinite loop, so be careful with this option. I just select slave or other MIDI channel before setting "loop" for testing feedback.

Another approach is 2x AZ Controllers + MIDI loop, one instance imitate "the device" and another is normal.

Finally, to evaluate possible logic, you can use some OSC app like TouchOSC. So you construct the "surface" you want, configure AZ Controller preset and check
it really works. F.e. that changing volume in Cakewalk move corresponding control.

You will need to learn ideas behind AZ Controller "feedback" (there are tutorials and examples), but for your particular case I suggest:
1. Use (fixed) Track names in preset. You will be able to use your "Mixer" project as a template then, so adding extra normal tracks will not influence the functionality.
Using WAI or numbered tracks can be more problematic (you will need to remember to keep mixer tracks at particular place in projects).
2. If you have some mixer parameters not existing in Cakewalk track, you can define some dummy FX Chains. Map
parameters you need to FX chain parameters and rename them to whatever you need on the mixer. So you will have "dedicated channel strip" for your mixer. Plug-in
parameters will be used just to preserve values in project, since no audio is routed plug-in will not do anything. So plug-in(s) inside should be lightweight.

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #5 on: May 13, 2020, 06:33:39 PM »
Hello Alexey

Thanks for the advice.  I got it working using MIDI Loopback.  So now I can read the "feedback" messages which I programme in AZ.  Just tried programming one slider knob on my external controller to a track level in Cakewalk and then programmed a feedback of that track fader position to the MIDI output and can read the MIDI CCs in MIDI-OX.  All good!

Yes I plan to create a fixed project template in Cakewalk to work with.  Most controls (for my needs) look straightforward.  Biggest challenge is to find a way to map:-

1. Cakewalk track to groups and mains routing in Cakewalk back to my (still to be designed!) digitally controlled analogue mixer.

2. Cakewalk track to aux send routing.

3. FX bypass.

Any ideas for how to 'grab' these would be welcome.

Best regards

Robert

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #6 on: May 14, 2020, 09:20:43 AM »
Hello Robert,

Question 1. and 2. I do not understand, sorry.

3. in general there is no known way to bypass individual effects with anything else except mouse. VST3 has "Bypass" parameter which is always the first. Some VST2 have individual bypass.

Cheers,
Alexey.

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #7 on: May 14, 2020, 11:11:03 AM »
Hello Alexey

Let me try to clarify all three points (and sorry for the longer explanations!);-

Points 1. and 2.  My digitally controlled analogue mixer will have track to group, track to master and track to aux routing.  On a traditional analogue mixer, there would be buttons to control this routing.  So if we consider a traditional analogue mixer with 24 channels, 8 groups, 1 master stereo buss and 4 aux buses, each channel strip would have routing buttons for:-

Group 1
Group 2
Group 3
Group 4
Group 5
Group 6
Group 7
Group 8
Main 1
Aux 1
Aux 2
Aux 3
Aux 4

Cakewalk does not work exactly like that, in that (in Cakewalk) it is only possible to route a channel (track in Cakewalk speak) to one group or main stereo bus at a time.  I am happy to place the same restriction on my digitally controlled analogue mixer.

So remembering that my digitally controlled analogue mixer will be entirely controlled by Cakewalk, I need to find some way to implement the channel to group and main (master) bus routing (and also for the channel to aux routing).

If we focus in on Cakewalk for a moment:-

If I route e.g. Track 1 to Group 1 (Group 1 being a Stereo Bus), then this is indicated by a routing 'label' at the bottom of the track display on the Cakewalk Screen.  I want to 'read' that routing information and use it to mimic the same routing in my digitally controller analogue mixer.  So really my question is whether there is any theoretical way which the AZ controller can read that routing information for each channel?  Even the routing name (in my example, that would be a 'O Group 1' displayed at the bottom of the track strip), would be enough for me to control the analogue console routing.

If I cannot find a way to do this, then I would need to build a hardware panel to control the routing and that defeats the elegance of what I am seeking to do; that is a digitally controlled analogue mixer, 100% controlled from Cakewalk.

3. FX Bypass.  I was specifically referring to the track FX button which (in Cakewalk) allows you to bypass all 'FX' effects allocated to that track.  It is one of the few Cakewalk buttons which does not have 'standard' Cakewalk Remote Control capability.  It is a bit strange because the track 'ProChannel' bypass switch is capable of remote control.  I want to use this 'FX' bypass button to remote control my analogue channel insert bypass function.

I hope this is enough clarity for you to consider what might be possible on the above points.  If you have the time for a Zoom (or similar) video chat, I can explain further.

Best regards

Robert

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #8 on: May 14, 2020, 01:24:55 PM »
Hello Robert,

1. and 2. Cakewalk mimic original analog consoles. I am not sure what you mean by "Groups", but Main is Main and Aux is Bus in Cakewalk. For controlling purpose, you need "Mixer main" bus to which all controlling tracks are pointing (since you want control it separately from Cakewalk "Main", that will influence the volume from Cakewalk). And additional buses "Aux 1", "Aux 2", etc. Each controlling track will have 4 sends to this auxes. Each such send has all parameters (on/off, volume, pan, pre/post), so I guess that is more then sufficient for controlling mixer routing.

In case by "Groups" you mean something like extra Auxes, that can be done the same way as with Auxes. Just note that initialization should set all parameters, remember throughput and processing speed comment (you can overseen the issue testing just one channel, I recommend testing with complete AZ Controller preset for final number of channels even when testing smaller number of physical channels). Otherwise the solution can be like for 3.

3. See my previous comment about FX Chains. You can define "dummy FX chain" with parameters like "Bypass insert", "Group X", etc. and map corresponding values to the mixer. You can not put extra controls on the channel strip or in the track view (unlike in REAPER...) and you can not use ProChannel for that (too buggy design in control surfaces API), so you will need to open "FX GUI" to set/change these parameters. That is a bit less convenient then "Bypass FX" button, but I think still more usable than related procedure on some real DMs (first select the channel, then special parameter page, then parameter...).

Cheers,
Alexey.

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #9 on: May 15, 2020, 08:15:03 AM »
Hello Alexey

Sorry for the continuing confusion about my routing control needs.  I created a project in Cakewalk and taken a screenshot which I hope will clarify.

You can see in the the screenshot, a configuration with 12 tracks, 4 group buses and 1 master bus.  (Groups and Master are all stereo mixing buses).

Tracks can route to any one of the groups or to the master.  Groups can route to any other group or to the master.  This is typical set up in Cakewalk for mixdown.

It is this type of routing information which I need to read using the AZ Control interface and then use to set the routing identically on my external analogue mixer.

Does this help clarify?

Regards

Robert

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #10 on: May 15, 2020, 11:22:44 AM »
You need to define Sends from tracks to buses.

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #11 on: May 15, 2020, 05:10:00 PM »
Okay thanks Alexey.  Are you saying this is possible to do in AZ Controller?

Best regards

Robert

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #12 on: May 15, 2020, 07:53:06 PM »
You add Sends in Cakewalk (I do not think someone seriously using Cakewalk without sends... how you can send an instrument to let say reverb bus otherwise?). AZ Controller support all parameters for sends (you first select strip then select send, the rest will be the same).

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #13 on: May 15, 2020, 10:32:16 PM »
Thank you!  I will check out the send configuration in the morning.

Best regards

Robert

Offline norfolkmastering

  • Full Member
  • ***
  • Posts: 191
Re: Using AZ Controller for Cakewalk control of external audio mixer
« Reply #14 on: May 16, 2020, 12:06:52 PM »
Hello Alexey

I tried your selection instructions for sends but I could not get it to work.

For my test, I created "Aux 1" send from Track 1 in Cakewalk.  Then I tried to configure a slider from my nektar keyboard to control the Aux 1 send volume from Track 1.

For AZ configuration, I tried:-

1. Added a hardware slider from my nektar keyboard and named it "Rotor 2" in the option Tab

2. Attached and Assigned MIDI for Rotor 2 in the Hardware Tab

In the Logic Tab (having selected "Rotor 2"):-

3. Created an action configured for "Strip", "Track" and "Output"

4. Created an action configured for "Send", "send number 1" and parameter "Volume"

5. Created an action configured for "Value", "Direct", "Linear"

Can you please tell me what I am doing wrong in the test configuration and it should help me a lot.

Best regards

Robert