【发布时间】:2014-05-03 09:49:13
【问题描述】:
我能找到的所有例子都是单声道的,CHANNELS = 1。如何使用 PyAudio 中的回调方法读取立体声或多声道输入并将其转换为 2D NumPy 数组或多个 1D 数组?
对于单声道输入,这样的工作:
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 数组的长度是原来的两倍,所以我假设通道是交错的,但我找不到这方面的文档。
【问题讨论】:
-
我正在尝试编写一个数组并使用 PyAudio 播放它。对此有什么想法吗?
-
@SolessChong 我在下面的答案中添加了函数