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