Subject: Re: [ecasound] about edi-15 (was: Re: [Alsa-user] xrun!!!) (fwd)
From: Jeremy Hall (firstname.lastname@example.org)
Date: Thu Sep 20 2001 - 15:38:19 EEST
I have found that if you are using a LL kernel, this internal buffering
just gets in the way of speed. I frequently do -z:nodb -z:intbuf just to
get reasonable performance out of the card.
btw watch this user to see if he can use s32_le with ecasound, he may be
better off to use alsa's plugin layer to get FMT conversion.
In the new year, Kai Vehmanen wrote:
> This is precisely why I want to implement 'edi-15', ie.
> "More intelligent system for selecting buffering modes
> and sizes for optimal out-of-the-box performance.".
> To get acceptable recording performance, people shouldn't
> need to give this many parameters to ecasound...
> ---------- Forwarded message ----------
> Date: Thu, 20 Sep 2001 14:54:27 +0300 (EEST)
> From: Kai Vehmanen <email@example.com>
> To: Adam Wiggins <firstname.lastname@example.org>
> Cc: email@example.com
> Subject: Re: [Alsa-user] xrun!!!
> On Thu, 20 Sep 2001, Adam Wiggins wrote:
> > When recording via arecord I frequently see:
> > xrun!!! (at least 12.096 ms long)
> This is actually an underrun. While your computer is doing something else
> (other programs, drivers, etc), soundcard's buffer area has become
> full with recorded data. So as a result you get the an underrun
> (no place to put more data, so previously recorded data is lost).
> As a solution, you need a realtime-capable recording
> application and double-buffering between the recording application
> (arecord) and the pipe (here 'conv').
> > arecord -D hw:1 -c 12 -r 96000 -f S32_LE -t raw | conv > out.raw
> Download ecasound from http://eca.cx and then:
> ecasound -r -z:db -sr:96000 -z:intbuf -f:s32_le,12,96000 -i alsa,hw:1 -o stdout | conv > out.raw
> And run with root-priviledges. On average machine (no badly behaving
> drivers, etc), this is rock-solid. As for the params:
> -r = use realtime scheduling (SCHED_FIFO)
> -z:db = double-buffered disk i/o
> -sr:96000 = to avoid resampling, set internal sample rate to 96000
> -f = set audio format for folloing inputs/outputs
> -i = input definition
> -o = output definition
> > "conv" is a program I wrote that strips out the all but the first
> > two channels, since I couldn't figure out any way to do such a thing
> > with arecord or ALSA by itself.
> Well, ok, no need for this...:
> ecasound -r -z:db -z:intbuf -f:s32_le,12,96000 -i alsa,hw:1 -f:s32_le,2,96000 -o out.raw
> ... and ta-daa, a 2ch output file. :)
> Audio software for Linux!
> To unsubscribe send message 'unsubscribe' in the body of the
> message to <firstname.lastname@example.org>.
-- To unsubscribe send message 'unsubscribe' in the body of the message to <email@example.com>.
This archive was generated by hypermail 2b28 : Thu Sep 20 2001 - 15:34:49 EEST