News:

CWP2Song, public beta.
My  DAW is Reaper
YouTube channel

Main Menu

BCA Remote Control and AZC

Started by Astraios, October 13, 2026, 11:26:33 PM

Previous topic - Next topic

Astraios

:) Hi Alexej,

perhaps you can help me out. I want to trigger the parameters of my Spire synth using your mignificent AZ Controller, but for now I'm stuck in the Logic window. I've got a handle on the 'Options' and the 'Hardware' side of things...
The only 'Action Condition' the VST parameters offer is the "Rack" option. Could you please give me a hint as to what other settings need to be configured so that the OSC-1 knob on my 'BC Remote CTRL' actually sends the command to the synth? I'd really appreciate it.

Best regards from Berlin




azslow3

Hi,

I don't completely understand from which peace of software/hardware you try to control Spire, but since you have "Last MIDI event" with CC12 and some value, I guess you have managed to get your input working with AZ Controller.

In AZ Controller, you need at least 2 Actions to set parameter:
1) the first (or more) specify what you control
2) the second change the value, so specify how you control.

In your screenshot, there is (1), so you select the parameter.
As (2), you always use "Value" action. Default parameters should work fine ("Direct linear"). You can also try "Catch" option.

From the screenshot, I see you have defined "Action Condition". I am not sure you do this intentionally, it only make sense you you want control several different things by the very same Knob.
In any case, I propose you get basic functionality first, without any Software Sets and Conditions. Reset to "Any" for any condition you have set...

BTW the "Quick start" tutorial https://www.azslow.com/index.php/topic,9.0.html defines 2 Actions. It is easy to follow and you get something "working" :)

PS. "ACT Map" condition means you want do something only in case "Spire" synth is in "ACT Dynamic Mapping" focus. Rack/FX Actions are using an alternative route to control parameters, they work independent from the "ACT Map".
But if you really want control Spire only when it is in ACT focus... Keep the condition and add it also to the "Value" Action as well.
I repeat, I am just not sure you do it intentionally at the moment :)

Astraios

#2
Vielen Dank für die Antwort.  ;D Ich möchte das Spire Plugin mit dem 'BC Remote CTRL' Plugin (virtual MIDI Controller) triggern, was mit dem Sonar Remote auch gut funktioniert (funktioniert aber nur mit loopMIDI).
Das BC Remote CTRL wird mit einem Hardware Controller angesteuert und wandelt die MIDI-in Daten (OSC-1  Chn 15/CC 15) in MIDI-out (OSC-1  Chn 9/CC 12) um.
Ich habe schon Stunden mit Deinen AZ CTRL verbracht, aber ich bin leider kein Programmierer/Informatiker und auch nicht so fit in der Birne. Man könnte auch behaupten, ich bin schwer von Begriff...
Gestern habe ich auch das StartUp Tutorial studiert und bin immerhin ein Stück weit erfolgreich gewesen.
Stimmt genau, diese ACT Funktion will ich nicht benutzen, ich habe es auch mit 'Context' probiert und überhaupt alles Mögliche.
Vielleicht ist diese Einstellung (siehe Foto) schon etwas besser?  ::)
Sorry, das ich auf die Nerven gehe... ???



Astraios

#3
Danke - sehr cool  8)

Ich habe es hinbekommen!!!

https://youtu.be/4v8gQnX0ZCM

Astraios

#4
Uuups - next problem,,,

I need to get beyond 500

Is there a way to manage this?

Ah, I see, it's a slider - not a rotery  No. 216

00:54 quite late - but I solved it already by myself!
ACT Type:  Slider = 216
Now it works fine


azslow3

I still recommend do not use any "Action Conditions" at the beginning. Well, once you want control several parameters with the same knob, you will have too.
To get the idea, try to follow "ACT MIDI Explained" tutorial/explanation (you will have to follow more or less all existing tutorial to make complicated presets in AZ Controller).

AZ Controller can work with Hardware devices directly, you don't need "an intermediate" layer. It is in fact more flexible and has access to the information "normal" plug-ins don't have (DAW state, context, focus, etc.).

If "500" limit somewhere is a problem, I can increase it. It is just so, I put some value till someone ask it is too low. And in all these years, extending "500" on that place was not requested  :D 

Programming experience give advantage, but it is not an requirement for making AZ Controller presets. But understanding some "natural logic" is required for more or less complicated presets, not possible to get without:
1) we need to define WHEN we want do something. That can be Sonar state(s) or some artificial states (like "Ctrl"/"Shift", many-states-switches, etc.). "Condition" and "Software State Sets" are used to define the logic.
By default, "ALWAYS" is obviously reasonable default. And the simples to use at the beginning.
2) we need to define WHAT we want to control. To control parameter, we need to select which (Strip/FX/Send/Synth).
3) we need to define HOW we want control. That is (hardware) and desired effect dependent, but it is (almost) always single "Value" Action (till you want something special, like mapping value ranges)

Once you understand that logic, you can find your way in AZ Controller. So, Input Message (with value ) -> what exactly we want to control NOW (or we always control the same thing on this message) -> selecting the parameter -> setting target value (possible using input value).

The rest is "Monitoring" (rather tricky concept in AZ Controlling, primary for feedback on hardware devices) and fancy manipulations (device specific parsing, "scripts" to auto-operate Sonar dialogs, etc.). Which you normally don't need (till you need it... lol).

azslow3

I have installed Spire demo, yes, it has a bit more then 500 parameters... around 600.

Getting it completely controlled from any device is not one minute task. And from the beginning, hardware device has to have Encoders, not knobs. You are going to switch between different "pages" often (f.e. from one Osc. to another), you want physical knobs are "auto synced". That is only possible with encoders (they send "+"/"-", so absolute value has no meaning) or motorized sliders.

You will need quite some buttons / knobs just to select the "page" you want to control. Plus reasonable number of knobs and buttons on one page.

And not to be lost, you need display with current page layout and current values. Near monitor, it can be AZ Controller own "display". Otherwise some device running OSC App can be used.

Defining logical "tree of pages" and implementing all of them, for 600 parameters, is going to take some time.
Note you need at least parametrize (with Software State Set) the shift for the synth. Just imagine you realize you have 2-3 Spire instances in you project... without adding corresponding parameter before "cloning" controls, you will need to modify 600 Actions to add that later.
In practice, working with more states and "functions" can rabidly decrease the number of Actions: it seems like the parameter order is logical. So something like OSC(<osc number>, <parameter number>) reduce the number of Action proportional to the number of oscillators multiplied by the number of parameters in each (when you have another function which define the mapping between <knob number> and <parameter number> within oscillator).
But for such kind of thinking, you need to think as a programmer :)

azslow3

I habe uploaded b432, it supports selection up to 1000 parameters for FX/Synth/Filter.

Astraios

Hi Alexeji,

thx a lot for your messages. I apriciate it very much  :D

My intention and goal with AZ CTRL was to create something similar to the "Global Link" feature in FL Studio. It might actually be possible—I just don't know how to program or configure it to achieve this.

In the FL Studio DAW, the "Global Link" function allows for a permanent mapping (preset) between VST parameters and a specific hardware controller, making it possible to reuse these settings instantly in any project.

For example: I could map the 11 EQ parameters (CCs) of my Spire synth to my MIDI controller and save this as a preset, allowing me to use it in any FL Studio project without having to go through the tedious and time-consuming process of reconfiguring everything.

I haven't managed to do this with AZ CTRL yet, but I believe it is highly likely that it can be done, provided it is programmed correctly.

Currently, I cannot simply carry over my AZ CTRL preset—which includes about 40 VST parameters (rotary knobs and sliders)—into a new project, because the synth instance appearing in the "Logic" window is treated as a "new" one each time, right?

Astraios

#9
Quote from: azslow3 on October 16, 2026, 09:40:55 AMI habe uploaded b432, it supports selection up to 1000 parameters for FX/Synth/Filter.
Quote from: azslow3 on October 15, 2026, 11:59:54 PMI have installed Spire demo, yes, it has a bit more then 500 parameters... around 600.



Defining logical "tree of pages" and implementing all of them, for 600 parameters, is going to take some time.
Note you need at least parametrize (with Software State Set) the shift for the synth. Just imagine you realize you have 2-3 Spire instances in you project... without adding corresponding parameter before "cloning" controls, you will need to modify 600 Actions to add that later.


That is exactly what I'm very interested in, but which parameters within AZ CTRL are required for this?
It's still a bit over my head at the moment. At least I've finally managed to grasp the basic principle;
it works wonderfully.

I assumed that the "context" would trigger the specific instance that is currently highlighted—meaning that if I have multiple Spire synths in a project, the one that is currently *active* would be the one to respond...?

I currently have about 200–250 Spire synth parameters set up in a Sonar "Spire Total Control" project using the outdated and rather impractical "Remote Control" window (a massive undertaking!), but it actually works quite well. Unfortunately, it's tied to a specific project, which makes it less than ideal for practical, everyday use.

The core of my setup is a hybrid MIDI controller (a tablet acting as hardware, paired with Touch Portal software) that displays all control functions across various layers (see photo). This allows me to control the synth—or any other plugin—with great ease and versatility. I can easily oversee 230 CC parameters in a clear, graphical layout. That said, the MIDI capabilities of Touch Portal are currently somewhat limited...

8)


There are also additional Spire Synth matrices for ARP, OSC 1_2, and OSC 3_4
and this is what it looks like on my tablet, which I control using a stylus or my fingers.

Essentially something like this - hough this particular one is the matrix for the Z3TA+.

https://youtu.be/mRT1Nob7aLo
-----------------------------------



Astraios

#10
A few words regarding BCA Remote CTRL. I eventually realized that this virtual VST3 MIDI controller is essentially a more user-friendly version of an older plugin called Piz MIDI Plugins 'MIDI Converter3'(--> Foto PizMIDI VST2)

Like BCA Remote CTRL, it offers additional ways to manipulate or convert MIDI data - for instance, by adjusting the MIDI control (also 14-Bit, NRPN) type or the control response (min/max values in 100% increments). These are all features Sonar does not provide; FL Studio is significantly more advanced in this regard (--> Foto FL Studio MIDI)


azslow3

I have uploaded b433 (the same place), which fix one "bug". Well, I have decided it was a bug, but you will need to modify whatever you have created manually, in "Rack" action change the name to some without "1"/"2" at the end (instance counter).

---

Unfortunately Sonar doesn't expose correlation between focus and plug-ins. And to use "direct parameter control", the position in rack is needed. In other words, it is not possible just say "I want control synth 'Spire' in focus". "Context" and "ACT MAP" are about different things, do NOT use them, you just will be confused.

---

"ACT MAP" sense the focus, but it is always working throw "Dynamic plug-in mapping", so once you click let say some EQ, your synth is out of focus and you can't control it (till you 'lock' the mapping context, but then you need to 'unlock' it to change and you need 'focus' correct thing to start working with it). Most presets you may find on this site are using "Dynamic plug-in mapping". As long as you keep Sonar mapping files not broken, work with different FXes/Synth using the same controller and happy to work just with one plug-in in focus (in fact what most users want...), all that is working fine. But you try to make a "dedicated particular synth" controlling surface, so you better try using "Rack".

I don't know exactly what "Global link" does, but I guess "Dynamic plug-in mapping" target the same, except there is a separate intermediate map and it can control single plug-in in time.
So, not "Synth parameter -> CC", but "Synth parameter -> ACT Control -> CC". The first mapping is within Sonar and it is synth/fx in focus dependent, the second you configure in surface plug-in (AZ Controller).

---
Before bug was fixed, you could configure the first instance of particular synth. But it was working across projects, I have checked with X2 and current Sonar and it was behaving as expected. May be you have some "Context" or "ACT Map", which 'break' your preset.

Now, with bug fix, you can control any instance. The "shift" should be set to some (created by you) Software Set (f.e. 'SpireInstance' with States '1'...'10', names of states are not really important nor used in this case).
But you need to organizes switching between them, so you can say I control "The first Spire" or "The second spire". You do this by changing the State of your Set (you can test in the 'Overview tab', but you need to encoder/button trigger 'SetState' Action to make it work from your surface).

Not perfect, but still better then "Remote control".

---

If you "simulated hardware" can use OSC, AZ Controller support it. You don't need MIDI loops and MIDI converters. And you have access to text values, when exposed by synth (f.e. practical for 'Filter type', where numerical values means nothing at all by itself). For the feedback in general you will have to understand AZ Controller Monitoring, and that is quite advanced topic... I recommend leaving monitoring for later.

Check https://www.azslow.com/index.php/topic,295.0.html to get an idea.

Astraios

 8) Thank you so much for the instructions, though I'm afraid I can't really grasp or implement them. I will try to study it, but I can only process things intuitively and try to replicate them - I lack the technical programming knowledge required.

Alexey, I wanted to ask if you could perhaps set up a Spire CC (how about OSC_1 No. 22?) in AZ CTRL (Logic) so that it works across multiple instances without needing an encoder? What parameters do I need to operate. If so, I would try to replicate that setup. Best of me would be a snapshot of a logic windows state in the correct sequence?

I also own an Arturia BeatStep Pro (a popular step sequencer), which, in CTRL mode, serves as a powerful MIDI controller for remote control and automation. It features 16 endless encoders and 32 switches, all of which are fully programmable—effectively providing 16 × 48 triggers. Once I've gained more experience and a better understanding, I'll try to create a BSP preset for AZ CTRL.


azslow3

Sure I can create some examples, and explain them till you understand.
But lets take Z3TA2 instead of Spire. The reason is simple, it is problematic to work with Spire in the environment convenient for me (most of the time I am under Linux... Sonar X2 runs in Wine, Z3TA2 also, for modern Sonar + Spire I have to do this under VM with Windows... or on another computer with native Windows... so possible, but less convenient). I guess if you manage to understand how OSC can be controlled in Z3TA2 using BeatStep encoders / buttons, you will find your way with Spire and other surface.

I will upload .spp as attachments, but in the Options tab there is export as text (no import from text), so you can see the whole preset in a text form (with all options for all Actions). A bit different from screenshots of each Action, but I am sure you will understand it.

Also note that for matching you will have to put knobs on BeatStep into "Endless encoder mode". I guess required change is in "option" on your screenshot, unfortunately covered. Can be called "relative" / "encoder" / "increment decrement" or something similar. I will use Novation Nocturn with encoders, you will see required CCs in the preset (not configurable on Novation).

I will put a bit more then required from the beginning, so a bit "overcomplicating". But the reason will be clear when you understand how it works. I will implement several parameters for all 6 Oscilators (when done correctly, it is the same as just for one!). The order of parameters in Spire is a bit different, I will comment how to change the logic for it.