我需要使用多处理而不是线程同时播放 2 个声音,以查看它是否解决了线程按顺序而不是并行播放音频的问题。我猜这是由于python中的全局解释器锁(GIL)。
我在 2 天前添加了一个问题,但我的描述过于复杂。这是简单的版本:
音频被导入为 numpy 数组。我使用这个数组并使用 scikits.audiolab 模块播放它:
import scikits.audiolab as audiolab
# This is how I import my wav file. "frames" is the numpy array, "fs" = sampling
# frequency, "encoder" = quantizing at 16 bits
frames, fs, encoder = audiolab.wavread('audio.wav')
# This is how I play my wav file. audiolab plays the frames array at a frequency of
# 44100 Hz
audiolab.play(frames, fs=44100)
很好,但这就是我需要帮助的:使用多处理同时播放 2 个文件。
frames1, fs1, encoder1 = audiolab.wavread('audio1.wav')
frames2, fs2, encoder2 = audiolab.wavread('audio2.wav')
audiolab.play(frames1, fs=44100)
audiolab.play(frames2, fs=44100)