Re: ecasound/jack records empty files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux