Re: [LAU] ecasound/jack records empty files

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Mon May 23 2011 - 23:02:51 EEST

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... :)

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Tue May 24 00:15:02 2011

This archive was generated by hypermail 2.1.8 : Tue May 24 2011 - 00:15:02 EEST