Python 如何处理来自两个麦克风的数据?

Python 如何处理来自两个麦克风的数据?,python,raspberry-pi,record,microphone,pyaudio,Python,Raspberry Pi,Record,Microphone,Pyaudio,我试图用两个USB麦克风制作一个简单的波束形成系统,并成功地用计算机连接了这两个系统。这是我的密码 import numpy as np from scipy.io import wavfile import time import pyaudio import matplotlib.pyplot as plt import wave p = pyaudio.PyAudio() FORMAT = pyaudio.paInt16 def callback1(in_data, frame_cou

我试图用两个USB麦克风制作一个简单的波束形成系统,并成功地用计算机连接了这两个系统。这是我的密码

import numpy as np
from scipy.io import wavfile
import time
import pyaudio
import matplotlib.pyplot as plt
import wave

p = pyaudio.PyAudio()
FORMAT = pyaudio.paInt16

def callback1(in_data, frame_count, time_info, flag):
   input_wave1 = np.fromstring(in_data, 'Float32')
   return (input_wave1,pyaudio.paContinue)

def callback2(in_data, frame_count, time_info, flag):
   input_wave2 = np.fromstring(in_data, 'Float32')
   return (input_wave2,pyaudio.paContinue)

CHANNELS = 1
RATE = 22050
buffer_size = 200

stream1 = p.open(format=FORMAT,
               channels=CHANNELS,
               frames_per_buffer = buffer_size,
               rate=RATE,
               output=True,
               input=True,
               input_device_index = 1,
               stream_callback = callback1)

stream2 = p.open(format = FORMAT,
               channels = CHANNELS,
               frames_per_buffer = buffer_size,
               rate = RATE,
               output=True,
               input = True,
               input_device_index = 2,
               stream_callback = callback2)

现在,我的问题是,我无法使用两个数据(输入波1,输入波2)计算波束形成声音。有没有可能只需要几次编辑,或者有其他方法?我的目标是从raspberry pi运行这段代码。很抱歉我的英语很差。

如何使用单个源计算波束形成?这似乎是一个没有太多上下文的特定领域的问题。您是否对pyaudio API有特殊问题,或者在实现数值算法方面有困难?谢谢您的评论。是的,虽然我有两个麦克风,但它是一个单一的来源,因为我使用两个回调函数。我的问题很简单,我想从每个回调函数中添加两个数据input_wave1和input_wave2,并发出结果。但是,我认为不可能添加它们,因为这两个流在代码中有自己的回调函数。我应该创建一个新函数来联合回调函数还是更改回调函数?