Конвертировать многоканальный PyAudio в массив NumPy
Все примеры, которые я могу найти, являются моно, сCHANNELS = 1
, Как вы читаете стереофонический или многоканальный ввод с помощью метода обратного вызова в PyAudio и конвертируете его в двумерный массив NumPy или несколько одномерных массивов?
Для монофонического ввода работает примерно так:
def callback(in_data, frame_count, time_info, status):
global result
global result_waiting
if in_data:
result = np.fromstring(in_data, dtype=np.float32)
result_waiting = True
else:
print('no input')
return None, pyaudio.paContinue
stream = p.open(format=pyaudio.paFloat32,
channels=1,
rate=fs,
output=False,
input=True,
frames_per_buffer=fs,
stream_callback=callback)
Но не работает для стереовхода,result
массив в два раза длиннее, поэтому я предполагаю, что каналы чередуются или что-то еще, но я не могу найти документацию для этого.