스레드가 병렬이 아닌 오디오를 연속적으로 재생하는 문제를 해결 하는지를보기 위해 스레드가 아닌 다중 처리로 2 개의 사운드를 동시에 재생해야합니다. 파이썬의 GIL (Global Interpreter Lock) 때문인 것으로 추측됩니다.파이썬에서 멀티 프로세싱과 동시에 2 개의 사운드를 재생하십시오.
2 일 전 a question를 추가했지만 내 설명이 복잡합니다. 다음은 간단한 버전입니다.
오디오가 들쭉날쭉 한 배열로 가져옵니다. 나는이 배열을하고 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)
알다시피, @ 루케, 나는 아주 비슷한 접근법을 시도했지만 단지 협력하고 싶지 않았지만 당신의 해결책은 그 일을 해냈습니다. 고맙습니다. –