色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Pydub:一個(gè)基于ffmpeg的Python音頻處理模塊

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-21 10:40 ? 次閱讀

Pydub是一個(gè)基于ffmpeg的Python音頻處理模塊,封裝了許多ffmpeg底層接口,因此用它來(lái)做音樂(lè)歌曲文件格式轉(zhuǎn)換會(huì)非常方便。

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

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

1.安裝

安裝Pydub前需要先安裝 ffmpeg :

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

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

(可選二) Linux:

apt-get install ffmpeg libavcodec-extra

(可選三) Windows:

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

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

pip install pydub

2.mp3轉(zhuǎn)wav或其他格式

將單個(gè)mp3音頻文件轉(zhuǎn)化為wav音頻格式:

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

可以繼續(xù)封裝該函數(shù),將單個(gè)mp3文件轉(zhuǎn)化為任意其他音樂(lè)音頻格式:

from pydub import AudioSegment
def trans_mp3_to_any_audio(filepath, audio_type):
    """
    將mp3文件轉(zhuǎn)化為任意音頻文件格式
    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支持的音樂(lè)音頻格式,它都可以轉(zhuǎn)換,支持的格式長(zhǎng)達(dá)幾十個(gè),下面我簡(jiǎn)單列一些:

wavavimp4flv
oggflacapemp2
aiffvocau

3.更加通用的轉(zhuǎn)換函數(shù)

剛剛是mp3轉(zhuǎn)任意音頻格式,我希望把它寫成任意音頻格式轉(zhuǎn)任意音頻格式:

from pydub import AudioSegment
def trans_any_audio_types(filepath, input_audio_type, output_audio_type):
    """
    將任意音頻文件格式轉(zhuǎn)化為任意音頻文件格式
    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音樂(lè)音頻格式轉(zhuǎn)化為flv音樂(lè)音頻格式:

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

或者M(jìn)P4格式,總之,一般你需要的格式它都能滿足。

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

4.批量轉(zhuǎn)化音頻格式

現(xiàn)在,嘗試將一個(gè)文件夾下的所有非mp3音頻格式的文件轉(zhuǎn)化為mp3音頻格式:

def trans_all_file(files_path, target="mp3"):
    """
    批量轉(zhuǎn)化音頻音樂(lè)格式
    Args:
        files_path (str): 文件夾路徑
        target (str, optional): 目標(biāo)音樂(lè)格式. 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])
        # 導(dǎo)出
        song.export(f"{input_audio[0]}.{target}", format=target)

只要輸入文件夾名稱,即可全部轉(zhuǎn)化該文件夾下的音樂(lè)文件格式為mp3格式:

trans_all_file("F:push20200607music")

看了我們今天的教程,學(xué)會(huì)這招后,你再也不用擔(dān)心格式之間的轉(zhuǎn)化問(wèn)題,通過(guò)使用** pydub**模塊你能輕易地解決這些問(wèn)題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 終端
    +關(guān)注

    關(guān)注

    1

    文章

    1136

    瀏覽量

    29905
  • 音頻處理
    +關(guān)注

    關(guān)注

    0

    文章

    85

    瀏覽量

    17775
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84720
  • ffmpeg
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    7403
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何移植FFmpeg

    ?FFmpeg款專門用于處理數(shù)字音頻和視頻,支持錄制、轉(zhuǎn)換,并能將這些媒體內(nèi)容轉(zhuǎn)化為實(shí)時(shí)流數(shù)據(jù)的開源計(jì)算機(jī)程序。它遵循LGPL或GPL許可協(xié)議,為用戶提供了涵蓋音視頻錄制、格式轉(zhuǎn)換
    的頭像 發(fā)表于 06-07 15:28 ?1680次閱讀
    如何移植<b class='flag-5'>FFmpeg</b>

    K510能做哪些音頻處理?支持了什么python音頻處理庫(kù)?

    麻煩問(wèn)下,K510 能做哪些音頻處理?支持了什么python 音頻處理庫(kù)?我們想用K510來(lái)做
    發(fā)表于 09-14 07:32

    介紹FFmpeg是什么?與關(guān)于FFmpeg的問(wèn)題回答

    FFmpeg誕生于十幾年前,最初是作為個(gè)MPlayer播放器的個(gè)子項(xiàng)目出現(xiàn)。因?yàn)楫?dāng)時(shí)的播放器有需要支持各種各樣解碼的需求, 其中有
    的頭像 發(fā)表于 07-28 09:10 ?2.4w次閱讀
    介紹<b class='flag-5'>FFmpeg</b>是什么?與關(guān)于<b class='flag-5'>FFmpeg</b>的問(wèn)題回答

    Julia 和Python一個(gè)更強(qiáng)

    Julia和Python之間的個(gè)關(guān)鍵區(qū)別是處理特定問(wèn)題的方式。
    發(fā)表于 12-17 11:49 ?2203次閱讀

    關(guān)于FFmpeg深度學(xué)習(xí)相關(guān)內(nèi)容的技術(shù)分享

    首先,為什么需要FFmpeg深度學(xué)習(xí)模塊FFmpeg對(duì)輸入的碼流,首先進(jìn)行解碼,解碼后得到一個(gè)個(gè)的視頻幀,以及相應(yīng)的音頻數(shù)據(jù)等。經(jīng)過(guò)
    的頭像 發(fā)表于 09-04 10:52 ?1854次閱讀
    關(guān)于<b class='flag-5'>FFmpeg</b>深度學(xué)習(xí)相關(guān)內(nèi)容的技術(shù)分享

    個(gè)Python模塊Addit屬性設(shè)置

    Addit 是個(gè)Python模塊,除了提供標(biāo)準(zhǔn)的字典語(yǔ)法外,Addit 生成的字典的值既可以使用屬性來(lái)獲取,也可以使用屬性進(jìn)行設(shè)置。 這意味著你 不用 再寫這樣的字典了: body
    的頭像 發(fā)表于 11-17 10:15 ?1401次閱讀

    在QT上構(gòu)建ffmpeg環(huán)境實(shí)現(xiàn)音頻的解碼

    在QT上構(gòu)建ffmpeg環(huán)境,實(shí)現(xiàn)音頻的解碼
    發(fā)表于 06-09 09:05 ?1164次閱讀
    在QT上構(gòu)建<b class='flag-5'>ffmpeg</b>環(huán)境實(shí)現(xiàn)<b class='flag-5'>音頻</b>的解碼

    關(guān)于python中非常實(shí)用的個(gè)圖像處理庫(kù) 1

    PIL:Python Imaging Library,是Python環(huán)境下最受歡迎的圖像處理庫(kù),木有之。然而,在Python2.7之后不再
    的頭像 發(fā)表于 02-08 17:18 ?1345次閱讀

    關(guān)于python中非常實(shí)用的個(gè)圖像處理庫(kù) 2

    PIL:Python Imaging Library,是Python環(huán)境下最受歡迎的圖像處理庫(kù),木有之。然而,在Python2.7之后不再
    的頭像 發(fā)表于 02-08 17:18 ?1100次閱讀

    Python-模塊與包

    模塊Python 程序架構(gòu)的個(gè)核心概念
    的頭像 發(fā)表于 02-16 14:55 ?779次閱讀
    <b class='flag-5'>Python</b>-<b class='flag-5'>模塊</b>與包

    Hello FFmpeg

    ffmpeg個(gè)跨平臺(tái)的音視頻錄制、轉(zhuǎn)換、編解碼的庫(kù)。使用C語(yǔ)言編寫而成,可在主流移動(dòng)與PC平臺(tái)上使用。ffmpeg不僅提供可嵌入到App中的庫(kù),還提供了可以直接使用的工具。
    的頭像 發(fā)表于 03-03 09:52 ?625次閱讀
    Hello <b class='flag-5'>FFmpeg</b>

    優(yōu)化指南-FFmpeg構(gòu)建和優(yōu)化

    FFmpeg個(gè)免費(fèi)開源的完整跨平臺(tái)解決方案,用于記錄、轉(zhuǎn)換和流傳輸音頻和視頻。
    的頭像 發(fā)表于 06-15 09:04 ?1377次閱讀

    Python 梯度計(jì)算模塊如何實(shí)現(xiàn)個(gè)邏輯回歸模型

    AutoGrad 是個(gè)老少皆宜的 Python 梯度計(jì)算模塊。 對(duì)于初高中生而言,它可以用來(lái)輕易計(jì)算條曲線在任意
    的頭像 發(fā)表于 10-21 11:01 ?504次閱讀
    <b class='flag-5'>Python</b> 梯度計(jì)算<b class='flag-5'>模塊</b>如何實(shí)現(xiàn)<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>邏輯回歸模型

    Pydub音樂(lè)文件格式轉(zhuǎn)換功能介紹

    Pydub個(gè)基于ffmpegPython音頻處理
    的頭像 發(fā)表于 10-31 14:51 ?831次閱讀

    python如何導(dǎo)入模塊

    Python種強(qiáng)大的編程語(yǔ)言,它支持模塊化編程,使得開發(fā)者可以將代碼分解為可重用且獨(dú)立的模塊模塊
    的頭像 發(fā)表于 11-22 14:46 ?962次閱讀
    主站蜘蛛池模板: 丰满五十老女人性视频| 国产在线观看www鲁啊鲁免费| 伊人久99久女女视频精品免| 亚洲一级毛片免费在线观看| 一本道本线中文无码| 曰本真人00XX动太图| 99国产精品久久人妻| YELLOW视频在线观看免费版高清| 操中国老太太| 国产精品久久久久AV麻豆| 国外经典三级| 久久这里只有精品视频9| 男人把女人桶到高潮嗷嗷叫| 轻点灬大ji巴太粗太双性高h| 色多多污网站在线观看| 亚洲AV 无码AV 中文字幕| 伊人久久电影院| 99久久亚洲综合精品| 俄罗斯人xxx| 国产综合18久久久久久软件| 久久性色AV亚洲电影无码| 欧美人禽Zozo动人物杂交| 少妇一夜未归暴露妓女身份| 亚洲黄色在线视频| 最近免费中文字幕MV在线视频3| 99久久精品费精品国产| 国产成人精品免费视频软件| 狠狠色综合久久丁香婷婷| 免费国产福利| 宿舍BL 纯肉各种PLAY H| 亚洲色图在线观看视频| 91伊人久久大香线蕉| 国产成人高清精品免费5388密| 黑人巨大交牲老太| 男人吃奶摸下弄进去好爽| 窝窝色资源站| 在线免费视频a| 贵妇局长的蕾丝乳罩| 久久99re66热这里只有精品| 青草久久影院| 野花香在线观看免费高清播放视频|