我有两个numpy float32数组:
a = numpy.array(c)
b = numpy.array(d)
这两个代表两个单声道音频流。
我想使用 scipy 的 wavwrite 将它们写入立体声 WAV 文件:
scipy.io.wavfile.write(wav_name, sampling_rate, samples)
如何将两个阵列连接成一个samples
2-D 数组,并将它们交错以在输出时获得适当的立体声 WAV?
只需确保a
和b
是列向量,并将它们水平堆叠:
result = np.hstack((a.reshape(-1, 1), b.reshape(-1,1)))
如果您知道您的数组是 1D 的,另一种选择是垂直堆叠并转置:
result = np.vstack((a, b)).T
我会使用 numpy.dstack:
left = numpy.array(left_data)
right= numpy.array(right_data)
stereo_data=numpy.dstack((left,right))[0]
scipy.io.wavfile.write(stereo_data)