Subject: Re: [ecasound] buffering question
From: Kai Vehmanen (k_AT_eca.cx)
Date: Mon Jan 06 2003 - 20:40:20 EET
On Wed, 25 Dec 2002, The Eye wrote:
> So when thinking about this I realised I don't know much about buffering
> and what it all means .. I mean the man-page says I can use
> -B:auto|nonrt|rt|rtlowlatency ... plus there is this -z:db feature and
> the fact that I can use -b:buffer_size ...
One of the major new features of ecasound-2.2.0 is that it sets the
buffering settings automatically to match the processing configuration. So
in most cases you don't need to specify any buffering settings yourself.
It's still possible to override all settings, but as you've noted, these
are not documented in great detail yet.
> Now I'm wondering .. what _is_ real-time processing as applied to a
> tool like ecasound? and what is it that I am doing (recording long
There's basicly three major use categories: non-realtime, non-interactive
real-time processing and interactive real-time processing. I'll give a few
# non-real-time processing
# -> buffering just adds processing overhead, so it's used only minimally
ecasound -i foo.wav -o foo.mp3
# non-interactive RT
# -> we can use huge read-ahead buffers when reading from 'foo.wav'
ecasound -i foo.wav -o alsa,default
# interactive RT
# -> the audio must not go _quickly_ through ecasound, so we
# want to minimize all types of buffering... otoh, it's still
# possible to use read-ahead and write-behind techniques for
# file objects
ecasound -i alsa,default -o alsa,default
Ecasound can detect all these configurations and set buffering parameters
> stretches of audio, preferably so that any other acitivity on my PC will
> have no negative effect on my recording), and what would be good
> settings for that? I even realised that I don't really understand what
> "low latency" actually means.
Usually when talking about low-latency, "latency" refers to the time audio
signal is delayed by a signal processing element (can be anything, latency
of a program like ecasound, latency of A/D and D/A conversions, etc, etc).
PS For your purposes, if defaults settings don't seem to work, try:
ecasound -i alsa,default -o foo.wav -z:intbuf -z:db,200000 ...
this maximizes both soundcard level and file i/o buffers, and should
guarantee ultra-reliable recording. Also, I recommend running with root
-- http://www.eca.cx Audio software for Linux!
This archive was generated by hypermail 2b28 : Mon Jan 06 2003 - 20:35:09 EET