any port use /dev/dsp directly?
Gary Kline
kline at thought.org
Thu Jan 14 20:16:35 UTC 2010
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 at allantgroup.com
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
--
Gary Kline kline at 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
More information about the freebsd-questions
mailing list