不确定这不是骗局,但到目前为止我发现的帖子并没有解决我的问题。
不久前,我写了一篇(音乐)metronome for Ubuntu。节拍器用python3/Gtk
要重复播放节拍器(录制的声音样本),我使用subprocess.Popen()
播放声音,使用ogg123
作为cli工具:
subprocess.Popen(["ogg123", soundfile])
这很好用,我每分钟最多可以跑到240次。
我决定在Windows上重写项目(python3/tkinter/ttk
)。然而,我很难播放声音,在较高的时间重复节拍样本。下一个节拍根本不会启动而前一个节拍(显然)尚未完成,播放节拍样本。
有没有办法,在Windows上的python3
中,我可以在播放样本时开始播放下一个节拍?
目前,我正在使用winsound
:
winsound.Playsound()
如上所述,在循环中运行它。
答案 0 :(得分:1)
您可以使用pydub进行音频处理,包括重复播放。
这是一个例子。您可以使用pydub site.
中的示例进一步开发此内容from pydub import AudioSegment
from pydub.playback import play
n = 2
audio = AudioSegment.from_file("sound.wav") #your audio file
play(audio * n) #Play audio 2 times
将上面的n
更改为您需要的号码。