[uaudio] Sound-recording too fast
Hans Petter Selasky
hselasky at c2i.net
Sun Sep 11 08:16:57 UTC 2011
On Sunday 11 September 2011 10:08:12 Hans Petter Selasky wrote:
> On Sunday 11 September 2011 05:08:37 Mikhail T. wrote:
> > Hello!
> > I have a Logitech's webcam with built-in microphone. The audio device is
> > recognized by FreeBSD-8-stable as:
> > uaudio0: <vendor 0x046d product 0x081b, class 239/2, rev 2.00/0.10, addr
> > 2> on usbus2 uaudio0: No playback!
> > uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
> > uaudio0: No midi sequencer
> > pcm1: <USB audio> on uaudio0
> > mixer(8) reports it a little strangely, depending on which /dev-entry I
> > use:
> > % mixer -f /dev/mixer1
> > Mixer vol is currently set to 75:75
> > Mixer pcm is currently set to 75:75
> > % mixer -f /dev/dsp1
> > Mixer rec is currently set to 45:45
> > But recording works. For example, using the rec-utility from the SoX
> > package:
> > % env AUDIODEV=/dev/dsp1 rec /tmp/test.aiff
> > Input File : '/dev/dsp1' (ossdsp)
> > Channels : 2
> > Sample Rate : 48000
> > Precision : 16-bit
> > Sample Encoding: 16-bit Signed Integer PCM
> > Well, it almost works, because the recording ends up highly distorted --
> > much faster, than what I'm really saying into microphone. About three
> > times faster. For example, if I let the above command run for 18 seconds
> > (according to time(1)), the created test.aiff will contain a 6-seconds
> > recording.
> > How do I fix this? Thanks! Yours,
> Doesn't aiff files use a fixed sample rate? Try:
> env AUDIODEV=/dev/dsp1 rec -r 16k /tmp/test.aiff
> env AUDIODEV=/dev/dsp1 rec -r 8k /tmp/test.aiff
You could also try:
dd if=/dev/dsp1 of=/dev/null bs=128
Let it run for a while and compute the bitrate. I'm really surprised if your
Logitech announces that it supports 48K and simply outputs 16K. It would be
the latest great example of USB specification violation!
A dump of the descriptors using usbconfig and "sysctl hw.usb.uaudio.debug=15"
would also be appreciated.
More information about the freebsd-usb