> getting a general purpose computer to output MIDI Clock (and/or MIDI > Time Code, just so nobody confuses the two of them) is a very hard > problem. There are 24 MIDI Clock messages per quarter note. This means > that for a piece in 4/4 at 120bpm, you need to output 1 MIDI byte > every 20ms. Not so bad - its a nice even multiplier of the system > interrupt frequency. However, just change the tempo or the time > signature, and all of a sudden you have situations where the MIDI > Clock byte needs to be output every 18ms or every 32ms or ever 9.7ms > or every 56.5ms.
Yes, our music involves many (subtle) tempo changes, accelerando's etc. Accuracy would be very important. > until the high resolution clock timers patch is solid enough to be > used by any system, there is no way to schedule MIDI output with this > kind of resolution, and if you can't schedule it, then the receiver of > your MIDI clock signal will see a lot of jitter and may refuse to lock > to it. Even if it locks, its not clear what it will do with the jitter. So it will not work then. That is a pity! >>signal in a audio file, for example with ecasound. I know, this is >>ugly! For playback i would have the program monitor the jack input port and >>output a midi clock message when a sample value of 1 passes by. > > JACK does block structured audio. This won't work. If the "1" is in > the model of a JACK process cycle, when does it actually get delivered > to the MIDI output port? In my naieve view this would simply be done in the process cycle, but you suggest it is not possible? > We'd love to provide this kind of functionality in Ardour, BTW, so if > you're serious about doing the research and work needed to check on > the HRT patch etc etc etc, we'd love to see it done in a way that we > could use too. I would like to contribute to the Ardour project. But i am neither a skilled or an experienced programmer, so i doubt if i am capable to do this. But if there is anything i can do i will do it. Is there any particular documentation i should look at? -- Gerrit
