Python音频库,用于快速,无间隙地循环许多短音轨

时间:2012-09-21 14:34:39

标签: python audio loops playback

我正在编写一个模拟火车声音的应用程序。我为列车的每个速度都获得了非常短(0.2s)的音频样本,我需要能够循环到其中的20个(每个列车一个)同时没有间隙时间即可。 无差别地改变音频样本(列车速度)也是必须的。 我一直在寻找可能的python-audio-solutions,包括

  • PyAudio
  • PyMedia
  • pyaudiere

但我不确定哪一个最适合我的用例,所以我非常感谢任何建议和经验!

PS:我已经尝试过 gstreamer ,但由于1.0版本还没有,我无法弄清楚如何让无间隙播放与pygi一起使用,我认为可能有更好的选择。我也试过 pygame ,但似乎只限于8个音频频道?

1 个答案:

答案 0 :(得分:0)

我正在使用PyAudio做很多事情,并对它很满意。如果它可以做到这一点,我不知道,但我认为它可以。

一种解决方案是手动输入声音缓冲区并控制/设置所需的延迟。我做到了这一点,效果很好。如果您的延迟足够高,它将起作用。

与此类似的另一种解决方案是管理自己的延迟。您可以手动排队或混合小型声音文件,例如尺寸为0.5-1秒。这将大大降低对“实时性”的要求,并让你在“速度”之间做一些非常酷的过渡

我不知道您可以应对什么样的延迟,但如果我们谈论列车速度,我猜他们不会瞬间改变 - 因此最有可能接受500毫秒到几秒的延迟。