any port use /dev/dsp directly?

Gary Kline kline at
Thu Jan 14 22:31:20 UTC 2010

On Thu, Jan 14, 2010 at 03:19:47PM -0600, Dan Nelson wrote:
> In the last episode (Jan 14), Gary Kline said:
> > On Thu, Jan 14, 2010 at 10:57:17AM -0600, Dan Nelson wrote:
> > > In the last episode (Jan 13), Gary Kline said:
> > > > On Wed, Jan 13, 2010 at 08:37:46PM -0500, Glen Barber wrote:
> > > > > Gary Kline wrote: 
> > > > > > I have a couple short programs where I mess with /dev/dsp.  I'll
> > > > > > open check to be sure the speed is right, open in mono or stereo,
> > > > > > &c.  is there anything is ports that uses this dev by opening, doing
> > > > > > ioctls and so forth?
> > > 
> > > A better way to play wav files would be to install the sox port and use
> > > its included "play" command, which will parse the wav file format and
> > > only send the audio data to /dev/dsp.  It'll also play compressed audio
> > > files (mp3, or other non-raw wav encodings).
> > 
> > the hiss at the end probably is due to whatever metadata at the end of my
> > WAV file.  Can sox translate this file into a raw byte-stream of data that
> > I can cat of write() into the device?
> Didn't I just say that in the paragaph above? :)  The sox port comes with
> its own "play" command that can parse many containers and encodings,
> including wav files.

	I did see that.  I'm wondering of theses is some sox translation that 
	would do say 

	%sox -w WAV -r [rawoutfile]

	I found that using your code, or part of it, I can do very nearly what
	my own dspplayer.c was doing.  Only yours works and mine works with the
	hiss.  I'm only using the dev/dsp part of your program; it reads from
	stdin; I.... well, I'm not sure where I screwup.... rats.

	time to take printouts and go in a corner and see why my 109-lines
	fails.  --Of course, it worked before to create two flawless sine
	waves.  I modified it, but not correctly.  

	Meanwhile, I've rebuilt sox and will poke it with a stick!

> > (I thought that /dev/dsp was associated with the *.WAV files ... but
> > evidently not.)
> Well, it's an audio device, and wav files contain audio data, but that's
> about it.  The driver doesn't parse its input looking for file headers or
> anything.  If you're lucky and /dev/dsp's default settings happen to match
> the format of a raw-encoded wav file, then you can cat your file to
> /dev/dsp.  But otherwise you'll get static.  Try catting any of the sample
> wavs at to /dev/dsp and see how many sound
> good.

	Wow, great; thanks for the pointer...

> -- 
> 	Dan Nelson
> 	dnelson at

 Gary Kline  kline at  Public Service Unix
    The 7.79a release of Jottings:

More information about the freebsd-questions mailing list