怎么用python制作音频(Python玩转mp3与wav格式批量互转及常见音频样本用法)

pydub基于FFmpeg或libav处理音视频的python库,所以需要先安装FFmpeg环境,今天小编就来聊一聊关于怎么用python制作音频?接下来我们就一起去研究一下吧!

怎么用python制作音频(Python玩转mp3与wav格式批量互转及常见音频样本用法)

怎么用python制作音频

pydub简介

pydub基于FFmpeg或libav处理音视频的python库,所以需要先安装FFmpeg环境

FFmpeg环境搭建请见我的上篇文章 Linux下安装FFmpeg的详细教程

pydub 类库 github地址 https://github.com/jiaaro/pydub

pydub 类库安装:

pip3 install pydub

wav音频文件批量转为mp3文件

#!/usr/bin/env python # coding:utf-8 import os import glob from pydub import AudioSegment extension_list = ['./*.wav', './*.WAV'] def exportMP3(audio_dir): os.chdir(audio_dir) for extension in extension_list: for wav_file in glob.glob(extension): try: mp3_filename = os.path.splitext(os.path.basename(wav_file))[0] '.mp3' AudioSegment.from_wav(wav_file).export(mp3_filename, format='mp3') if os.path.exists(wav_file): os.remove(wav_file) except Exception as e: print(e) continue if __name__ == '__main__': exportMP3('D:/wav/')

mp3音频文件批量转为wav文件

#!/usr/bin/env python # coding:utf-8 import os import glob from pydub import AudioSegment extension_list = ['./*.mp3', './*.MP3'] def exportWAV(audio_dir): os.chdir(audio_dir) for extension in extension_list: for mp3_file in glob.glob(extension): try: wav_filename = os.path.splitext(os.path.basename(mp3_file))[0] '.wav' AudioSegment.from_mp3(mp3_file).export(wav_filename, format='wav') if os.path.exists(mp3_file): os.remove(mp3_file) except Exception as e: print(e) continue if __name__ == '__main__': exportWAV('D:/mp3/')

pydub 类库常见用法

1、读取文件

audioFile = AudioSegment.from_file('/path/to/file')

2、导出文件

audioFile.export("tmp.wav", format="WAV")

3、查看音频采样率信息

audioFile.frame_rate

4、查看音频样本通道数据(单通道/双通道)

audioFile.channels

5、查看音频样本采样点个数

audioFile.frame_count()

6、查看音频样本持续时间(单位s)

audioFile.duration_seconds

7、查看音频样本宽度位深

bothAudio.sample_width

8、生成包含文件头信息的空的音频文件

# sample_width 每个采样点的位深,2对应 16bit emptyAudio = AudioSegment(data=b'', sample_width=2, frame_rate=16000, channels=1)

9、生成特定帧长和采样率的音频文件

# duration 的单位是ms silenceAudio = AudioSegment.silent(duration=1000, frame_rate=16000)

10、音频连接

audio1 = audio2

11、音频数据处理

# 转换为numpy.ndarray类型 audioArray = audioFile.get_arrays_of_sample() # 处理audioArray... newAudioFile = audioFile._spawn(audioArray)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页