我能找到的所有例子都是單聲道的,有CHANNELS = 1
。如何使用PyAudio中的回調方法讀取立體聲或多聲道輸入,並將其轉換爲2D NumPy陣列或多個1D陣列?將多聲道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
陣列的兩倍長,所以我假定信道交錯或東西,但我可以」找到這個文件。
我想寫一個數組並使用PyAudio播放它。對此有何想法? – SolessChong
@SolessChong我在下面的回答中添加了功能 – endolith