python实现音频文件格式转化以及降噪

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")

最后可以制作出降噪的音频

猜你喜欢

转载自blog.csdn.net/m0_65478862/article/details/129026317