怎么用python制作音频(Python玩转mp3与wav格式批量互转及常见音频样本用法)
pydub基于FFmpeg或libav处理音视频的python库,所以需要先安装FFmpeg环境,今天小编就来聊一聊关于怎么用python制作音频?接下来我们就一起去研究一下吧!
怎么用python制作音频
pydub简介pydub基于FFmpeg或libav处理音视频的python库,所以需要先安装FFmpeg环境。
FFmpeg环境搭建请见我的上篇文章 Linux下安装FFmpeg的详细教程
pydub 类库 github地址 https://github.com/jiaaro/pydub
pydub 类库安装:
pip3 install pydub
#!/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/')
#!/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/')
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