[R] Midronome sends incorrect clock after stopping DAW (24P mode)
[R] Midronome sends incorrect clock after stopping DAW (24P mode)
STATUS: bug was introduced in Firmware 3.0, on the 24P mode. Will be investigated and solved in a future version.
----
Hi Simon,
I use the new 24P mode in 2.90 beta using Ableton Live 12 with the Midronome plugin.
Whenever I now stop Ableton Live 12, the Midronome does also stop as expected. However, it seems to still send a few pulses to my other gear before it sends a stop message, as my other gear then show a BPM of about 29.
This can be annoying whenever I want to start the outboard gear on their own without starting the DAW.
When I Start/Stop the Midronome on its own (without starting the DAW), it works as expected: the other gear will just stop and won't change the tempo.
----
Hi Simon,
I use the new 24P mode in 2.90 beta using Ableton Live 12 with the Midronome plugin.
Whenever I now stop Ableton Live 12, the Midronome does also stop as expected. However, it seems to still send a few pulses to my other gear before it sends a stop message, as my other gear then show a BPM of about 29.
This can be annoying whenever I want to start the outboard gear on their own without starting the DAW.
When I Start/Stop the Midronome on its own (without starting the DAW), it works as expected: the other gear will just stop and won't change the tempo.
Re: Midronome sends incorrect clock after stopping DAW (24P mode)
Hi Maarten,
Thanks for reporting. A few questions:
Simon
Thanks for reporting. A few questions:
- Is this new with FW 2.90, i.e. this is not the case with FW 2.0?
- How is your other gear connected to the Midronome, via MIDI?
Simon
Re: Midronome sends incorrect clock after stopping DAW (24P mode)
I think so, but not 100% sure. I compared the 24P mode in 2.90 vs the 2.4.P. mode in 2.0. Maybe the original 24P mode in 2.0 had the same issue already?
I will do some more testing. Is it possible to downgrade to 2.0 without any troubles?
Re: Midronome sends incorrect clock after stopping DAW (24P mode)
Thank you Maarten, that would be great!
Yes you can freely upgrade and downgrade, no problem there
Yes you can freely upgrade and downgrade, no problem there
Re: Midronome sends incorrect clock after stopping DAW (24P mode)
Hi Simon,
I did some more testing.
First of all, I connected my Midronome directly to my Hapax midi input with a DIN cable.
Then I started playback in my DAW at 130 BPM, using the "old" Midronome plugin to send pulses.
Midronome starts, Hapax starts as well and everything works fine, running at 130 BPM.
Then I stop playback in my DAW, Midronome correctly shows STOP on the display and stops sending clock. Hapax also stops playing, but the tempo drops to about 30 BPM.
Then I disconnected my Hapax and connected my Iridium directly to Midronome instead. Same issue, but the tempo doesn't drop as low as Hapax: it drops to 113 BPM.
It seems that Midronome sends 1 or a few pulse(s) after the STOP message or something, which causes the BPM calculation of the external device to drop.
Then I downgraded Midronome to 2.0 and tested both 24P and 2.4.P. mode and both were doing perfectly: when pressing stop in my DAW, everything stops correctly and the tempo stays at 130 BPM.
So it is an issue introduced since 2.9.0 beta and also present in 3.0.0 (tested both versions - both exactly the same issue).
It is a bit cumbersome, for multiple reasons:
- When I want to save a project or patch etc., often the BPM is also saved within the project/patch. So I have to manually change the tempo back to the BPM I want when saving, or (if possible) I need to save during playback.
- I often switch back and forth between having the DAW as midi clock master to using my hardware as master clock. Obviously this is painful if you need to manually adjust the BPM every time you switch back to your hardware.
- It can cause unwanted audio artefacts, like a time synced delay feedback tripping because of the sudden tempo drop.
- And I'm sure there are more reasons which I can't come up with.
However, it is not a major issue. It would be nice if it will be fixed in the future though.
I did some more testing.
First of all, I connected my Midronome directly to my Hapax midi input with a DIN cable.
Then I started playback in my DAW at 130 BPM, using the "old" Midronome plugin to send pulses.
Midronome starts, Hapax starts as well and everything works fine, running at 130 BPM.
Then I stop playback in my DAW, Midronome correctly shows STOP on the display and stops sending clock. Hapax also stops playing, but the tempo drops to about 30 BPM.
Then I disconnected my Hapax and connected my Iridium directly to Midronome instead. Same issue, but the tempo doesn't drop as low as Hapax: it drops to 113 BPM.
It seems that Midronome sends 1 or a few pulse(s) after the STOP message or something, which causes the BPM calculation of the external device to drop.
Then I downgraded Midronome to 2.0 and tested both 24P and 2.4.P. mode and both were doing perfectly: when pressing stop in my DAW, everything stops correctly and the tempo stays at 130 BPM.
So it is an issue introduced since 2.9.0 beta and also present in 3.0.0 (tested both versions - both exactly the same issue).
It is a bit cumbersome, for multiple reasons:
- When I want to save a project or patch etc., often the BPM is also saved within the project/patch. So I have to manually change the tempo back to the BPM I want when saving, or (if possible) I need to save during playback.
- I often switch back and forth between having the DAW as midi clock master to using my hardware as master clock. Obviously this is painful if you need to manually adjust the BPM every time you switch back to your hardware.
- It can cause unwanted audio artefacts, like a time synced delay feedback tripping because of the sudden tempo drop.
- And I'm sure there are more reasons which I can't come up with.
However, it is not a major issue. It would be nice if it will be fixed in the future though.
Re: Midronome sends incorrect clock after stopping DAW (24P mode)
Awesome Maarten, thank you, much appreciated. Yes this sounds like a bug introduced in the 3.0 firmware, I'll investigate and get back to you here.
PS: topic moved to bugs category where it belongs
PS: topic moved to bugs category where it belongs
Re: [A] Midronome sends incorrect clock after stopping DAW (24P mode)
Hi Maarten
So I've investigated this. The good news is I know exactly what is happening. The bad news is I am not sure if there is much I can do about it.
TLDR: you should be able to solve this by making sure your devices always set their tempo to the incoming clock, whether they have received a MIDI Start or not. The MIDI Clock is always sent by the Midronome at the tempo shown on its display, whether the "PLAY" button is lit or not. So even though they might drop to 30bpm for a very short time (see explanation below), they should go back to 130bpm right after (about 20ms later).
Technical explanation:
The problem starts with the way the 24P mode "stops": the device only receives "pulses" from the plugin, and because there is no way to know if the tempo suddenly jumped to 30bpm or if the pulses stopped, the device will wait till the tempo drops down lower than 30bpm before considering the plugin has "stopped".
On the MIDI Clock output side, this means the clocks will stop inevitably for a "30bpm MIDI clock" time (about 83ms). So, after those 83ms, the device decides "ok, this tempo is now so low that this means the DAW/plugin stopped", and sends stop and switches back to master mode at the last tempo received (in your case 130bpm).
This technically should not be a problem with any synth: as I wrote above, they will see their tempo drop to 30bpm (or lower) for a fraction of a second, and then go straight back to 130bpm which is the MIDI Clock sent right after the MIDI Stop command.
Now why is it working in FW 2.0?
As I've mentioned in the changelog, a lot of things have been improved with the sync in FW 3.0, and funny enough the reason you do not see the issue with FW 2.0 is because the delay is worse - i.e. it would bring the tempo so low (about 23bpm) that your Hapax ignores it. FW 3.0 does its best, so as soon as the tempo reaches 29.55bpm, it sends a clock already, which your devices read as 30bpm.
See attached a recording of the Plugin pulses (bottom) as well as the Midronome's MIDI output (top).
The large black blob are all the "MIDI notes off" messages sent for every channel).
Notice how in both cases there is a "hole" of MIDI clocks when the DAW plugin pulses stops. In FW 2.0 the hole is bigger, the first MIDI Clock is sent only after the MIDI notes off messages, while with FW 3.0 it is sent as soon as the stop is detected (bringing the tempo to 29.55bpm).
FW3.0: FW2.0:
So I've investigated this. The good news is I know exactly what is happening. The bad news is I am not sure if there is much I can do about it.
TLDR: you should be able to solve this by making sure your devices always set their tempo to the incoming clock, whether they have received a MIDI Start or not. The MIDI Clock is always sent by the Midronome at the tempo shown on its display, whether the "PLAY" button is lit or not. So even though they might drop to 30bpm for a very short time (see explanation below), they should go back to 130bpm right after (about 20ms later).
Technical explanation:
The problem starts with the way the 24P mode "stops": the device only receives "pulses" from the plugin, and because there is no way to know if the tempo suddenly jumped to 30bpm or if the pulses stopped, the device will wait till the tempo drops down lower than 30bpm before considering the plugin has "stopped".
On the MIDI Clock output side, this means the clocks will stop inevitably for a "30bpm MIDI clock" time (about 83ms). So, after those 83ms, the device decides "ok, this tempo is now so low that this means the DAW/plugin stopped", and sends stop and switches back to master mode at the last tempo received (in your case 130bpm).
This technically should not be a problem with any synth: as I wrote above, they will see their tempo drop to 30bpm (or lower) for a fraction of a second, and then go straight back to 130bpm which is the MIDI Clock sent right after the MIDI Stop command.
Now why is it working in FW 2.0?
As I've mentioned in the changelog, a lot of things have been improved with the sync in FW 3.0, and funny enough the reason you do not see the issue with FW 2.0 is because the delay is worse - i.e. it would bring the tempo so low (about 23bpm) that your Hapax ignores it. FW 3.0 does its best, so as soon as the tempo reaches 29.55bpm, it sends a clock already, which your devices read as 30bpm.
See attached a recording of the Plugin pulses (bottom) as well as the Midronome's MIDI output (top).
The large black blob are all the "MIDI notes off" messages sent for every channel).
Notice how in both cases there is a "hole" of MIDI clocks when the DAW plugin pulses stops. In FW 2.0 the hole is bigger, the first MIDI Clock is sent only after the MIDI notes off messages, while with FW 3.0 it is sent as soon as the stop is detected (bringing the tempo to 29.55bpm).
FW3.0: FW2.0:
Re: Midronome sends incorrect clock after stopping DAW (24P mode)
Hi Simon, sorry for the late response.
Anyway, I get why it works like this now. However, it would be nice if an option would exist that allows Midronome to take over the "lead" and keeps sending midi clock, after the external pulses stop. Ideally, it should then send the original BPM and "catch up" the few ms it needed to conclude the external clock is stopped (lower than 30 bpm).
I hope you get what I mean.
Re: Midronome sends incorrect clock after stopping DAW (24P mode)
You mean so that the timing is continuous? That's a whole different deal, and U-SYNC already does that extremely well.
As for sending the tempo when the pulses stop, it does that already as you can see in the pictures above. Why your machines are ignoring it I am not sure - have you tried a few different settings on them?
Re: [R] Midronome sends incorrect clock after stopping DAW (24P mode)
I guess I have to do some more testing. I suspect that my gear is set to Auto and when it receives a Stop message, it reverts to its internal clock, so it stops calculating the incoming midi pulses.
Re: [R] Midronome sends incorrect clock after stopping DAW (24P mode)
Yes if that's the case it sounds like exactly what's happening - problem is it has time to get the "wrong" tempo just before it starts ignoring the clocks