2010-10-26 134 views
2

我正在尋找一種方法來調諧某首歌曲以達到某人的心率。 我有一首mp3或wav格式的歌曲,我想在播放時加快播放速度。 或者在循環中播放它,並在每個循環之間加速或減慢速度。 理想情況下,它將在Python中。 你知道一種方法嗎?在python中改變歌曲的bpm

謝謝。

BUSSIERE

+0

哇...你怎麼連得在MP3/WAV歌曲的BPM?這聽起來不平凡,除非你找到一個已經做到這一點的圖書館。也許如果它是在一個ID3標籤中,你可以做到這一點...除此之外,如果你的程序也在生成音樂,那麼我認爲這會容易得多。 – FrustratedWithFormsDesigner 2010-10-26 14:13:38

回答

4

有幾個不同的部分在這裏,每個都需要解決。它們都不是微不足道的,並且需要大量的信號處理知識,所以您可能需要尋找庫來處理這部分繁重的工作。

  1. 心臟跳動檢測。這超出了我的知識領域,但讓我們假設你可以以某種方式訪問​​它。

  2. 音樂節拍檢測有幾個庫可用於此,商業和開源。你可能想看看http://aubio.org/ - 它已經有python綁定可用。

  3. Tempo Change - 一旦您知道了目標BPM和當前BPM,就需要另一個庫來改變音軌的速度以匹配(不改變音高)。一些看是Rubber BandSoundTouch

谷歌搜索會發現這些操作(和其他部分,你需要,像PyMedia打開和回放的聲音等)