我有一个保存为 .wav 文件的各种长度的声音样本列表。我想播放第一个样本并让它永远循环。作为事件或状态更改后的某个时间点,我希望第二个样本开始播放第一个样本。然后两个样本将永远循环。
在下一个事件之后,第三个样本将被添加到混合中。所有三个样本都将永远循环。对于所有样本,这将继续。
我已成功同时播放多首曲目,但无法将新曲目添加到以前循环播放的曲目中。我尝试过 PyAudio 和 PyDub。
有没有办法让一个连续的循环流添加额外的轨道?我有点卡住了。先感谢您。
from pydub import AudioSegment
from pydub.playback import play
audio1 = AudioSegment.from_file("zipper.wav")
audio2 = AudioSegment.from_file("jar.wav")
audio3 = AudioSegment.from_file("dribble.wav")
mixed = audio1.overlay(audio2)
mixed1 = mixed.overlay(audio3)
mixed1.export("mixed.wav", format='wav')
play(mixed1)
编辑#1
随着不断的实验,pydub 似乎是一个阻塞函数,所以我将无法使用它,因为我会将这种音频混合与热像仪分析与 OpenCV 和 LED 灯矩阵结合起来。
不知道从这里去哪里。
编辑 #2 我在这个链接上发现了一些非阻塞的 pyaudio 代码。它允许我无限循环播放一个 .wav 文件。我试图添加第二个玩家,但它抛出了一个错误。
杨__羊羊
米琪卡哇伊
随时随地看视频慕课网APP
相关分类