2011-03-15 66 views
1

我正在爲某個網站工作,他們邀請他們的音樂藝術家提交他們的MP3以供他人在自己的作品中提取和使用 - 價格當然是這樣。爲了防止藝人追蹤被不擇手段的個人剽竊 - 我的計劃是循環播放「預覽」版本下面的聲樂曲目並使其無用......然後爲支付權利的人提供乾淨的版本。在linux命令行中將循環軌道嵌入到MP3中?

我使用在Linux服務器上運行的PHP & - 看起來像純粹的PHP解決方案並不是一條路,首選項是使用命令行程序的exec()來混合軌道上傳點。我需要快速可靠的東西。

不幸的是,我不知道任何這樣的工具,我的搜索已經空白。任何人都可以建議我可以找到什麼地方?它不一定是免費的,但它必須是合理的 - 更重要的是 - 通過PHP工作很簡單。

+0

SoX沒有被許可使用MP3文件,即使在商業網站上使用它也不合法。有誰知道任何類似的,但許可的替代品? – Codecraft 2011-03-23 16:55:10

回答

2

你可以使用madplay將MP3解壓到raw(16bit簽名)。然後混合這兩個文件,讀取樣本並對它們進行求和。將結果寫入原始文件並使用LAME重新打包成M​​P3。 你可以用C或PHP來實現它。

混合樣本非常簡單:sample = sample1 + sample2;只關心飽和度。

如果你不覺得這樣做的代碼,你可以使用SOX http://sox.sourceforge.net/它是基於命令行的聲音處理程序。它應該能夠混合音軌。

+0

它看起來像SoX會完美地完成這個技巧。我在我的開發機器上運行窗口,它不會在沒有做任何事情的情況下直接與MP3播放,我沒有時間,耐心或知識去做。看起來我會直接嘗試將它安裝在現場機器上,看看會發生什麼! :-) – Codecraft 2011-03-15 18:43:20

+0

在Windows上,您可以使用madplay或mpeg321將mp3轉換爲wav,使用sox來混合文件,並使用LAME重新打包。所以你不需要重新編譯sox來添加MP3支持 – 2011-03-16 08:28:08

+0

我很感謝你的幫助,Julien。我將在接下來的幾天/幾周裏進一步研究這個問題..現在我有一個很好的開始! – Codecraft 2011-03-16 14:48:39