[alsa-devel] Increasing maximum sampling frequency?
Clemens Ladisch
clemens at ladisch.de
Thu May 28 08:52:44 CEST 2009
Lee Revell wrote:
> On Wed, May 27, 2009 at 9:47 PM, Cameron Stone
> <camerons.lists at cse.unsw.edu.au> wrote:
> > I've got a USB microphone application that I want to sample at 256000 8
> > bit samples per second so I can listen to bats. I know that my device
> > can get close to that rate, but alsa seems to restrict sampling rates to
> > 192kHz.
> >
> > Is it possible to push the maximum sampling frequency higher? If so,
> > where should I start looking?
>
> For starters, try adding a 256K sample rate to include/sound/pcm.h:
> and sound/core/pcm_native.c:
This is not necessary; drivers can define whatever sample rate they
want. 1,792,000 Hz works just fine with the Bt878 driver.
> $ arecord -v -Dplughw:1,0 test.wav -d 1 -r 256
> Recording WAVE 'test.wav' : Unsigned 8 bit, Rate 256000 Hz, Mono
> ...
> Slave: Hardware PCM card 1 '8-Mic AVR Adaptor' device 0 subdevice 0
> Its setup is:
> ...
> rate : 256000
This indicates that the record PCM stream _does_ use the correct rate.
> $ aplay -r 256 test.wav
> Playing WAVE 'test.wav' : Unsigned 8 bit, Rate 256000 Hz, Mono
> Warning: rate is not accurate (requested = 256000Hz, got = 192000Hz)
The automatic sample rate converter never uses a frequency higher than
192 kHz.
This maximum frequency is defined in alsa-lib/include/pcm_plugin.h, but
you cannot change it without changing LINEAR_DIV and the algorithm in
alsa-lib/src/pcm_pcm_rate_linear.c.
Try resampling the .wav file before with sox.
Best regards,
Clemens
More information about the Alsa-devel
mailing list