Re: Minimum reasonable latency Was: Re: ZynAddSubFX was: Re: [linux-audio-dev] some new soundfiles on-line

From: Florian Schmidt <mista.tapas@email-addr-hidden>
Date: Thu May 19 2005 - 17:06:19 EEST

On Thu, 19 May 2005 14:14:06 +0200
Jens M Andreasen <jens.andreasen@email-addr-hidden> wrote:

> The Guitarist, processing the output of an instrument in realtime. The
> roundtrip from sample-in to sample-out is what bothers. Getting a
> reliable RT priority saves the day.
>
> The Synthesist, calculating a sound from midi trigger input in
> realtime. This is almost like "The Guitarist", but with only half of the
> roundtrip buffer worries.

Hi,

interesting enough, in a 2 periods/buffer setup a synthsist will have to
bear the exact same latency if he wants constant latency. If you give up
constant latency you wil get quicker response.

Here's the rolled out example:

Interrupt N happens at time t_n

The soft synth application prepares the playback buffer for period N+1
(the time after Interrupt N+1 up to the time of Interrupt N+2)

sometimes before interrupt N+1 the keyboarder hits a note (at time t_n +
delta). Now, maybe the soft synth already is done preparing the buffer
for Period N+1, or it might be right in the middle of doing so. Thus,
there's no reliable way to put the corresponding audio event intot the
buffer for period N+1. So, what the soft synth must do is schedule the
event for period N+2.

Interrupt N+1 happens (at time t_n+1)

The softsynth produces output for period N+2. Now it can put the sound
corresponding to t_n + delta at the right position of the buffer which
will be audible during period N+2.

Interrupt N+2 happens (at time t_n+2)

At t_n+2 + delta the sound corresponding to the key hit at time t_n +
delta will be audible.

..

I don't know of any _reliable_ constant delay (jitter free) way to
schedule events happening during period N for playback during period
N+1. If anyone does, please enlighten me.

Conclusion: In a typical 2 periods per buffer setup a softsynth player
and a guitar player using the computer as efx rack will experience the
exact same delay.

Flo

-- 
Palimm Palimm!
http://affenbande.org/~tapas/
Received on Thu May 19 20:15:06 2005

This archive was generated by hypermail 2.1.8 : Thu May 19 2005 - 20:15:07 EEST