[linux-audio-dev] Re: [atech] Modular audio

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] Re: [atech] Modular audio
From: Juhana Sadeharju (kouhia_AT_nic.funet.fi)
Date: ti tammi  26 1999 - 12:46:47 EST


>From: jams_AT_cs.tut.fi (Jarno Seppanen)
>
>> I would consider it a restriction if you have fixed size blocks, because
>> they don't allow you to do real short feedback loops. I'd rather have
>> something like flexible size blocks, which autoadapt on the fly to have
>> the right size.
>
> But this would add a lot of complexity and buffering in order to split
>and join different-length frames, right?
[ ... ]
>If there is a need for short feedbacks, the global frame duration
>should be shortened.

No. Flexible frame size is the way to go. But then the network must
be analysed before a run. For example, if a loop containing many blocks
wants an 1 sample delay, then the frame sizes of each block in the loop
must be adjusted to 1 sample. We need to find loops and there must
already be some efficient method for that available.

Frame sizes of a module and its blocks depends on frame sizes of other
modules if we really want to be precise.

Things gets complicated when time is considered: frame sizes may change
if an effect module is removed on the fly. The change would be toward
faster computations and it would not be a good idea to not alter the
frame sizes. Adding a module may change the frame sizes toward slower
computations.

Each block would have a control rate, maximum allowable delay between its
output and input if in a loop. To consider time, each block would have
a time-sequence of these values. There is no a need to set these values
and sequences -- the system then would just be an ordinary flow network.
Only a partial network (such as some time-critical section) could have
these values and sequences. Those values and sequences could inherit
to children modules/blocks on the fly. If wanted, there is no need to
readjust anything on the fly -- there can be compromises.

In an audio software we have two cases:
 -we know the mixer sequence before playing and we can compute everything
before execution;
 -we don't know the mixer sequence completely and we may make quick
computations everytime we add and/or delete an instrument from the
system.

>> (inventing new flexible blocksize scheduling)

I would like to discuss about various ideas. I try to find out my paper
notes on the above system because there still must be more.

There was some flexible flow scheduling method mentioned among OMT people.
It was written by Stefan of Arts (ex-KSynth). How it works?

Yours,

Juhana


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : ma maalis 13 2000 - 11:59:35 EST