1 安装相应python库
在音频转化过程中使用到的python库主要是pydub,该库具有强大的音频处理能力。此外,需要安装noisereduce库,用来降噪
pip install pydub
pip install noisereduce
使用import来检查相应的库是否能使用
import pydub
import noisereduce
如果没有报错,说明安装正确
2 读入音频文件并转化为其他格式
pydub中的AudioSegment类可以实现读取和转化音频文件格式
以.aac格式向.wav格式转化为例
audio = AudioSegment.from_file("input.aac", format="aac")
audio.export("output.wav", format="wav")
实现了音频的读入和输出,其中input.aac可以替换成你的音频文件的名称。默认输入输出位于同一路径下,否则需要用绝对路径
注意:如果没有安装ffmpeg会出现找不到文件的错误,此处可以参考另一篇博客
【解决】pydub FileNotFoundError: [WinError 2] 报错找不到文件及ffmpeg的安装_小锋学长生活大爆炸的博客-CSDN博客
3 对音频进行降噪处理
这里使用 pydbub和noisereduce进行处理
以.wav文件为例展现如何处理
from pydub import AudioSegment
from noisereduce import reduce_noise
# Load the .wav file using pydub
audio = AudioSegment.from_wav("input.wav")
# Convert the audio to a numpy array
audio_array = audio.get_array_of_samples()
# Perform noise reduction on the audio array
reduced_noise = reduce_noise(audio_array, audio.frame_rate)
# Create a new AudioSegment from the reduced noise array
reduced_audio = AudioSegment(
reduced_noise.tobytes(),
frame_rate=audio.frame_rate,
sample_width=audio.sample_width,
channels=audio.channels
)
# Export the reduced noise audio as a .wav file
reduced_audio.export("output.wav", format="wav")
最后可以制作出降噪的音频