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.
On Mon, May 23, 2011 at 1:02 PM, Kai Vehmanen <kvehmanen(a)eca.cx> wrote:
Hi,
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
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).
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... :)