簡體   English   中英

Python分割mp3頻道

[英]Python split mp3 channel

我想在Python中分離mp3文件的通道,並將其保存在其他兩個文件中。 有人知道這個的圖書館嗎? 提前致謝。

我假設您想無損地分割頻道,而無需解碼MP3並將其重新編碼-否則,您根本不會提到MP3,並且很容易會找到許多工具,例如Audacity

MP3幀有4種通道模式-這意味着MP3文件有4種類型:簡單立體聲,聯合立體聲,雙通道,單聲道。 聯合立體聲文件不可分割而不會丟失。 單聲道文件不需要拆分。 其余的:立體聲和雙聲道,占所有MP3文件的不到0.1%,從技術上講,它可以分為2個文件,每個文件用於一個聲道,而不會丟失。 但是,Internet上沒有任何工具可以做到這一點-既沒有命令行工具也沒有GUI工具,因為很少有人需要該功能。

也沒有適合您的python庫。 大多數庫將MP3文件提取為通用音頻,解碼后即可對其進行處理。 pymad是唯一專用於MP3文件的文件,它可以判斷文件是否使用4種通道模式中的任何一種,但不提供不解碼就提取通道的功能。 如果編寫新工具,則必須處理原始MP3文件或為其生成庫。

而且為它編寫工具或庫也不容易。 它是一個具有2個通道的流,而不是在幀級別上交錯的兩個流。 您不能簡單地處理MP3幀,丟棄某些幀,保留其他幀並設法以這種方式提取頻道。 這是專業人士的任務,也許最好發生在解碼器項目(如lamelibmad )中,而不是在文件處理項目(如mp3info或python eyeD3 )中。 換句話說,此功能可能是用C而不是python編寫的。


實施注意:

因此,構建這種工具的任務非常適合計算機科學C編程語言課程項目:1.需要花費很多時間; 2.它需要從C編程課程中學到的所有技能; 3.容易出錯; 4.它可能建立在其他項目的工作之上,以適應現有工作。 5.是一項艱巨的努力,以前沒有人做過,因此非常有益。6.也許可以用300條困難的代碼行來完成,而不是Visual腫的簡單Visual Basic代碼,因此是對謙虛和質量的良好追求; 7.最后:沒有人急着等待可行的實施。

所有條件都非常適合C編程課程項目。

實施說明2:

一些位速率僅在單聲道模式(80kbps)下才可能,而某些位速率僅在立體聲模式下(例如320kpbs)是可能的。 幸運的是,這在此任務中不會出現問題,因為所有雙mp3比特率都可以映射為合適的單mp3比特率,但反之則不行!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM