I just completed a successful run of ecasound with my guitar_mix.ecs
(attached) on my new box. This is a 15 minutes 5 track session, 4 tracks
from disk, one live jack input. Three outputs: stereo wav, mono wav and
live monitor. It uses amplify and panning effects controlled by ecasound
generic oscillators.
Details on the new box and it's current configuration:
asus a7v8x-x
athlon XP 2800+ (2071.203 MHz)
1.5GB PC2700 RAM
12GB / /dev/hda2 (actually a 40G disk)
160GB /mnt/audio/ /dev/hdc1
drives tuned
2GB swap /dev/hda1
onboard via8235
(M-Audio Delta-66 w/omni i/o -- still in old box)
(ymfpci guillemot maxisound fortissimo -- midi only -- still in old box)
debian testing (sarge)
2.6.1 (pre-empt on --
kernel.org sources compiled via make-kpkg)
realtime-0.0.2 lsm
alsa-1.0.2 (drivers, lib, envy24control, tools)
drivers:
./configure --with-isapnp=no --with-sequencer=yes --with-oss=no \
--with-cards=dummy,virmidi,ice1712,ymfpci,via82xx
libsndfile-1.0.5
from tar.gz. debian only had 1.0.4
jack-0.94.0
./configure --enable-capabilities --enable-optimize \
--with-default-tmpdir=/mnt/ramfs/ --disable-portaudio
ecasound-2.3.2
./configure --enable-pyecasound --disable-oss --disable-arts \
--with-largefile
I started jackd via jackstart like so:
jackstart -v -R -d alsa -d via82xx -r 44100 -p 128 -n 3
I run the ecasound session from a script that does some pre and post
processing. It assembles the 4 wav input files from other wav's and cuts
the output files down to randomly selected 5 minute chunks, fades in and
out the beginnings and ends, normalizes and encodes the stereo wav to ogg.
The whole session ran on this onboard soundcard without xruns. I
switched desktops numerous times in openbox3 and even switched out of X
to tty2 to login and change my hostname back (I had changed it while in
X and new apps weren't able to start because they couldn't connect to
the display. duh ... 8) ). The session ran flawlessly.
I'm not exactly sure what the stats jackd puts out when run verbosely
mean, but I know the results I saw mean I'll be able to run this session
with many more effects at lower latency than I could on my old box ...
_And_ I don't have to do it as root! yay! :)
The old box is a PII 400 w/768M PC100 RAM. On that box the whole session
including pre and post processing takes around 21 minutes. On the new
box that overhead is cut way down with the whole session taking only 16
minutes 20 seconds (only 1 min, 20 more than the actual recording time).
While running jackd reports load averaging (just measured visually from
jackd output, not hard numbers) around 7.5 with max usecs ~220. On the
old box using my delta66 I have to run at -p 256 to avoid xruns in this
session, load averages around 22 and max usecs around 1350. Admittedly,
much of this performance gain is related to the new hardware. But, still
, it's very cool that all this newish stuff (lsm, latest alsa, latest
ecasound, latest jackd, 2.6 kernel) is working well
In other testing with the via chip I've had jack running as low as -p 32
-n 3 with just a couple jack_metro's connected. I have to go down to -p
16 to get a few xruns. Not until -p 8 do things start to get really bad.
/proc/interrupts says the card's on IRQ 4, too.
I have a few more things to install, configure and test before I move my
delta66 and midi setup over to the new box. But, these initial tests are
very exciting. I just had to share. Thank you to all the developers for
all this excellent software. And thanks to all the list members, too. :)
-Eric Rz.
# eric(a)zhevny.com guitar_mix chainsetup file
### general
-b:128 -B:rtlowlatency -n:guitar_mix -X -t:902.802
### audio inputs
-a:1,6,11 -i:track1.wav
-a:2,7,12 -i:track2.wav
-a:3,8,13 -i:track3.wav
-a:4,9,14 -i:track4.wav
-a:5,10,15 -i:jack_alsa
#-a:5,10,15 -f:16,1,44100 -i alsahw,0
### audio outputs
# live output
-a:1,2,3,4,5 -f:16,2,44100 -o jack_alsa
#-a:1,2,3,4,5 -f:16,2,44100 -o alsahw,0,0
# file outputs
### FIXME: change this output to .ogg when crop and fades work
-a:6,7,8,9,10 -f:16,2,44100 -o:/mnt/audio/in_progress/guitar_mix/stereo_out.wav
-a:11,12,13,14,15 -f:16,1,44100 -o:/mnt/audio/in_progress/guitar_mix/mono_out.wav
### chain operators and controllers
# live output
-a:1 -erc:1,2 -epp:0 -kos:1,0,100,0.02,0 -ea:0 -kos:1,0,200,0.01,0
-a:2 -erc:1,2 -epp:0 -kos:1,0,100,0.04,0 -ea:0 -kos:1,0,200,0.02,0
-a:3 -erc:1,2 -epp:0 -kos:1,0,100,0.06,0 -ea:0 -kos:1,0,200,0.03,0
-a:4 -erc:1,2 -epp:0 -kos:1,0,100,0.08,0 -ea:0 -kos:1,0,200,0.04,0
-a:5 -erc:1,2 -epp:50 -ea:205
# stereo file out for .ogg
-a:6 -erc:1,2 -epp:0 -kos:1,0,100,0.02,0 -ea:0 -kos:1,0,200,0.01,0
-a:7 -erc:1,2 -epp:0 -kos:1,0,100,0.04,0 -ea:0 -kos:1,0,200,0.02,0
-a:8 -erc:1,2 -epp:0 -kos:1,0,100,0.06,0 -ea:0 -kos:1,0,200,0.03,0
-a:9 -erc:1,2 -epp:0 -kos:1,0,100,0.08,0 -ea:0 -kos:1,0,200,0.04,0
-a:10 -erc:1,2 -epp:50 -ea:205
### crop and fade in/out
### generate an effects preset file for this in preprocessing
#-a:6,7,8,9,10 -ea:0 -kl:1,0,100,4,0,0,10,1,290,1,300,0
# mono file out for pool
-a:11 -ea:0 -kos:1,0,200,0.01,0
-a:12 -ea:0 -kos:1,0,200,0.02,0
-a:13 -ea:0 -kos:1,0,200,0.03,0
-a:14 -ea:0 -kos:1,0,200,0.04,0
-a:15 -ea:205
### crop and fade in/out
### generate an effects preset file for this in preprocessing
#-a:11,12,13,14,15 -gc:$pos,300 -ea:100 -klg:0,0,100,4,0,0,10,1,290,1,300,0