在python中播放歌曲时更改歌曲的bpm

时间:2010-10-26 13:56:55

标签: python audio controls audio-processing

我正在寻找一种方法来调整某首歌的心率。 我有一首mp3或wav格式的歌曲,我希望在播放时加快它的速度。 或者在循环中播放并在每个循环之间加速或减慢它。 理想情况下它将在python中。 你知道这样做的方法吗?

问候并感谢。

BUSSIERE

2 个答案:

答案 0 :(得分:4)

这里有几个不同的部分,每个部分都需要解决。它们都不是微不足道的,需要大量的信号处理知识,因此您可能希望寻找库来处理繁重的部分。

  1. 心跳检测。这不在我的知识领域之内,但我们假设您可以以某种方式访问​​它。

  2. 音乐节拍检测有几个可用的库,包括商业和开源。你可能想看看http://aubio.org/ - 它已经有了python绑定。

  3. 速度更改 - 了解目标BPM和当前BPM后,您需要另一个可用于更改音轨速度以匹配的库(无需更改沥青)。需要注意的是Rubber BandSoundTouch

  4. 谷歌搜索将找到其他用于这些操作的库(以及您需要的其他部分,比如打开和播放声音的PyMedia等)。

答案 1 :(得分:2)

也许一个软件可以让你用另一个输入来控制一些正在进行的音频的节奏是“Puredata” -

它是一个非常完整的,虽然复杂的基于节点的软件,旨在处理来自可视节点连接的各种多变量 - 但它也可以通过Python API进行编程

http://crca.ucsd.edu/~msp/Pd_documentation/index.htm

Python绑定:

http://mccormick.cx/projects/PyPd/