Date: Thu, 14 Jan 2010 12:16:16 -0800 From: Gary Kline <kline@thought.org> To: Dan Nelson <dnelson@allantgroup.com> Cc: Glen Barber <glen.j.barber@gmail.com>, freebsd-questions@freebsd.org Subject: Re: any port use /dev/dsp directly? Message-ID: <20100114201616.GA73961@thought.org> In-Reply-To: <20100114165717.GA5651@dan.emsphone.com> References: <20100114012059.GA3921@thought.org> <20100114013746.GB67999@orion.hsd1.pa.comcast.net> <20100114024242.GA9744@thought.org> <20100114165717.GA5651@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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? > > > > > > > > I think I may need to flush my data before closing the FILE *FP. Not > > > > sure; just guessing. > > > > > > > > > > I don't know if this directly answers your question, but from sound(4): > > > > > > hw.snd.default_unit > > > Default sound card for systems with multiple sound cards. When > > > using devfs(5), the default device for /dev/dsp. Equivalent to a > > > symlink from /dev/dsp to /dev/dsp${hw.snd.default_unit}. > > > > > > FWIW, www/linux-f10-flashplugin10 is using /dev/dsp0.0 on my system at the > > > moment. > > > > Thanks, but I already read the sound man page. I am trying to emulate > > > > /bin/cat WAVEFILE > /dev/dsp > > > > which works well by opening /dev/dsp, making sure everything is set, the > > writing the bytes of the WAVEFILE thru/into the device with a write() > > call. It works, the sound echoes, but at the end is an ugly HISSing or > > FIZZZZ sound. saved the program to /tmp, thanks! > > You're probably playing an mp3-style tag at the end of the file, or some > other metadata encoded in the wav file format. /dev/dsp takes raw bytes, > and doesn't parse a file headers at all. > > 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? (I thought that /dev/dsp was associated with the *.WAV files ... but evidently not.) > > If you want a simple example of how to play a raw sound file, try this. You > can tell its age by the fact that it can play through /dev/pcaudio, but it > still works :) > Ear-to-ear!! gary > > > -- > Dan Nelson > dnelson@allantgroup.com > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" -- Gary Kline kline@thought.org http://www.thought.org Public Service Unix http://jottings.thought.org http://transfinite.thought.org The 7.79a release of Jottings: http://jottings.thought.org/index.php
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100114201616.GA73961>