I'm developing a USB audio device that acts like a microphone. It produces an isochronous (USB-talk for real-time) audio stream at 8000 Hz, 16-bit PCM. With Ubuntu 13.10 the recording takes place about 3.3x too slow. That is, recording for 10 seconds produces a 3-second WAV file, that plays back much too fast. (Best measurement of the ratio is 3.27.) The playback is worse than speeded up, it's garbled too. For example counting "one.....two.....three" sounds like "bzt..bzt..bzzt". I tried 3 different audio programs (arecord, ocenaudio, Audacity) and two different computers. Confoundedly, telling arecord to limit the recording to 10 seconds (--duration=10) actually takes about 33 seconds, and results in a 10-second WAV file. It's as if the driver is in a time warp.
Recording from the mic in a USB Logitech headset produces a good file, with the correct speed and understandable audio. I know this sounds like a bad audio input USB device on my part, but recording from it works fine in Windows (via GoldWave). My gut says there is a bug in the Ubuntu audio driver when the isochronous data is coming in at only 8000 Hz, which is unique. Most microphones offer through the USB enumeration to sample for you at a variety of rates, e.g. 44100, 22050, 8000, etc. For extraneous reasons I'm confined to 8000 Hz.
Anyone else see anything like a buggy audio USB driver? Any ideas how to gain evidence incriminating or exonerating Ubuntu drivers?