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

Ken Restivo ken at restivo.org
Sat Nov 17 02:19:04 EST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sat, Nov 17, 2007 at 02:02:28PM +1100, 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 :-).
> 

Interestingly, wavpack can write *and read* wav files from a pipe.

I'll try inserting sndfile-convert into the pipeline and see if there's a way to make mplayer happy that way.

- -ken
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHPpXoe8HF+6xeOIcRAi7xAJ0dvP8/cy01xLy5NlXh/f3TY4akNwCghMse
mmQ59Rms6Uu/hG/Qrg5sznw=
=1dk2
-----END PGP SIGNATURE-----



More information about the Linux-audio-user mailing list