[LAD] on the soft synth midi jitters ...

cal cal at graggrag.com
Tue Oct 5 12:47:04 UTC 2010


On 05/10/10 20:55, fons at kokkinizita.net wrote:
> On Tue, Oct 05, 2010 at 09:51:35AM +0200, Arnout Engelen wrote:
>
>>> What seemed most promising was to break the audio generation into smaller
>>> blocks, applying pending midi events between blocks.
>>
>> [ But, but ... ]
>
> Yes, but it provides a simple way to improve an existing
> application using Jack-midi, withour requiring very deep
> changes to the audio code to make it fully 'sample accurate'.
>
> You will probably already have something like:
>
> jack_process (nframes)
> {
>      read_jack_midi_data();  // read full buffer, create new notes,
>                              // mark those being released.

... improving the way it currently handles the create new + mark
released processing is what's needed, and from where I sit it's a
fairly daunting task. I'll probably have a go at it, ... but I'm not
a young man :-(.

>      synthesize(nframes);    // audio processing for current notes
> }
>
>[ ... ]

> This is how I added Jack-midi support to Aeolus. It has an internal
> 'period' of 64 frames which really can't be changed without rewriting
> all of it. Reading the midi data in slices of 64 frames and alternating
> this with the synthesis code provides a jitter of +/- 32 frames, which
> is probably OK (at least it is for an organ).

All up, serious food for thought and very much appreciated!

Thank you!
Cal



More information about the Linux-audio-dev mailing list