Thanks for that, folks. I haven't tried the -G option yet (I used rotter to get what I needed for the moment), but I will come back to this tonight because rotter is giving me some problems.
Hi,as Julien already recommended, I'd first try with '-G:jack,ecasound,notransport'. With this you state that you do not wish to follow JACK transport state (e.g. what's the current position), but just record whatever is coming from the JACK ports. In your use-case, you probably want '-x' as well (always truncate outputs).
On Mon, 16 May 2011, Eric Steinberg wrote:
and start ecasound:[...]
$sudo ecasound -a:1,2,3,4,5,6,7,8 -f:s16_le,8,44100 -i jack,system -a:1 -o channelone.mp3 -a:2 -o channeltwo.mp3 -a:3 -o channelthree.mp3 -a:4 -o
channelfour.mp3 -a:5 -o channelfive.mp3 -a:6 -o channelsix.mp3 -a:7 -o channelseven.mp3 -a:8 -o channeleight.mp3
...this starts recording without problems. However, when I stop recording by issuing ctrl-c to ecasound and then start recording again, the files created now have zero bytes. If I stop and restart the jack
This (disable transport) is now the default for batchmode in ecasound 2.8.0 and newer (just released).
Otherwise, I think your setup is not deinterleaving the channels quite the way you probably intended. I think what you are looking for (guessing based on your file naming):
ecasound -f:f32,2,44100 \
-G:jack,ecasound,notransport -x \
-a:1 -i jack_multi,system:capture_1,system:capture_2 -o chpair1.mp3 \
-a:2 -i jack_multi,system:capture_3,system:capture_4 -o chpair2.mp3 \
-a:3 -i jack_multi,system:capture_5,system:capture_6 -o chpair3.mp3 \
-a:4 -i jack_multi,system:capture_7,system:capture_8 -o chpair4.mp3
If you want to specifically to capture the mono channels, then it's
a bit more complicated due to odd limitations of eca+lame combination,
but still possible:
ecasound -f:f32,1,44100 \
-G:jack,ecasound,notransport -x \
-a:1 -i jack_multi,system:capture_1 -o ch1.mp3 -chcopy:1,2 \
-a:2 -i jack_multi,system:capture_2 -o ch2.mp3 -chcopy:1,2 \
-a:3 -i jack_multi,system:capture_3 -o ch3.mp3 -chcopy:1,2 \
-a:4 -i jack_multi,system:capture_4 -o ch4.mp3 -chcopy:1,2 \
-a:5 -i jack_multi,system:capture_5 -o ch5.mp3 -chcopy:1,2 \
-a:6 -i jack_multi,system:capture_6 -o ch6.mp3 -chcopy:1,2
...
This is a bit clumsy due to having to feed a stereo stream to mp3 encoding (probably ecasound should do this implicitly under the hood), but still manageable.
I'd personally consider recording to flac (no need for the extra chcopy for flac files). Its nonlossy and allows for more options (multichannel files).
PS Thanks for the post btw. I found one nasty regression in
recent 2.8.0 release that impacted this particular use-case.
Naturally I recommend the just released 2.8.1 for the above
examples... :)