web-dev-qa-db-ja.com

ALSAが44100Hzでしか録音しないのはなぜですか?

Ubuntu 14.04.3 Serverでオーディオ録音をセットアップしようとしています。 16000Hzでオーディオを録音する必要があり、このサンプルレートを確実にサポートする外部USBサウンドカードを使用しています。

しかし、私がしようとすると:

 arecord -f S16_LE -r 16000 -D default -c 1 test.wav

次の警告が常に表示されます。

Warning: rate is not accurate (requested = 48000Hz, got = 44100Hz)

そして、これは常に来ます。さまざまなオーディオデバイスも試しましたが、44100Hzしか出力されません。

これが私の/etc/asound.conf

pcm.custom {
        type hw
        card UA25EX
}

ctl.custom {
        type hw
        card UA25EX
}

pcm.!default pcm.custom
ctl.!default ctl.custom

また、そのファイルにサンプルレートを明示的に設定しようとしましたが、その結果、設定が不適切になり、デバイスが検出されなくなりました。

16000Hzで録音するにはどうすればよいですか?

[〜#〜] edit [〜#〜]

> arecord -d 1 -v test.wav
Recording WAVE 'test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono
arecord: set_params:1233: Sample format non available
Available formats:
- S16_LE


> cat /proc/asound/U0x41e0x30d3/stream0
Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 1 OUT (ADAPTIVE)
    Rates: 48000, 44100

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 1
    Endpoint: 2 IN (ASYNC)
    Rates: 48000, 44100
1
basilikum

いわゆる「Sound Blaster Play!」デバイスは44.1および48 kHzのみをサポートします。

1
CL.