4

我正在编写一个应用程序来模拟火车声音。对于火车的每种速度,我都得到了非常短(0.2s)的音频样本,我需要能够同时循环播放多达 20 个(每辆火车一个)而没有间隙。音频样本(火车速度)的无缝变化也是必须的。我一直在寻找可能的 python-audio-solutions,包括

  • PyAudio
  • PyMedia
  • pyaudiere

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

PS:我确实已经尝试过gstreamer,但由于 1.0 版本还没有发布,我不知道如何让无缝播放与 pygi 一起工作,我认为可能有更好的选择。我也试过pygame,但它似乎仅限于 8 个音频通道??

4

1 回答 1

0

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

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

与此类似的另一个解决方案是管理您自己的延迟。您可以手动排队和/或混合您的小声音文件,例如 0.5 -1 秒的大小。这将大大降低对“实时性”的要求,并允许您在“速度”之间进行一些非常酷的转换

我不知道你能应付什么样的延迟,但如果我们谈论的是火车速度,我猜它们不会瞬间改变——因此 500 毫秒到几秒的延迟很可能是可以接受的。

于 2015-07-15T17:31:28.860 回答