我有两个numpy float32 arrays:
a = numpy.array(c)
b = numpy.array(d)
这两个代表两个单声道音频流。
我想使用scipy wavwrite将它们写入立体声WAV文件:
scipy.io.wavfile.write(wav_name, sampling_rate, samples)
如何将两个阵列连接成一个samples
二维数组,并将它们交错以便在输出端获得正确的立体声WAV?
答案 0 :(得分:2)
只需确保a
和b
是列向量,并将它们水平堆叠:
result = np.hstack((a.reshape(-1, 1), b.reshape(-1,1)))
另一种选择,如果你知道你的数组是1D,那就是垂直堆叠和转置:
result = np.vstack((a, b)).T
答案 1 :(得分:-1)
我会使用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)