2013-02-15 83 views
6

我需要能夠以不同的速度播放MP3文件,而不會影響音高(或者在加速之後改變音高,無論如何), 此外,此轉換需要儘可能無縫。如何在不改變音高的情況下實時加速音樂播放?

很明顯,有些應用程序可以這樣做,但它似乎不可能與API一起使用,並且API只能改變音高和比率(除非我錯過了某些內容)。

有關如何實現這一點的任何想法? 任何可以幫助的API /第三方庫?

謝謝。

+1

試着參考[這個問題](http://stackoverflow.com/q/11260043/752320)。 – Geobits 2013-02-15 14:01:08

+0

您是否找到了實現此目的的方法? – 2013-07-17 10:11:24

+0

我們已經結束了使用第三方庫,寫入流,並使用AudioTrack從它讀取。 – Gal 2013-07-17 16:22:04

回答

1

有一種叫做Time Scale Modification的通用技術可以做到這一點。這裏有一個我沒有評估過的工具:http://sourceforge.net/projects/mffmtimescale/

如果您放大音頻的時間線,它看起來很像老式的心跳監視器 - 一個波峯和山谷的擺動模式。對於元音,模式是準靜止的,這大致意味着它是重複的,就像健康的心跳脈衝一樣。一個單獨的ahhhh元音可以在正常語音中重複3-7次。 TSM算法會刪除其中一些重複,並且需要使用過濾器通過剪切/連接不完全重複來引入工件。空的空間也可以減少,但需要注意不要刪除所有的空白空間 - 用英語來說,「足球」這個詞實際上在「腳」和「球」之間有差距(慢慢地大聲說出來)。 TSM也可以做相反的事情,在維權點抽空或增加音調週期重複元音。這一切都加起來相當複雜,有些語言依賴,需要大量的調整 - 對於大多數應用程序來說,這意味着你不想開發自己的。

相關問題