[linux-audio-dev] Freeze?

Benjamin Flaming lad at solobanjo.com
Thu Feb 26 16:54:57 UTC 2004


On Thursday 26 February 2004 10:25 am, Paul Davis wrote:
> >     I want my plug-ins frozen the instant I close the parameter editor.
> > ;)
>
> oh, you don't want to do any graphical editing of plugin parameter
> automation? :))

     Well then - as soon as I stop editing the automation data ;)

> >     Agreed, it's a very definite trade-off - storage space for CPU
> > cycles. It is my observation, however, that storage space is cheap, and
> > readilly available.
>
> not my experience.

     It's a renewable resource.  When I archive a multi-gigabyte song, I have 
more storage space.  My CPU power stays the same, however.  It's also 
(generally) easy to throw in another hard drive - giving me the storage I had 
before *plus* whatever I've added.  If I change the CPU, the old one 
(normally) can't contribute DSP anymore.

> sure, but thats a subset of all busses. its not a bus per se.

     It's not terribly common right now because lots of extra aux inputs make 
for a bulkier and harder-to-manage mix.  Effects sends would be less 
important when working with a tree structure, because the impact of the 
inherent DSP savings would be diminished by offline rendering.

> have you actually experienced how long it takes to "re-render"?
> steve's suggestion is an interesting one (use regular playback to
> render), but it seems to assume that the user will play the session
> from start to finish. if you're mixing, the chances are that you will
> be playing bits and pieces of of the session. so when do you get a
> chance to re-render? are you going to tie up disk bandwidth and CPU
> cycles while the user thinks they are just editing? OK, so you do it
> when the transport is idle - my experience is that you won't be done
> rendering for a long time, and you're also going to create a suprising
> experience for the user at some point - CPU utilization will vary
> notable over time, in ways that the user can't predict.

     You bring up some interesting points here.  One thing I hadn't mentioned 
is that Tinara is intended for eventual use with a render farm.  I quickly 
realized, however, that it needed to be capable of running on a single 
machine - if only for testing purposes.  Understand, therefore, that local 
offline rendering in this project is little more than a stopgap measure.  The 
question of when rendering takes place on a local machine is one which I've 
changed my mind on countless times.  I'd played with the idea of writing live 
playback to the disk as a rendering technique, but things like reverbs need 
to be processed in an uninterrupted stream.

     I admit that the idea of stopping rendering when playback starts was 
short-sighted.  I tend to spend a lot of time editing, and this clouded my 
thinking.  As previously stated, however, I've changed my mind on this kind 
of thing quite often - particularly over the past couple of weeks.

> you also seem to assume that the transport being stopped implies no
> audio streaming by the program. in ardour (and most other DAWs), this
> simply isn't true. ardour's CPU utilization doesn't vary very much
> whether the transport is idle or not, unless you have a lot of track
> automation, in which case it will go up a bit when rolling.

     I'm aware of this - Pro Tools is the same way.  The decision to stop 
processing when the transport is stopped was based on two factors:

1. It allows more DSP power for local offline rendering.
2. Things like reverb will stop with the transport anyway, once they've been 
rendered.  I thought the behavior should be as consistent as possible.

     OTOH, it would be nice to hear the reverb tail while editing the 
parameters - so maybe this wasn't such a good idea after all.  In fact, I 
think you've talked me out of it :)

> the focusing part seems great, but seems to be more of a GUI issue
> than a fundamental backend one. it would be quite easy in ardour, for
> example, to have a way to easily toggle track+strip views rather than
> display them all.

     There are other reasons for the tree structure.  It makes it very easy to 
navigate to a particular audio element, and process it with an external 
program.  It also allows storage and organization of non-audio data, such as 
Csound instruments or Hydrogen songs, inside the same directory hierarchy.  
You could, for instance, store the Hydrogen song right inside the Drums 
branch, and a future version of Tinara could automatically open the file in a 
future version of Hydrogen, connecting the two applications via JACK.

     I looked very seriously at trying to implement the things I want in 
Ardour.  My conclusion, however, was that there are some fundmental design 
differences which would make some of my overall goals impractical.  (More on 
this below).

> the DSP power part seems like a good idea, but i think its much, much
> more difficult than you are anticipating. i've been wrong many times
> before though.

     It will be very difficult - but it's the program I've been wanting to use 
for years.  Now that I've started, I'm highly motivated to see it through :)

> and btw, the reason Ardour looks a lot like PT is that it makes it
> accessible to many existing users. whether or not ardour's internal
> design looks like PT, i don't know. i would hope that ardour's
> development process has allowed us to end up with a much more powerful
> and flexible set of internal objects that can allow many different
> models for editing, mixing and so forth to be constructed. the backend
> isn't particularly closely connected in any sense, including the
> object level, to the GUI.

     Part of the reason I'm skeptical of using Ardour as a foundation for what 
I'm trying to do, is that I think there are some fundamental differences in 
what we are trying to accomplish.

     Ardour is intended to function as a real-time DAW, with offline rendering 
capabilities.  Tinara is intended to be an offline compositing system, with a 
front-end for editing and real-time previewing - which may sometimes be lower 
quality than the final rendered result.

     Ardour is a DAW system with many powerful new features, which still 
remains comfortably familiar to users of other high-end audio applications (I 
consider this a Very Good Thing(TM) BTW).  Tinara is a node-based compositing 
system which would probably be of little interest to most experienced DAW 
users - it will require a different working style, and it will require 
thinking about editing, mixing, and processing, in a fundmentally different 
way, if it is to be used effectively.

     Ultimately, Ardour is what the audio industry wants, and Tinara is what I 
want ;)  I may yet end up deciding to use parts of Ardour for things like 
live disk streaming, but I think both projects have something to offer which 
is unique enough to justify separate development.

|)
|)enji




More information about the Linux-audio-dev mailing list