如何解决如何在PyAudio中更改可用的采样率?
我正在使用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 举报,一经查实,本站将立刻删除。