Axe FX III

3 posts / 0 new
Last post
gabbernutter
gabbernutter's picture
Axe FX III

Hi all, 

I am looking for some info on setting my bcr2000 up with my axe fx 3. I have hunted through the fractal forums I haven't found what I am looking for, which is that I would like to change the parameters from the BCR much like turning the knobs on a guitar pedal using the bcr and axefx only.

 

The info on the fractal forums tell me that the III has changed its sysex structure and only basic commamnds are now supported and the rest is proprietery. It used to use the "0x02 - Get/Set parameter" command but now it seems to have a couple of different commands. 

17:23:16.688    To Axe-Fx III    SysEx        F0 00 01 74 10 01 52 00 46 00 02 00 74 7C 4D 76 03 00 00 00 00 32 F7
17:23:16.741    To Axe-Fx III    SysEx        F0 00 01 74 10 01 52 00 46 00 02 00 67 35 6A 76 03 00 00 00 00 4F F7
17:23:16.774    To Axe-Fx III    SysEx        F0 00 01 74 10 01 52 00 46 00 02 00 49 27 23 77 03 00 00 00 00 3B F7
17:23:16.807    To Axe-Fx III    SysEx        F0 00 01 74 10 01 52 00 46 00 02 00 11 0B 35 77 03 00 00 00 00 59 F7   (dragging the mouse on axe edit) (3808 ms)

or

18:45:41.926    To Axe-Fx III    SysEx        F0 00 01 74 10 01 09 00 46 00 02 00 00 00 00 08 04 00 00 00 00 55 F7    (typed into axe-edit, 8000 ms)

18:43:21.262    To Axe-Fx III    SysEx        F0 00 01 74 10 01 09 00 46 00 02 00 00 00 00 04 04 00 00 00 00 59 F7    (typed, 4000 ms)
 

F0 00 01 74 10 is the header, 0x10 being the id for the Axe III. (Maybe the new header file is F0 00 01 74 10 01..?)

The command is either 0x01 0x52 ( done by dragging a mouse on axe edit)

or 0x01  0x09 (typed into axe-edit).

0x00 0x46 is the delay block 1 and 0x00 0x02 is the "time" (in milliseconds) parameter. 

 

Also the resolution of parameter knobs are higher from the Axe II i.e 0 - 65534, so in changing the Axe FX II file that comes with BC manager, how could I rewrite that file to accomodate the updated sysex on the Axe III? For example the parameter data min and max value?

I also gather that the address length must be changed to accomodate the larger resolution?

 

Can any one help with writing a new sysex model definition file? I can provide more examples "sniffed" between the axe fx and axe-edit if required. 

And sorry if this above confusing, I have went from programming my alpha juno to this and it is a massive jump and I seem to be out of my depth now!

https://wiki.fractalaudio.com/axefx2/index.php?title=MIDI_SysEx#MIDI_SysEx:_calculating_the_SysEx_Checksum (more info here but also somewhat outdated as explained above)

Paul 

 

 

 

 

 

 

Mark van den Berg
Mark van den Berg's picture

Hi Paul,

Have you seen the subsection on the Axe-FX II XL in section 19 of the BC Manager manual?
This might help you figure out how to modify the ini file.

You might also find some useful info in the forum topic that led to the inclusion of the Axe-FX II ini file in the BC Manager package:
https://mountainutilities.eu/forums/sysex-ini-file-error-invalid-text

Looking at your SysEx dumps I don't immediately understand it fully:

It seems obvious that ModelID has to be set to 10.
If your analysis is correct, Command should be 01 52 or 01 09.
And I think the 00 46 00 02 of your example (delay block 1 + time) should constitute the ParameterAddress of an item in the parameter section.

Assuming that the byte before F7 is the checksum, I'm left with a sequence of 10 bytes in each of your examples that must contain the parameter value, but that I don't understand:

The 01 52 examples:
00 74 7C 4D 76 03 00 00 00 00
00 67 35 6A 76 03 00 00 00 00
00 49 27 23 77 03 00 00 00 00
00 11 0B 35 77 03 00 00 00 00 => 3808?

The 01 09 examples:
00 00 00 00 08 04 00 00 00 00 => 8000?
00 00 00 00 04 04 00 00 00 00 => 4000?

Do the five last bytes (with seemingly fixed values) constitute what BC Manager calls "AfterData"? (So e.g. the 01 52 case would require AfterData=03 00 00 00 00.)
If so, then the first five bytes are probably the parameter value.
By comparison, a parameter value on the FX II consists of three bytes.
So for instance the FX II's demo ini file defines a parameter where the first of these three bytes is defined as "00", the second as "val0.6" (i.e. bits 0-6 of the parameter value) and the third as "val7.13" (bits 7-13).
However, given your examples, I can't figure out how this works on the FX III yet.

Concerning parameter ranges: as discussed in the aforementioned forum topic, the FX II also has 16-bit parameter values (0-65535), so in this regard the FX III is the same. But of course the representation of these values in the SysEx messages may be different.
Since the BCR2000's internal parameter range is only 14-bit (0-16383), both the FX II and FX III require working around this limitation. If and how this can be done, depends on the individual parameters.

Hope this helps,
   Mark.

gabbernutter
gabbernutter's picture

Hi Mark,

thanks a lot for the swift reply, I haven't had a chance to try out what you advised yet. Other projects have been moved up in the queue, I will this week though! 

Look forward to sharing my findings.

Paul