Embedded 如何更改PyAudio中的可用采样率?

Embedded 如何更改PyAudio中的可用采样率?,embedded,pyaudio,alsa,Embedded,Pyaudio,Alsa,我正在做一个使用ReSpeaker Mic Array v2.0的项目,这是一个PCB板,有4个麦克风连接到Jetson纳米板 我已使用以下命令以48 kHz的频率录制音频(该应答器的最大频率): arecord-D plughw:ArrayUAC10-c6-r48000-fs32\u LE test.wav 我想用PyAudio做同样的事情,但每次我都将速率设置为不同于16 kHz的值: RESPEAKER_RATE = 48000 RESPEAKER_CHANNELS = 6

我正在做一个使用ReSpeaker Mic Array v2.0的项目,这是一个PCB板,有4个麦克风连接到Jetson纳米板

我已使用以下命令以48 kHz的频率录制音频(该应答器的最大频率):

arecord-D plughw:ArrayUAC10-c6-r48000-fs32\u LE test.wav

我想用PyAudio做同样的事情,但每次我都将速率设置为不同于16 kHz的值:

    RESPEAKER_RATE = 48000
    RESPEAKER_CHANNELS = 6 
    RESPEAKER_WIDTH = 2
    RESPEAKER_INDEX = 11  # refer to input device id
    CHUNK = 1024
    RECORD_SECONDS = time
    WAVE_OUTPUT_FILENAME = "output.wav"
    
    p = pyaudio.PyAudio()

    stream = p.open(
            rate=RESPEAKER_RATE,
            format=p.get_format_from_width(RESPEAKER_WIDTH),
            channels=RESPEAKER_CHANNELS,
            input=True,
            input_device_index=RESPEAKER_INDEX,)
它以一个错误结束:

Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2048
Expression 'PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2719
Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2843
Traceback (most recent call last):
  File "demo_print.py", line 49, in <module>
    input_device_index=RESPEAKER_INDEX, )
  File "/usr/lib/python3/dist-packages/pyaudio.py", line 750, in open
    stream = Stream(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pyaudio.py", line 441, in __init__
    self._stream = pa.open(**arguments)
OSError: [Errno -9997] Invalid sample rate

表达式'paInvalidSampleRate'在'src/hostapi/alsa/pa_linux_alsa.c'中失败,行:2048
“src/hostapi/alsa/pa_linux_alsa.c”行中的表达式“paalstreamcomponent_InitialConfigure(&self->capture,inParams,self->primeBuffers,hwParamsCapture,&realSr)”失败
“src/hostapi/alsa/pa_linux_alsa.c”行中的表达式“paalstream_Configure(流、inputParameters、outputParameters、sampleRate、framesPerBuffer、&inputLatency、&outputLatency、&hostBufferSizeMode)”失败
回溯(最近一次呼叫最后一次):
文件“demo_print.py”,第49行,在
输入\设备\索引=应答器\索引,)
文件“/usr/lib/python3/dist packages/pyaudio.py”,第750行,打开
流=流(自,*args,**kwargs)
文件“/usr/lib/python3/dist packages/pyaudio.py”,第441行,在__
self.\u stream=pa.open(**参数)
OSError:[Errno-9997]采样率无效
我相信这取决于一些ALSA配置,可能在asound.conf文件中?我已经做了很多尝试,但仍然找不到解决方案。有人有什么想法吗

问候,, 皮奥特雷克