any port use /dev/dsp directly?

Dan Nelson dnelson at allantgroup.com
Fri Jan 15 17:12:21 UTC 2010


In the last episode (Jan 14), Gary Kline said:
> On Thu, Jan 14, 2010 at 05:08:25PM -0600, Dan Nelson wrote:
> > In the last episode (Jan 14), Gary Kline said:
> > > On Thu, Jan 14, 2010 at 03:19:47PM -0600, Dan Nelson wrote:
> > > > 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]
> > 
> > Certainly; file conversion is one of the basic purposes of sox. 
> > Something like:
> > 
> >   sox myfile.wav -b 16 -e signed -r 22050 -c 2 myfile.raw
> > 
> > will convert the wav file (whatever its format is) to a signed 16-bit
> > stereo raw file.  For raw files, you can also use special file
> > extensions that specify the encoding ("myfile.s16" for example, for a
> > signed 16-bit file).  Adding "-V3" to the beginning of the command will
> > print the full input and output specs, plus the filter chain required to
> > do the conversion (if any).  The sox and soxformat manpages are pretty
> > comprehensive.
> > 
> 
> yes, the man page is thorough, but almost unreadable, at least to me.  i
> found a tutorial with exaples that should the WAV to RAW conversion.  on
> my freebsd desktop, sox didn't like it.  it kept echoing the usage.

That is a bit annoying, yes, but right before the usage test, it should have
printed an error message saying what it didn't like about your commandline.
 
> on my ubuntu system, sox failed completely complaining that that it wasn't
> set for "auto" .....  [?] I checked again here to see if sox as play would
> work, and it does.  so at least that much works.
> 
> the error output escapes me.  doesn't the ``-r 22050'' specify the
> sampling rate?

Yes, but that was during the wav->raw conversion.  The sample rate wasn't
stored in the raw file, because raw files are just that: raw audio data,
with no headers indicating sampling rate for encoding format.  For the play
command to be able to handle a raw file, it needs to be told the rate and
format when it's run.
 
> play FAIL formats: bad input format for file `myfile.raw': sampling rate was not specified

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list