在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Pydub音樂文件格式轉換功能介紹

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-31 14:51 ? 次閱讀

Pydub是一個基于ffmpeg的Python音頻處理模塊,封裝了許多ffmpeg底層接口,因此用它來做音樂歌曲文件格式轉換會非常方便。

如果你閱讀過我們之前的文章:《剪輯音樂要很久?3行語句Python瞬間搞定》,你就知道 Pydub 有多么強大了。

今天給大家介紹它的音樂文件格式轉換功能,幾乎支持所有音樂音頻格式,非常牛逼。

1.安裝

安裝Pydub前需要先安裝 ffmpeg :

**(可選一) Mac ** (打開終端(Terminal), 用 homebrew 安裝):

brew install ffmpeg --with-libvorbis --with-sdl2 --with-theora

(可選二) Linux:

apt-get install ffmpeg libavcodec-extra

(可選三) Windows:

  1. 進入 http://ffmpeg.org/download.html#build-windows,點擊 windows 對應的圖標,進入下載界面點擊 download 下載按鈕。
  2. 解壓下載好的zip文件到指定目錄。
  3. 將解壓后的文件目錄中 bin 目錄(包含 ffmpeg.exe )添加進 path 環境變量中。

**(必須) **按照上述ffmpeg安裝步驟成功后就可以打開命令提示符(cmd)或終端(Terminal),安裝pydub:

pip install pydub

2.mp3轉wav或其他格式

將單個mp3音頻文件轉化為wav音頻格式:

from pydub import AudioSegment
def trans_mp3_to_wav(filepath):
    """
    將mp3文件轉化為wav格式
    Args:
        filepath (str): 文件路徑
    """
    song = AudioSegment.from_mp3(filepath)
    filename = filepath.split(".")[0]
    song.export(f"{filename}.wav", format="wav")

可以繼續封裝該函數,將單個mp3文件轉化為任意其他音樂音頻格式:

from pydub import AudioSegment
def trans_mp3_to_any_audio(filepath, audio_type):
    """
    將mp3文件轉化為任意音頻文件格式
    Args:
        filepath (str): 文件路徑
        audio_type(str): 文件格式
    """
    song = AudioSegment.from_mp3(filepath)
    filename = filepath.split(".")[0]
    song.export(f"{filename}.{audio_type}", format=f"{audio_type}")

如ogg格式:

trans_mp3_to_any_audio("Alone.mp3", "ogg")

只要是ffmpeg支持的音樂音頻格式,它都可以轉換,支持的格式長達幾十個,下面我簡單列一些:

wavavimp4flv
oggflacapemp2
aiffvocau

3.更加通用的轉換函數

剛剛是mp3轉任意音頻格式,我希望把它寫成任意音頻格式轉任意音頻格式:

from pydub import AudioSegment
def trans_any_audio_types(filepath, input_audio_type, output_audio_type):
    """
    將任意音頻文件格式轉化為任意音頻文件格式
    Args:
        filepath (str): 文件路徑
        input_audio_type(str): 輸入音頻文件格式
        output_audio_type(str): 輸出音頻文件格式
    """
    song = AudioSegment.from_file(filepath, input_audio_type)
    filename = filepath.split(".")[0]
    song.export(f"{filename}.{output_audio_type}", format=f"{output_audio_type}")

比如將ogg音樂音頻格式轉化為flv音樂音頻格式:

trans_any_audio_types("Alone.ogg", "ogg", "flv")

或者MP4格式,總之,一般你需要的格式它都能滿足。

trans_any_audio_types("Alone.ogg", "ogg", "mp4")

4.批量轉化音頻格式

現在,嘗試將一個文件夾下的所有非mp3音頻格式的文件轉化為mp3音頻格式:

def trans_all_file(files_path, target="mp3"):
    """
    批量轉化音頻音樂格式
    Args:
        files_path (str): 文件夾路徑
        target (str, optional): 目標音樂格式. Defaults to "mp3".
    """
    for filepath in os.listdir(files_path):
        # 路徑處理
        modpath = os.path.dirname(os.path.abspath(sys.argv[0]))
        datapath = os.path.join(modpath, files_path + filepath)
        # 分割為文件名字和后綴并載入文件
        input_audio = os.path.splitext(datapath)
        song = AudioSegment.from_file(datapath, input_audio[-1].split(".")[-1])
        # 導出
        song.export(f"{input_audio[0]}.{target}", format=target)

只要輸入文件夾名稱,即可全部轉化該文件夾下的音樂文件格式為mp3格式:

trans_all_file("F:push20200607music")

看了我們今天的教程,學會這招后,你再也不用擔心格式之間的轉化問題,通過使用** pydub**模塊你能輕易地解決這些問題。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8885

    瀏覽量

    152988
  • 音頻
    +關注

    關注

    29

    文章

    2995

    瀏覽量

    82824
  • 終端
    +關注

    關注

    1

    文章

    1181

    瀏覽量

    30513
  • 格式轉換
    +關注

    關注

    0

    文章

    8

    瀏覽量

    8283
收藏 人收藏

    評論

    相關推薦

    MP3 文件格式資料

    MP3 文件格式資料
    發表于 04-08 03:37 ?22次下載

    如何光繪輸出AutoCAD文件格式

    教你光繪輸出AutoCAD文件格式
    發表于 06-07 15:16 ?36次下載

    .mpp文件格式打開軟件下載

    .mpp文件格式打開
    發表于 07-07 13:14 ?2517次下載

    LabVIEW數據文件格式的視頻教程

    LabVIEW數據文件格式的視頻教程 LabVIEW數據文件格式之華山論
    發表于 03-26 12:16 ?113次下載

    數碼相機伴侶的文件格式

    數碼相機伴侶的文件格式              文件格式指的是數碼相機伴侶獨特的文件系統結構在
    發表于 12-23 10:05 ?929次閱讀

    電子書的文件格式詳細介紹

    電子書的文件格式詳細介紹
    發表于 12-23 10:50 ?6866次閱讀

    LabVIEW數據文件格式之華山論劍

    LabVIEW數據文件格式之華山論劍Labview介紹
    發表于 11-20 14:04 ?7次下載

    GIF圖形文件格式文檔

    GIF圖形文件格式文檔 GIF圖形文件格式文檔 GIF圖形文件格式文檔
    發表于 05-24 10:53 ?2次下載

    GIF文件格式詳解

    GIF文件格式詳解 GIF文件格式詳解 GIF文件格式詳解
    發表于 05-24 10:53 ?2次下載

    HEX與BIN文件格式轉換工具應用程序免費下載

    本文檔的主要內容詳細介紹的是HEX與BIN文件格式轉換工具應用程序免費下載。
    發表于 01-11 17:08 ?61次下載
    HEX與BIN<b class='flag-5'>文件格式</b><b class='flag-5'>轉換</b>工具應用程序免費下載

    MIDI文件格式的協議說明

    標準的MIDI文件格式就像奇異的獸。總體看來,它是那樣的讓你無法抗拒。當然,你怎樣看它無關緊要,可是用足夠多的描述符描述一段音樂并使它能夠重現,可不是很少的工作就可以完成的。然而,它雖然復雜,但是真正理解之后,MIDI文件格式
    發表于 05-14 08:00 ?3次下載
    MIDI<b class='flag-5'>文件格式</b>的協議說明

    將MacOLM文件轉換為OutlookPST文件格式的工具

    ? 將MacOLM文件轉換為OutlookPST文件格式的工具 SysTools OLM to PSTConverter軟件允許用戶一次性將項目從OLM文件遷移到OutlookPST,
    的頭像 發表于 06-16 10:56 ?3759次閱讀
    將MacOLM<b class='flag-5'>文件</b><b class='flag-5'>轉換</b>為OutlookPST<b class='flag-5'>文件格式</b>的工具

    Pydub:一個基于ffmpeg的Python音頻處理模塊

    Python瞬間搞定》 ,你就知道 Pydub 有多么強大了。 今天給大家介紹它的音樂文件格式轉換功能,幾乎支持所有
    的頭像 發表于 10-21 10:40 ?1878次閱讀

    常用對象文件格式

    電子發燒友網站提供《常用對象文件格式.pdf》資料免費下載
    發表于 10-15 09:25 ?0次下載
    常用對象<b class='flag-5'>文件格式</b>

    EPS文件格式如何轉換 EPS和SVG文件的區別

    EPS文件格式轉換 EPS(Encapsulated PostScript)是一種用于存儲矢量圖形的文件格式,最初由Adobe公司開發。由于EPS文件在打印時能夠保持極高的質量,并且廣
    的頭像 發表于 11-19 10:31 ?1698次閱讀
    主站蜘蛛池模板: 波多野吉衣一区二区三区在线观看 | 80s国产成年女人毛片 | 女bbbbxxxx毛片视频丶 | 国产成人啪午夜精品网站男同 | 都市激情亚洲 | 日本亚洲天堂网 | 日韩a一级欧美一级 | 狼人 成人 综合 亚洲 | 欧美在线观看一区二区三 | 97涩涩涩| 特级无码毛片免费视频尤物 | 道区二区三区四区 | 免费一级毛毛片 | 一个人看的www片免费高清视频 | 狠狠色伊人亚洲综合第8页 狠狠色依依成人婷婷九月 狠狠色影院 | 黄色日屁 | 亚洲不卡视频 | 欧美成人a视频 | 亚洲aaaa级特黄毛片 | 俺也来俺也去俺也射 | 久久综合九色综合97_ 久久久 | 久青草国产在线视频_久青草免 | 色多多视频成人影院 | 久久亚洲国产成人影院 | 国产精品亚洲色图 | 好大好紧好爽好湿润视频 | 寡妇影院首页亚洲图片 | 呦交小u女国产秘密入口 | 我想看三级特黄 | 三级在线网站 | 亚洲图片综合区另类图片 | 男人天堂久久 | 在线免费视频网站 | 色老头视频在线观看 | 日本在线观看永久免费网站 | 成人亚洲精品 | 免费网站日本 | 成人亚洲电影 | sss在线play | 91福利国产在线观看网站 | 又色又爽的视频 |