[LAD] incorrect number of samples reading from /dev/dsp1

Gordon JC Pearce gordonjcp at gjcp.net
Tue Feb 1 07:49:15 UTC 2011


On Mon, 2011-01-31 at 21:55 -0800, farhan baluch wrote:
> Hi All, 
> 
> 
> I am trying to read data from a usb microphone and using the pretty
> standard method of using ioctl's to setup the sampling rate, channels,
> bits and block size . This all works so the device is correctly setup.
> I then use "read" to read samples from the device which shows up
> as /dev/dsp1. I get a lot more samples from this read command in one
> second of recording than the set sample rate. E.g. if i set 10Khz on
> one run i got 269312 samples. Looking at the raw data it looks like
> there is a lot of duplication of data? is this common for the audio
> input device? if so what kind of encoding is it (e.g with some
> specific redundancy built in)? 
> 
> 
> thanks
> farhan

OSS has been obsolete for over a decade.  Don't use it.

What have you got the sample rate set to?  It's possible that your card
isn't capable of reading at that rate so it goes to the nearest sample
rate it does have and then interpolates.

If you really must deal with audio hardware directly, use ALSA.  Even
better, use jack and abstract all that messy cruft away into a handy
server.

Gordon MM0YEQ




More information about the Linux-audio-dev mailing list