AZSlow

AZ Controller plug-in for Cakewalk SONAR => Discussions => Topic started by: norfolkmastering on May 12, 2020, 10:19:17 AM

Title: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on May 12, 2020, 10:19:17 AM
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
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 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.
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering 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
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering 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
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 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.
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering 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
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 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.
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering 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
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 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.
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering 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
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 on May 15, 2020, 11:22:44 AM
You need to define Sends from tracks to buses.
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering 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
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 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).
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on May 15, 2020, 10:32:16 PM
Thank you!  I will check out the send configuration in the morning.

Best regards

Robert
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering 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
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 on May 16, 2020, 05:17:01 PM
Try Send number 0... Its "programmers" world  ;)
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on May 16, 2020, 05:47:56 PM
Hello Alexey

I tried send number 0 but still not working.

I have attached three screen shots showing the three actions programmed for Rotor 2.  Could you have a look please.

(and just to assure you that Rotor 1 - which I programmed before to control the Track 1 fader is working, so the MIDI between my nektar keyboard and AZ/Cakewalk is working okay)

Regards

Robert
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 on May 16, 2020, 09:59:17 PM
Hello Robert,

Do NOT use Cakewalk AUXes for your purpose,  use Buses (name them AUXes if your want).

Cakewalk has "hacked" AUXes into original engine as the way to record soft synthes and FXes live. When someone really "play" soft instrument live, the sound can be significant different from re-play of recorded MIDI. That is the only reason to use them.

From the beginning, this "hack" was quite buggy. On of the bugs you have just hit yourself: sends to them can not be controlled by surfaces  :)
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on May 17, 2020, 11:04:19 AM
Hello Alexey

Thanks for the advice.  I was able control bus sends from tracks, so that is a big step forward.

Can I check one more point with you for now please:-

Could you explain how to achieve a latching function for buttons please.  One example:-

I can programme a button on my nektar keyboard to operate a track SOLO function, but when I release the button then the SOLO is also released.  So it provides a non-latching action which is not what is required.

Can you please tell me how to achieve a latching action for the button?  So I PRESS and RELEASE the button, and the SOLO function changes state.  I mean:-

If the SOLO was "OFF" then it switches to "ON".

If the SOLO was "ON" then it switches to "OFF".

I have many requirements for this type of latching button, so your advice would be appreciated.

And I have to say that the AZ Controller is amazing!  Yes it will take me some time to learn but the very deep level of control and feedback is incredible.

Very best wishes

Robert
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 on May 17, 2020, 08:02:33 PM
Hello Robert,

What you call "button latching" is reaction on button press only. Some surfaces just send "button", but more "smart" devices send "button is pressed" and "button is released".
If the code does not take that into account, it does not distinguish between "pressed" and "released" and so toggle f.e. Solo when pressed and when released.

Press and release send different value (you can see that in the "Last MIDI event"). Normally press is value 127 and release is value 0.

AZ Controller tries to help you with processing that. In case you look precisely, there is "Note:On" condition on every action by default. So no action is executed when "Note:Off" (Note Off MIDI event or Note On with Value 0 MIDI event). But in case a button send not Note MIDI event but something else, what to do is not obvious. F.e. when you turn a knob which sends CC you want Value 0 is processed as any other value.

The solution in AZ Controller is explicitly declare a hardware control as a "Button". In the Options tab select button control as set its type from "Unknown" to "Button", do not forget to press "Save" near that combo box. In this case CC with value 0 will be interpreted as "Note:Off" and so there will be no reaction on release (till you change Note conditions for particular actions, useful f.e. to implement modifier keys like Shift).
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on May 18, 2020, 11:32:53 AM
Hello Alexey

Thanks for the advice.  Changing the button type to "pad" (which I think was your reference to "button") provided the require action.

For information, I am experimenting with a Microchip PIC demo board to map out the structure of how the MIDI commands sent as feedback actions from AZ Controller will control the hardware control elements of the analogue mixer.  These are mostly VCAs (level) and FETs (switching).

I am building a small two channel analogue audio mixer to check out the basic hardware control elements.  After that, I will look to design the full size mixer.  Current plan is:-

24 channels (tracks)
8 + 2 + 1 stereo group buses (8 groups, 2 "auxes", 1 master).

The mixer will receive its audio for mixdown from a 24 track analogue tape machine also under remote control and sync from Cakewalk.

I will study the use of OSC for the communications between AZ and my hardware controller.  It looks like a good solution.

I will be in touch again once I have decided on the protocols.

Again, thank you for your good advice to date.

Regards

Robert

Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on May 26, 2020, 10:34:29 AM
Hello Alexey

As I will be controlling a digitally controlled analogue mixer from Cakewalk via AZ controller, using Feedback actions, the monitor refresh frequency is important for me.

When I set the Cakewalk controller refresh frequency to 50ms and the Parameter Value Monitor to Ultra (let us use the example of track volume monitoring) then I get a maximum of 20 track fader values per second (corresponding to the 50ms refresh setting).  This is as expected.

Here is my question please:-

It is possible to set the Cakewalk controller refresh frequency below 50ms by editing the Calkwalk.ini file.  I tried setting to 25ms in Cakewalk.ini and the value appears to be accepted; i.e. 25ms is displayed in the preferences/MIDI/controller surfaces display.

However it does not increase the frequency of monitor messages output on to my MIDI stream.

Can you tell me if this is due to a configuration setting in AZ Controller? So I mean is the 'ultra' setting limited to 50ms?  Or do you think that Cakewalk is ignoring any setting below 50ms?

For my unusual application, I want to try to increase the controller refresh frequency if it is possible.

Regards

Robert
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 on May 26, 2020, 10:36:33 PM
From what I know, that comes from Cakewalk.

Note that values can not update faster then the buffer length... Which settings you use in Cakewalk for the audio device?

Also I think that 50-100ms is faster then you may need for any purpose. Everything you want to be "smooth" (motor fader movements,  volume automations, etc.) should be implemented inside your device by inter/extrapolation.

Note that some digital mixers I know (RME, Behringer) do not do this. If you ramp up volume you can easily notice that happens in "steps". And real reaction of the device on parameter changes seems like much slower then 100ms. For some purpose not nice, but that is by design. You can try to make it better, but that is a challenge. It is easy to have "usec" frequencies inside a chip, but it is not easy to keep that on a wire (Shannon and other slow us down...). F.e. you will need to communicate through USBv2 (or later) and forget about WiFi in case you need something with stable reaction under 50ms.
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on May 27, 2020, 10:51:26 AM
Hello Alexey

I was running Cakewalk on a buffer length of 23.2msec.
So I tried reducing the buffer length to 5.8msec and setting the controller refresh frequency to 25msec in Cakewalk.ini
Again the Cakewalk preferences display seems to accept the 25msec value but it makes no difference to the actual refresh rate.
I will check with Cakewalk (Bandlab) if this is a restriction they place on the system.

The control voltage (linear voltage derived from DAC converter) applied to analogue gain control elements (VCAs) will have a time constant of around 7ms to help smooth the step transitions but it would be valuable to get as much control resolution from Cakewalk as possible.  Part of that resolution comes from the refresh frequency.

I understand your point about using inter/extrapolation to smooth control inputs.  It should be possible to do this within my microcomputer but of course it introduces some delay as I have to buffer MIDI values in order to make the calculations.  If it was feedback to motor faders then that would not be an issue, but in my application it delays the control signal to the audio mixer which is not desirable.

Once I have built the small demo analogue mixer, I will experiment to see what is practical.

Again, thank you for your advice on this project.

Best wishes

Robert
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on June 26, 2020, 10:14:03 AM
Hello Alexey

I have been in communication with the development team at Bandlab concerning my digitally controlled analogue mixer design.

They have agreed to change the minimum refresh frequency from 50ms to 10ms in the next Cakewalk software update.

They also suggested I check out a few points with you regarding the AZ Controller:-

Assuming I use the 'Ultra' priority for a Parameter Value Monitor, will AZ Controller be able to perform its operations with the 10ms window?

Two situations I want to consider:-

1. Let us assume that the number of Monitor action messages within the 10ms refresh window is low, so that there is sufficient MIDI transmission time to output all the MIDI messages within a 10ms window (let's assume 1ms per 3-byte message).  Will AZ Controller be able to process within this 10ms window?  So I mean, what additional latency is likely to be introduced by AZ Controller?

2. If the total number of Monitor action messages within the 10ms refresh window exceeds the number of MIDI messages which could be outputted within a 10ms window, does AZ Controller have any processing functionally to deal with this?  e.g. a FIFO buffer?  So that the MIDI messages could be output when there is capacity on the MIDI output.

If AZ Controller does not have any coping mechanism for message volumes which exceed the available MIDI transmission time (per 10ms window), what happens to the MIDI messages which cannot be output within the 10ms window?

Of course there is the possibility to have multiple instances of AZ Controller and more MIDI links between Cakewalk and my PIC Controller but first I want to understand better how AZ Controller handles the Monitor action messages as above.

Once I receive messages at the PIC Microcontroller, there should be no problem processing within the 10ms refresh window.  I am writing the programme in C and onward transmission to the digitally controlled analogue circuitry will be a combination of I2C and SPI.  Data rates of at least 400kbps will be a available for both of these serial protocols.

Thanks for your continued support with my project.

Regards

Robert
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 on June 26, 2020, 03:25:53 PM
Hello Robert,

What will happened is really up to Cakewalk (and your preset). I have developed AZ Controller under Linux/Wine, on Centrino based notebook. And my major desktop was CuoDuo/Celeron. Both could barely run 2 synth without freezing. And so I have tried to hit CPU as little as possible (down to the level of lookup tables and precalculated maps, to avoid any "hash" calculations and reduce floating point math...). But that is on my side only, I have to call Cakewalk to get the information. Still, I do not remember any significant performance penalty even with most demanding presets (when I was hitting some slowness I was implementing workarounds). So I think modern computer can handle all that with 10ms cycles.

MIDI is sent to Cakewalk, so how that works is now known for me. From what I know, they handle it correctly. I mean probably they throttle when required, but I am not sure. There was at least one device which had problems handle everything sent, but I have just reduced the speed of corresponding monitoring without digging too deep.

In case you do not have your MIDI implementation yet, just test with any MIDI hardware loop. I mean draw sufficient number of envelopes and check what comes out (record output MIDI stream).

Alexey.
PS. One example what is not working without manual throughput control is Novation Nocturn + Linux + REAPER MIDI output API (for surfaces). The device itself is rather slow (10ms rate, 8bytes packets). 16 short MIDI messages sent in burst (with REAPER API) and the whole device is randomly illuminated. Sending just two messages every 10ms works reliable.
Not sure who is responsible: dummy Linux MIDI driver for the device or REAPER. I mean there can be some troubles along your way as well. 
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on June 26, 2020, 05:54:51 PM
Hello Alexey,

Thank you for the information and advice.

Once the next Cakewalk version is released, I will set the refresh time to 10ms and try the loop test as you suggest.

I will test:-

1. Response time from Cakewalk event, e.g. automated fade, to MIDI data output.

2. What happens when the number of monitor action messages (within a 10ms window) exceeds the MIDI capacity (so about 10 x 3 byte messages).

I will report back when I have findings.

Best regards

Robert
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on July 25, 2020, 01:00:08 PM
Hello Alexey

I have just downloaded an advance version of the next Cakewalk release which now supports 25ms refresh time via the Preferences\MIDI\Control Surfaces setup and 10ms by updating the Cakewalk.ini file

I have confirmation from the Bandlab team that 10ms is now supported.

I can get the 25ms setting to work but not the 10ms setting.

Let me explain how I did the refresh time test:-

I draw a single track fader volume automation which goes from -INF to +6dB within a 500ms time window.

I then use the AZ controller app to output the fader volume as CC control messages and monitor these via MIDI-OX.

When I set the refresh time to 25ms, then I get 21 CC values within the 500ms window, which is what I would expect.

When I set the refresh time to 10ms (by changing the Cakewalk.ini) then I still get only 21 CC values within the 500ms window, when I should be seeing 51 CC values (500ms divided by 10ms plus one).

I have asked the Bandlab team to double check, but could I please ask you to confirm that AZ Controller (with a Parameter Value Monitor set to 'Ultra') does not have a minimum response time programmed in to the software?

Kind regards

Robert

Hello Alexey,

Thank you for the information and advice.

Once the next Cakewalk version is released, I will set the refresh time to 10ms and try the loop test as you suggest.

I will test:-

1. Response time from Cakewalk event, e.g. automated fade, to MIDI data output.

2. What happens when the number of monitor action messages (within a 10ms window) exceeds the MIDI capacity (so about 10 x 3 byte messages).

I will report back when I have findings.

Best regards

Robert
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: azslow3 on July 25, 2020, 08:17:41 PM
I do not limit anything.

But please check your buffer length in smaller then 10ms. You have mentioned one test with 5.8ms, but in case you have reverted settings to 20+ms that can explain the behavior.

Cheers,
Alexey.
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on July 26, 2020, 11:14:24 AM
Hello Alexey

I tried reducing the buffer length down to 2.9ms but I still get a measured refresh time of 25ms when the .ini is set to 10ms.

Thanks for confirming that AZ Controller is is not limiting the refresh time.

I will report back to the Bandlab team.

Regards

Robert

I do not limit anything.

But please check your buffer length in smaller then 10ms. You have mentioned one test with 5.8ms, but in case you have reverted settings to 20+ms that can explain the behavior.

Cheers,
Alexey.
Title: Re: Using AZ Controller for Cakewalk control of external audio mixer
Post by: norfolkmastering on August 01, 2020, 11:32:08 AM
Hello Alexey

I am currently mapping out the MIDI control protocol which I will use to allow Cakewalk (via AZ Controller) to control my analogue mixer.

I need to be able to monitor the audio source which is selected to each track in Cakewalk.  I will use this data to control a source select matrix in my analogue mixer.

As a test, I set up a rotary control from my nektar MIDI keyboard/controller to select the audio source for Track 1 in Cakewalk.

Under the Logic tab, I have created three actions for this rotary control:-

- Track Input
Action Configuration 'Strip'
Track
Select Input

- Direct Linear, timeout touch
Action Configuration 'Value'
Direct Linear

- Parameter Value Monitor
Action Configuration 'Monitor'
Monitor parameter value

I can select the track input by moving the rotary control.

Next, I set up an Action for this control under the Feedback tab:-

- Ch7 CC:7 Use Value

But when I monitor this Feedback output using MIDI-OX, I get a constant CC value of 00 irrespective of the track source which has been selected.

Could you tell me if I have made an error in this configuration please?

Kind regards

Robert