[LAU] Playing a wav file from stdin in JACK?

david gnome at hawaii.rr.com
Sat Nov 17 03:29:38 EST 2007


Erik de Castro Lopo wrote:
> Ken Restivo wrote:
> 
>> I'm looking for a way to play a wav file from STDIN that'll work with JACK.
> 
> In general, WAV files are not designed for reading from things like pipes.
> The problem is that they can contain metadata *after* the audio data.
> 
> There are however file formats that are specifically design to be allowed
> to be read from pipes, like AU and CAF. Both of these formats have all
> metadata before the audio data and do not allow trailing metadata.
> 
> Both AU and CAF formats support a wide range of audio data formats
> including 16, 24 and 32 bit integer PCM, 32 bit floats, 64 bit floats,
> Alaw, ulaw etc.
> 
>> mplayer -ao jack (or just mplayer without JACK) won't handle WAV files on stdin, for some reason.
>>
>> 	Cannot seek backward in linear streams!
>> 	Seek failed
> 
> Mplayer is probably being a little conservative.
> 
> libsndfile does allow reading from pipes as long as the file is
> not too broken.
>  
>> I need to do this because I'm playing wavpack'ed files: I need to do
>> "wvunpack -o - filename.wv | SOMETHING - ". I do *not* want to have to
>> unpack them to disk just to play them.
> 
> Does wvunpack support output as AU of CAF?
> 
> If wvunpack only does WAV output, you have two solutions:
> 
>   - Write SOMETHING to use libsndfile which does read from a pipe.
> 
>   - Hack wavpack support into libsndfile :-).

How about basically wvunpack | lame | mplayer out to JACK?

You could use your choice of intermediate encoder.

-- 
David
gnome at hawaii.rr.com
authenticity, honesty, community



More information about the Linux-audio-user mailing list