Tutorial praktikal Python mengenai penukaran kumpulan berbilang format muzik

WBOY
Lepaskan: 2023-04-12 12:16:14
ke hadapan
1795 orang telah melayarinya

Tutorial praktikal Python mengenai penukaran kumpulan berbilang format muzik

Pydub ialah modul pemprosesan audio Python berdasarkan ffmpeg Ia merangkumi banyak antara muka asas ffmpeg, jadi sangat mudah untuk menggunakannya untuk menukar format fail muzik dan lagu.

Jika anda telah membaca artikel kami sebelum ini, anda tahu betapa hebatnya Pydub.

Hari ini saya akan memperkenalkan kepada anda fungsi penukaran format fail muziknya Ia menyokong hampir semua format audio muzik, yang sangat hebat.

1. Pasang

Sebelum memasang Pydub, anda perlu memasang ffmpeg terlebih dahulu:

(pilihan) Mac (Buka Terminal dan pasang dengan homebrew):

brew install ffmpeg --with-libvorbis --with-sdl2 --with-theora
Salin selepas log masuk

(dua pilihan) Linux:

apt-get install ffmpeg libavcodec-extra
Salin selepas log masuk

(tiga pilihan ) Windows:

1. Pergi ke http://ffmpeg.org/download.html#build-windows, klik ikon yang sepadan dengan tetingkap, masukkan antara muka muat turun dan klik butang muat turun.

2. Nyahzip fail zip yang dimuat turun ke direktori yang ditentukan.

3. Tambahkan direktori bin (termasuk ffmpeg.exe) dalam direktori fail yang dinyahmampat ke pembolehubah persekitaran laluan.

(diperlukan) Selepas berjaya mengikuti langkah pemasangan ffmpeg di atas, anda boleh membuka command prompt (cmd) atau terminal (Terminal) dan memasang pydub:

pip install pydub
Salin selepas log masuk

2 . mp3 kepada wav atau format lain

Tukar satu fail audio mp3 kepada format audio 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")
Salin selepas log masuk

Anda boleh terus merangkum fungsi ini untuk menukar satu mp3 fail ke mana-mana format audio Muzik lain:

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}")
Salin selepas log masuk

Seperti format ogg:

trans_mp3_to_any_audio("Alone.mp3", "ogg")
Salin selepas log masuk

Selagi format audio muzik yang disokong oleh ffmpeg, ia boleh menukar itu, dan format yang disokong ialah berpuluh-puluh Di sini saya akan menyenaraikan secara ringkas beberapa:

wav

avi

mp4

flv

ogg

flac

beruk

mp2

aiff

voc

au

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}")
Salin selepas log masuk

比如将ogg音乐音频格式转化为flv音乐音频格式:

trans_any_audio_types("Alone.ogg", "ogg", "flv")
Salin selepas log masuk

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

trans_any_audio_types("Alone.ogg", "ogg", "mp4")
Salin selepas log masuk

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)
Salin selepas log masuk

只要输入文件夹名称,即可全部转化该文件夹下的音乐文件格式为mp3格式:

trans_all_file("F:\push\20200607\music\")
Salin selepas log masuk

看了我们今天的教程,学会这招后,你再也不用担心格式之间的转化问题,通过使用 pydub模块你能轻易地解决这些问题。如果本篇文章对你有帮助,请在文末点个赞在看支持一下哦。

Atas ialah kandungan terperinci Tutorial praktikal Python mengenai penukaran kumpulan berbilang format muzik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan