Re: [linux-audio-dev] audio application mixing/routing arch

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

Subject: Re: [linux-audio-dev] audio application mixing/routing arch
From: David Slomin (david.slomin_AT_av.com)
Date: Tue Mar 28 2000 - 19:58:24 EEST


Paul Barton-Davis wrote:
>
> A) I doubt that you could run the above in real time with low enough
> latency to make the synth playable from a MIDI controller. Although
> modern processors are fast, there are limits :)

That's not a good sign. At least for me, a soft-synth is utterly
useless if it cannot be recorded while being played from a MIDI
controller in realtime. Does this mean that every soft-synth and
soft-sampler must double as a single-track HD recorder?

   "realtime" ,--> audio output
      MIDI ------> soft-synth ---<
     input `--> disc

That's definitely a bare minimum though, unusable for more than
the most trivial hobbiest work. A more realistic minimum would use
a standalone multitrack audio editor with a decent interface (not
a minimalistic HD recorder tacked onto the soft-synth).

  "realtime"
     MIDI ----> soft-synth --. mix to
    input \ multitrack ,--> audio output
>---> audio ---<
                   existing / editor `--> new track
                    audio ----' to disc
                    tracks

I find it very hard to believe that this kind of setup would
necessarily result in unusable amounts of latency. It's such
a fundamental thing that without it, there wouldn't be any
concept of using computers in a music studio.

Inserting effects into the flowgraph is something that I
personally don't have a need for during the realtime recording
stage (I can do it offline later), but other people on the list
have asserted that they can't live without it. That gives us:

  "realtime"
     MIDI ----> soft-synth --. mix to
    input ) ,---> audio output
               ,-- effects <--' (
              / `--------------.
              \ \
               \ more /
                \ multitrack ,--> effects --'
>-----> audio ----<
    existing / editor `--> new track
     audio ----' to disc
     tracks

I agree that this is starting to look scary, but it is indeed
a minimum requirement for many people. If the only way to do
this on a current-generation processor is to have all of the
pieces run in a single process, then that single process will
no longer have the design problems of an application; it will
be a miniature operating system. It will need careful
coordination not only at the level of flow routing, but also
in presentation of the UI, not to mention code
compartmentalization (so that different developers can work on
different pieces). Designing this mini-OS is a task that I
doubt anyone can do in a way that all users and developers
will agree upon.

Thus I really hope that it is possible to run a nontrivial
flowgraph in separate processes; otherwise we're not ever
going to get anywhere.

Div.

-- 
David Slomin, Engineer         mailto:david.slomin_AT_av.com
AltaVista Business Solutions   http://solutions.altavista.com/
RFC 822 plaintext email strongly preferred except for attachments


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

This archive was generated by hypermail 2b28 : Tue Mar 28 2000 - 21:36:14 EEST