我正在寻找一种使歌曲与某人的心率相协调的方法。我有一首 mp3 或 wav 格式的歌曲,我想在播放时加快它的速度。或者循环播放它,在每个循环之间加速或减慢它。理想情况下,它将在 python 中。你知道这样做的方法吗?
问候和感谢。
比西埃
我正在寻找一种使歌曲与某人的心率相协调的方法。我有一首 mp3 或 wav 格式的歌曲,我想在播放时加快它的速度。或者循环播放它,在每个循环之间加速或减慢它。理想情况下,它将在 python 中。你知道这样做的方法吗?
问候和感谢。
比西埃
这里有几个不同的部分,每一个都需要解决。它们都不是微不足道的,并且需要大量的信号处理知识,因此您可能需要寻找库来处理这部分繁重的工作。
心跳检测。这超出了我的知识范围,但我们假设您可以通过某种方式访问它。
音乐节拍检测有几个可用的库,包括商业库和开源库。您可能想查看http://aubio.org/——它已经提供了 python 绑定。
速度变化——一旦你知道目标 BPM 和当前 BPM,你需要另一个库来改变你的音轨的速度以匹配(不改变音高)。一些值得一看的是橡皮筋和SoundTouch
谷歌搜索会找到用于这些操作的其他库(以及您需要的其他部分,例如 PyMedia 来打开和播放声音等)
也许一个软件可以让你使用另一个输入来控制一些正在进行的音频的节奏是“Puredata”——
它是一个非常完整但复杂的基于节点的软件,旨在处理来自可视节点连接的各种多媒体转换 - 但它也可以通过 Python API 进行编程
http://crca.ucsd.edu/~msp/Pd_documentation/index.htm
Python绑定: