0
我在使用兩個以上的麥克風usig pyaudio時遇到了一些麻煩。我有一個Scarlett 18i20混音設備,我想連接幾個麥克風(最多8個),然後通過pyaudio捕捉音頻流。進口pyaudio後,我得到以下標準輸入設備:在python中錄製多個麥克風
In[34]:
s=pyaudio.PyAudio()
s.get_default_input_device_info()
Out[34]:
{'defaultHighInputLatency': 0.18,
'defaultHighOutputLatency': 0.18,
'defaultLowInputLatency': 0.09,
'defaultLowOutputLatency': 0.09,
'defaultSampleRate': 44100.0,
'hostApi': 0L,
'index': 1L,
'maxInputChannels': 18L,
'maxOutputChannels': 0L,
'name': u'Eingang (Scarlett 18i20 USB)',
'structVersion': 2L}
我可以使用下面的代碼輕鬆訪問前兩個麥克風:
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16,
channels=18,
rate=44100,
input=True,
frames_per_buffer=1024,
output_device_index=1)
for i in range(0, 1000):
data = stream.read(CHUNK)
frames.append(data)
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open('out.wav', 'wb')
wf.setnchannels(18)
wf.setsampwidth(p.get_sample_size(pyaudio.paInt16))
wf.setframerate(44100)
wf.writeframes(b''.join(frames))
wf.close()
我試圖執行該代碼爲所有不同的輸入設備有18個輸入通道。結果總是相同的,我得到一個包含18個通道的wav文件,但只有前兩個包含信號。其他頻道是空的。 Focusrite設備工作正常,我可以通過設備隨附的混音應用程序查看麥克風級別。
我真的很感激任何幫助......我不是一個編程專家,但我真的需要得到這個東西的工作。
謝謝!