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(a)hawaii.rr.com
authenticity, honesty, community