Python實(shí)現(xiàn)音頻提取的示例詳解
前言
在日常生活中,有好聽的翻唱視頻或音樂視頻可以將其音頻分離保存到網(wǎng)易云或QQ音樂中隨時(shí)聽,然而大部分的音頻分離軟件需要下載和安裝,使用起來極其笨重,本文提供了一種提取音頻的簡(jiǎn)便方法。
提示:本文出現(xiàn)的代碼在Python環(huán)境下安裝完相應(yīng)的庫(kù)后可以直接使用
一、環(huán)境準(zhǔn)備以及編寫其核心代碼
1.安裝第三方庫(kù)moviepy
打開Cmd或者PowerShell輸入一下命令安裝庫(kù)
pip install moviepy
2.核心代碼
代碼如下(示例):可直接使用
import moviepy.editor as mp my_clip = mp.VideoFileClip("C:\\Users\\ME08I\\Desktop\\1.mp4")#ci此處為視頻的絕對(duì)路徑。 my_clip.audio.write_audiofile('./test.mp3')#此處為輸出的音頻名稱和格式
注意:Python中'\'符號(hào)會(huì)被識(shí)別為轉(zhuǎn)義字符,所以要使用'\\'
二、代碼改進(jìn)
提示:代碼中引入的庫(kù),除了moviepy庫(kù),其它的都是python3自帶的庫(kù),直接引入就好
1.引入tkinter
過后在啟動(dòng)腳本時(shí)可以直接使用窗口來選擇文件,而不需要修改代碼中的路徑,同時(shí)直接使選擇的視頻文件名為抽離的音頻文件名。
import os import moviepy.editor as mp import tkinter as tk from tkinter import filedialog #關(guān)閉黑窗口 root = tk.Tk() root.withdraw() def divest() -> None: """ 音頻分離核心功能 :return: None """ try: filePath = select_single_file() my_clip = mp.VideoFileClip(filePath) # 切割文件名和后綴名 fileName = os.path.basename(filePath).split(".")[0] if os.path.exists(f'{fileName}.mp3'): print("文件已存在于當(dāng)前目錄,請(qǐng)重新選擇!") divest() else: my_clip.audio.write_audiofile(f'{fileName}.mp3') except Exception as e: print(e) def select_single_file() -> str: """ 選擇一個(gè)文件 :return: 所選文件的絕對(duì)路徑 """ filePath = filedialog.askopenfilename() return filePath if __name__ == '__main__': divest()
2.實(shí)現(xiàn)效果
執(zhí)行腳本文件
選擇視頻文件
完成分離
生成的音頻文件在腳本的路徑下,路徑完全可以自己修改,比如將生成的音頻文件生成在與視頻文件相同的目錄下。
總結(jié)
現(xiàn)如今大部分的視頻剪輯軟件都有一鍵音頻分離的功能,但是,視頻軟件都極其的笨重,從打開到初始化都可能需要幾十秒,而使用Python的moviepy庫(kù)僅需3行代碼便可完成分離,改進(jìn)后的代碼在加入了抓錯(cuò)和窗口選擇后,完全可以當(dāng)作一款小工具使用,望收藏
以上就是Python實(shí)現(xiàn)音頻提取的示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python音頻提取的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
peewee創(chuàng)建連接前的前置操作wireshark抓包實(shí)現(xiàn)
這篇文章主要為大家介紹了peewee創(chuàng)建連接前的前置操作wireshark?抓包實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Python標(biāo)準(zhǔn)庫(kù)使用OrderedDict類的實(shí)例講解
今天小編就為大家分享一篇關(guān)于Python標(biāo)準(zhǔn)庫(kù)使用OrderedDict類的實(shí)例講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02Ubuntu22.04安裝PyTorch1.12.1 GPU版本全過程
這篇文章主要介紹了Ubuntu22.04安裝PyTorch1.12.1 GPU版本全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06python微信公眾號(hào)開發(fā)簡(jiǎn)單流程實(shí)現(xiàn)
這篇文章主要介紹了python微信公眾號(hào)開發(fā)簡(jiǎn)單流程實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Django QuerySet查詢集原理及代碼實(shí)例
這篇文章主要介紹了Django QuerySet查詢集原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06