Subject: Re: [ecasound] Two chains is one too many (do I need bigger iron?)
From: Joel Roth (jroth_AT_mauigateway.com)
Date: Wed Jul 09 2003 - 22:50:09 EEST
Okay, my problems have receded slightly.
I plugged in an ENVY24/ICE1712 based soundboard (ST Audio DSP24 with DSP3000
ADC/DAC) to replace the on-board ISA (es1869) I used for my original post.
Justin correctly identified some mistakes in my arguments:
ecasound -i:test.wav -o:alsahw,1,0,0 # works
ecasound -a:1 -i:test.wav -a:1 -o:alsahw,1,0,0 # works!
but:
ecasound -a:1 -i:test.wav -o:alsahw,1,0,0 # no! -o applies to -a:default
# instead of -a:1
Having sorted out the syntax problem, I succeeded in running
two chains:
ecasound -c -r -a:1 -i:backing.wav -a:1 -o:alsahw,1,0,0 \
-a:2 -i:/dev/dsp1 -a:2 -o:lead.wav
backing.wav goes to DAC channels 1 & 2, and the signals on
ADC inputs 1 & 2 are stored as lead.wav.
The order of the inputs/outputs doesn't seem to change the
'fs' report in interactive mode.
And yes, including the sample format on each argument makes sense.
Bottlenecks
-----------
Coming back to 'iron' question, it seems I don't need a faster CPU
for audio I/O because PCI bus mastering devices (such as the ENVY24)
perform the transfers independently of the CPU.
PCI bandwidth: approx 100MB/s (33MHz x 32-bit bus width)
SCSI adapter: approx 20MB/s
Sustained media rate
(one SCSI disk) approx 8MB/s
One channel audio: approx 132 KB/s (44100 MHz x 24 bits)
So an 8MB disk transfer rate (used entirely for audio) corresponds
to about 60 audio channels, way more than I will ever use.
As Justin says, disk throughput seems to be one major limiting factor.
Obviously a faster processor would help with realtime effects.
My next questions, on individually addressing input and
output channels seems like more of an alsa-users question.
On Tue, Jul 08, 2003 at 01:07:27AM -0500, justin wrote:
> Hello,
> In regards to the following:
>
> > ecasound -c -r -X -b:4096 -f:s16_le,1,44100,n \
> > -a:monitor -i:backing.wav -o:/dev/dsp \
> > -a:record -i:/dev/dsp -o:lead.wav
>
> I would recommend the following for a chainsetup proper (keep in mind you WANT
> to keep the "-b:<arg>" option argument as LOW as your system will tolerate):
>
> ecasound -c -r -b:1024 \
> -a:1 -f:s16_le,1ch,44100,n -i:backing.wav \
> -a:2,3 -f:s16_le,1ch,44100,n -i:alsa,<name of your soundcard, see docs> \
> -a:1,2 -f:s16_le,1ch,44100,n -o:alsa,<name of your soundcard> \
> -a:3 -f:s16_le,1ch,44100,n -o:lead.wav
<snip>
-- Joel Roth
This archive was generated by hypermail 2b28 : Wed Jul 09 2003 - 23:40:55 EEST