Set tempo via MIDI

Wow! I've been looking for this for years!

Is this adaptable for AX8? I use both of them interchangeably.
And looking into an FM9 as well as a replacement for the AX8.
If you would add both strings in a message, they would ignore the one not meant for them, wouldn't they?
 
Last edited:
Took me a bit of experimentation, but yes I got it to work for 2 devices (FX3 and FM9) in the same string, different Midi ID's of course.
I used the comment markers to separate and get it to work for me. Prob not necessary, but once I started that way it just seemed better to continue

Example, Tempo 110, first is FX3, second is FM9. Works fine here

F0 00 01 74 10 14 6E 00 6F F7 /* . */
F0 00 01 74 12 14 6E 00 6D F7

You would need to use the AX8 ID instead of the FX3/FM9, and of course the checksum will be different. From the Wiki:
  • 0x00 Axe-Fx Standard
  • 0x01 Axe-Fx Ultra
  • 0x02 MFC-101
  • 0x03 Axe-Fx II
  • 0x04 MFC-101 mk3
  • 0x05 FX8
  • 0x06 Axe-Fx II XL
  • 0x07 Axe-Fx II XL+
  • 0x08 AX8
  • 0x0A FX8 mk2
  • 0x10 Axe-Fx III
  • 0x11 FM3
  • 0X12 FM9 (I added this one, of course)
 
Took me a bit of experimentation, but yes I got it to work for 2 devices (FX3 and FM9) in the same string, different Midi ID's of course.
I used the comment markers to separate and get it to work for me. Prob not necessary, but once I started that way it just seemed better to continue

Example, Tempo 110, first is FX3, second is FM9. Works fine here

F0 00 01 74 10 14 6E 00 6F F7 /* . */
F0 00 01 74 12 14 6E 00 6D F7

You would need to use the AX8 ID instead of the FX3/FM9, and of course the checksum will be different. From the Wiki:
  • 0x00 Axe-Fx Standard
  • 0x01 Axe-Fx Ultra
  • 0x02 MFC-101
  • 0x03 Axe-Fx II
  • 0x04 MFC-101 mk3
  • 0x05 FX8
  • 0x06 Axe-Fx II XL
  • 0x07 Axe-Fx II XL+
  • 0x08 AX8
  • 0x0A FX8 mk2
  • 0x10 Axe-Fx III
  • 0x11 FM3
  • 0X12 FM9 (I added this one, of course)
A bit late... But still, Awesome!!! Huge thanks!
 
So...
I've been searching for a couple of hours and being a total noob in hex and checksum calculations I'm not getting anywhere trying to apply it for the AX8.
I found this:
https://wiki.fractalaudio.com/wiki/...Ex#MIDI_SysEx:_calculating_the_SysEx_Checksum
https://www.fractalaudio.com/downloads/misc/Axe-Fx III MIDI for 3rd Party Devices.pdf
This is the first item if you Google xor calculator: https://xor.pw/#
Still not connecting any dots.
What do you actually put into the calculator? Apparently the 0x in 0x0A just gets omitted and after the calculation you put the cs in between the value and the end bit F7. But how you from the 7 bits to the cs... And that's as far as I got. Someone point me in the right direction?

BTW, I also found this :
https://wiki.fractalaudio.com/wiki/index.php?title=MIDI_SysEx#SET_TAP_TEMPO
This looks like a simpler way or am I mistaken? Still need to fix that line for the respective unit, no?
 
Last edited:
So...
I've been searching for a couple of hours and being a total noob in hex and checksum calculations I'm not getting anywhere trying to apply it for the AX8.
I found this:
https://wiki.fractalaudio.com/wiki/...Ex#MIDI_SysEx:_calculating_the_SysEx_Checksum
https://www.fractalaudio.com/downloads/misc/Axe-Fx III MIDI for 3rd Party Devices.pdf
This is the first item if you Google xor calculator: https://xor.pw/#
Still not connecting any dots.
What do you actually put into the calculator? Apparently the 0x in 0x0A just gets omitted and after the calculation you put the cs in between the value and the end bit F7. But how you from the 7 bits to the cs... And that's as far as I got. Someone point me in the right direction?

BTW, I also found this :
https://wiki.fractalaudio.com/wiki/index.php?title=MIDI_SysEx#SET_TAP_TEMPO
This looks like a simpler way or am I mistaken? Still need to fix that line for the respective unit, no?
The link you posted is for the Axe Fx III, not the AX8. The first thing you're going to need to know is the exact sysex for AX8... Without, there's no point in proceeding.
 
The absolute simplest way to set Tempo via MIDI with Fractal products is to use an external MIDI clock. If you are using another effects unit in your rig, see if it can transmit MIDI clock messages. If you don’t have anything that sends MIDI clock, you can use a MIDI Baby or clock pedal from Disaster Area.

https://www.disasterareadesigns.com/shop/midi-controller
Only using either the AX8 or the FM3, nothing else. Plenty for me.
I'd like to set the tempo with the preset info from my iPad music reader app, I'm using Unrealbook. IPad sends preset and tempo, Fractal is set for the next song.
 
The link you posted is for the Axe Fx III, not the AX8. The first thing you're going to need to know is the exact sysex for AX8... Without, there's no point in proceeding.
Ya. Trying to work that out. But there is no link for the AX8, so... Piecing stuff together. Earlier in this thread there is speak of the model id of the AX8 and a way to calculate the cs. I do not possess the knowledge to complete that equation. Maybe someone can point me in the right direction?
 
Ya. Trying to work that out. But there is no link for the AX8, so... Piecing stuff together. Earlier in this thread there is speak of the model id of the AX8 and a way to calculate the cs. I do not possess the knowledge to complete that equation. Maybe someone can point me in the right direction?
So this post explains the checksum calculation process:
The checksum is an XOR of all the previous bytes.
So for the example:
F0 00 01 74 10 14 78 00

F0 XOR 00 = F0
F0 XOR 01 = F1
F1 XOR 74 = 85
85 XOR 10 = 95
95 XOR 14 = 81
81 XOR 78 = F9

But since the value (and actually all the values other than the initial F0 byte) is just 7 bits you lop off high bit and end up with 79 as the checksum.
This shows the device code for AX8 and also examples for 2 other devices:
Took me a bit of experimentation, but yes I got it to work for 2 devices (FX3 and FM9) in the same string, different Midi ID's of course.
I used the comment markers to separate and get it to work for me. Prob not necessary, but once I started that way it just seemed better to continue

Example, Tempo 110, first is FX3, second is FM9. Works fine here

F0 00 01 74 10 14 6E 00 6F F7 /* . */
F0 00 01 74 12 14 6E 00 6D F7

You would need to use the AX8 ID instead of the FX3/FM9, and of course the checksum will be different. From the Wiki:
  • 0x00 Axe-Fx Standard
  • 0x01 Axe-Fx Ultra
  • 0x02 MFC-101
  • 0x03 Axe-Fx II
  • 0x04 MFC-101 mk3
  • 0x05 FX8
  • 0x06 Axe-Fx II XL
  • 0x07 Axe-Fx II XL+
  • 0x08 AX8
  • 0x0A FX8 mk2
  • 0x10 Axe-Fx III
  • 0x11 FM3
  • 0X12 FM9 (I added this one, of course)
From the 3rd party midi spec:

SET/GET TEMPO (COMMAND 14H)
Sets/gets the Tempo.
Message format:
F0 00 01 74 10 14 dd dd cs F7;
where dd dd is the desired tempo as two 7-bit MIDI bytes, LS first. To query the tempo let dd dd = 7F 7F.

Based on the above and this online XOR calculator, I came up with this result:

https://toolslick.com/math/bitwise/xor-calculator

F0 00 01 74 08 14 6E 00 F7 F7

08 is the AX8 device code and F7 is the checksum.

Does that work for you?
 
Well, I took a shortcut and copied Kamil's web page, added the AX8 as an option and it looks like it should work. I'll test later. I'm sure Kamil won't mind.
Awesome that he provided that, BTW.
 
Last edited:
Ok I've updated the page to have all the other devices listed in this thread. It will also remember the last device and tempo that you entered so you're not starting from scratch each time.
 
Is there a step by step tutorial from scratch available somewhere to do this with the Ax8 and the AxeIII?

I’d like to get my iPad Multitrack app to send this also along with patch preset changes.
 
The absolute simplest way to set Tempo via MIDI with Fractal products is to use an external MIDI clock. If you are using another effects unit in your rig, see if it can transmit MIDI clock messages. If you don’t have anything that sends MIDI clock, you can use a MIDI Baby or clock pedal from Disaster Area.

https://www.disasterareadesigns.com/shop/midi-controller
If you're already running a sequencer/DAW to send SysEx, the real simple way that uses minimum CPU vs MIDI Clock is to assign a MIDI CC to Tap Tempo, set to average, and finally send a bar of 1/4 or 1/8 notes etc depending on common time signatures, which works great (my FM3 get the tempo close enough for the arrpegiator and time-based FX no problem doing it this way, including tempo/time signiture changes within songs etc, typically < 0.02 of a BPM +-).

If you're not running a sequencer/DAW this SysEx method is very cool.
 
Last edited:
Ok I've updated the page to have all the other devices listed in this thread. It will also remember the last device and tempo that you entered so you're not starting from scratch each time.
Kamil, You're a prince among men!
It's working for the FM3. Do I need something to separate the lines for the FM3 and the AX8? The start and end bits should take care of that, shouldn't they?
 
and so on... works like a charm. I send Tempo with every song selection. Now, if I can just Midi this into my drummers head...
Actually, I don't mind if the timing of the delays is a bit off every now and then. The main reason I'm doing this is because our drummer looks at the LED on my units to count off songs. He knows I'm usually on time. If I can send the tempo from the iPad I use to switch presets, I can make do with a lot less presets.
 
Back
Top Bottom