问题描述
我正在使用ReSpeaker Mic Array v2.0进行一个项目,这是一个PCB板,其中有4个麦克风连接到Jetson Nano板上。
我设法使用以下命令以48 kHz的速率(该ReSpeaker的最大值)录制音频:
arecord -D plughw:ArrayUAC10 -c 6 -r 48000 -f S32_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
我认为这取决于某些ALSA配置,也许在asound.conf文件中?我已经做了很多尝试,但是仍然找不到解决方案。有人可能有任何想法吗?
关于, 皮奥特里克
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)