PyDub 简介

Python 语音语言处理

Daniel Bourke

Machine Learning Engineer/YouTube Creator

安装 PyDub

$ pip install pydub
  • 若使用非 .wav 文件,请通过 ffmpeg.org{{2}} 安装 ffmpeg
Python 语音语言处理

PyDub 的主类:AudioSegment

# 导入 PyDub 主类
from pydub import AudioSegment
# 导入音频文件
wav_file = AudioSegment.from_file(file="wav_file.wav", format="wav")
# format 参数仅为可读性
wav_file = AudioSegment.from_file(file="wav_file.wav")
type(wav_file)
pydub.audio_segment.AudioSegment
Python 语音语言处理

播放音频文件

# 安装 simpleaudio 以播放 wav
$pip install simpleaudio
# 导入播放函数
from pydub.playback import play
# 导入音频文件
wav_file = AudioSegment.from_file(file="wav_file.wav")

# 播放音频
play(wav_file)
Python 语音语言处理

音频参数

# 导入音频文件
wav_file = AudioSegment.from_file(file="wav_file.wav")
two_speakers = AudioSegment.from_file(file="two_speakers.wav")

# 查看声道数 wav_file.channels, two_speakers.channels
1, 2
wav_file.frame_rate
480000

DNT_CURLLY_TAG_5

Python 语音语言处理

音频参数

# 每个样本的字节数
wav_file.sample_width
2
# 最大振幅
wav_file.max
8488
Python 语音语言处理

音频参数

# 音频文件时长(毫秒)
len(wav_file)
3284
Python 语音语言处理

修改音频参数

# 将 AudioSegment 的 ATTRIBUTENAME 改为 x
changeed_audio_segment = audio_segment.set_ATTRIBUTENAME(x)
# 将采样位宽改为 1
wav_file_width_1 = wav_file.sample_width(1)
wav_file_width_1.sample_width
1
Python 语音语言处理

修改音频参数

# 修改采样率
wav_file_16k = wav_file.frame_rate(16000)
wav_file_16k.frame_rate
16000
# 修改声道数
wav_file_1_channel = wav_file.set_channels(1)
wav_file_1_channel.channels
1
Python 语音语言处理

让我们练习!

Python 语音语言处理

Preparing Video For Download...