View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000804 | OpenMPT | General | public | 2016-05-24 22:25 | 2016-11-07 23:50 |
Reporter | Saga Musix | Assigned To | |||
Priority | low | Severity | feature | Reproducibility | N/A |
Status | new | Resolution | open | ||
Product Version | OpenMPT 1.26.02.00 / libopenmpt 0.2-beta17 (upgrade first) | ||||
Summary | 0000804: OpenMPT as MIDI Clock slave | ||||
Description | OpenMPT can now send out MIDI Clock signals, but it would be a nice bonus if it could also sync to a MIDI clock source, e.g. for a live setup with two synced OpenMPT instances or when using another hardware sequencer as a master. | ||||
Tags | No tags attached. | ||||
Has the bug occurred in previous versions? | |||||
Tested code revision (in case you know it) | |||||
I came here to post this very same feature request. Any progress on this one? I have much more interest now that I own several hardware sequencers and Virtual DJ sends out MIDI clock as well. |
|
No, it's actually very complicated to implement this, if it's possible at all. Since the MIDI clock always has 24 ticks per beat, it's difficult to keep a steady clock if any other tick rate is used in the module. |
|
For what it's worth, I tried implementing this shortly after posting the request but the result was extremely unsteady. |
|
Thanks for trying anyway. Maybe you'll be inspired to work around the difficulties at some point in the future. We can always hope. |
|
Well, the thing is that I do not have any proper hardware sequencers, just synthesizers, so I also can only guess how things would work in real life. Just syncing OpenMPT's tempo to MIDI clock ticks is possible (but the thing I implemented back then was not very stable, might need to interpolate more between previous clock time timestamps), but that alone won't "sync" two devices. For that, OpenMPT needs to know the position in the current beat or song - I think MIDI Machine Control might help there, but I have no idea how widespread that is, or if hardware sequencers use something different. |
|
The manual of my ESX-1 says something about sending Song Position Pointer messages, but that's about as much as I know. |
|
I have written code for several types of song position messages just to test this whole thing. While it works in theory, it requires more though to put into it, for example we somehow need to handle latency: By the time the position message arrives, it's already late, and by the time the new position made it through the audio buffer and can be heard is even later. For time-based synchronization (MIDI time code), we could seek to (received time stamp + latency), in case the time stamp was the exact position of a beat (which is likely), then it would no longer be exact after adding the latency (OpenMPT can only seek to the start of a row, not to entirely arbitrary positions specified in seconds). |
|
Sounds like at least a bit of progress though. |
|
That was the easy part though :) |
|
LOL I have faith in your ability and ingenuity. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2016-05-24 22:25 | Saga Musix | New Issue | |
2016-10-24 02:41 | Diamond | Note Added: 0002706 | |
2016-10-24 11:53 | Saga Musix | Note Added: 0002707 | |
2016-10-24 17:37 | Saga Musix | Note Added: 0002708 | |
2016-10-24 17:50 | Diamond | Note Added: 0002709 | |
2016-10-24 23:17 | Saga Musix | Note Added: 0002710 | |
2016-10-24 23:18 | Saga Musix | Note Edited: 0002710 | |
2016-10-25 20:40 | Diamond | Note Added: 0002711 | |
2016-11-07 23:41 | Saga Musix | Note Added: 0002728 | |
2016-11-07 23:45 | Diamond | Note Added: 0002729 | |
2016-11-07 23:48 | Saga Musix | Note Added: 0002730 | |
2016-11-07 23:50 | Diamond | Note Added: 0002731 |