[LAU] Input to aplay to make a file instead?

John Murphy rosegardener at freeode.co.uk
Sat Apr 18 14:20:55 CEST 2020


On Sat, 18 Apr 2020 11:53:35 +0100 Bill Purvis wrote:

> On 18/04/2020 11:05, John Murphy wrote:
> > On Sat, 18 Apr 2020 09:55:12 +0100 Will Godfrey wrote:
> >  
> >> On Sat, 18 Apr 2020 09:50:30 +0100
> >> John Murphy <rosegardener at freeode.co.uk> wrote:
> >>  
> >>> I use a program which plays regions of various .wav files. Its
> >>> output pipes into aplay like: '| aplay -f FLOAT_LE -c 2 -r 48000'
> >>>
> >>> To where can I pipe its output, instead, to make a new .wav file,
> >>> or make a compressed file? Preferably faster than the region(s)
> >>> take to play.
> >>>
> >>> Or, if not, make aplay write to a file instead of playing?
> >>>
> >>> Thank you.
> >>>     
> >> Use arecord instead.
> >>  
> > Thanks. I saw the -C switch (or arecord), but didn't try it because
[...] 
> You should be able to use sox to do that, specify the input format, and
> an output format and it should sort it out. I've not done this for ages,
> but it's the sort of thing sox was created for.
> 
> Bill
> 
Looks promising, thanks:

SoX can be used in simple pipeline operations by using the special filename
`-' which, if used as an input filename, will cause SoX will read audio data
from `standard input' (stdin)

Can't quite do it though. aplay gets -f FLOAT_LE -c 2 -r 48000 I've tried:

 | sox -t raw -r 48k -c 2 -L -e float - dump-SOX-test.wav
sox FAIL formats: bad input format for  `-': data encoding or sample size was not specified
 | sox -t wavpcm -r 48k -c 2 -L -e float - dump-SOX-test.wav
sox FAIL formats: can't open input  `-': WAVE: RIFF header not found

I'm guessing though really.

-- 
John.


More information about the Linux-audio-user mailing list