Python implémente la conversion du format de fichier audio et la réduction du bruit

1 Installez la bibliothèque python correspondante

La bibliothèque Python utilisée dans le processus de conversion audio est principalement pydub, qui possède de puissantes capacités de traitement audio. De plus, la bibliothèque noisereduce doit être installée pour la réduction du bruit.

pip install pydub
pip install noisereduce

Utilisez l'importation pour vérifier si la bibliothèque correspondante peut être utilisée

import pydub
import noisereduce

Si aucune erreur n'est signalée, cela signifie que l'installation est correcte.

2 Lisez les fichiers audio et convertissez-les dans d'autres formats

La classe AudioSegment dans pydub peut lire et convertir les formats de fichiers audio

Prenons comme exemple la conversion du format .aac au format .wav

audio = AudioSegment.from_file("input.aac", format="aac")
audio.export("output.wav", format="wav")

Lecture et sortie audio implémentées, où input.aac peut être remplacé par le nom de votre fichier audio. Par défaut, l'entrée et la sortie sont situées dans le même chemin, sinon un chemin absolu est requis.

Remarque : Si ffmpeg n'est pas installé, une erreur se produira indiquant que le fichier est introuvable. Vous pouvez vous référer à un autre blog ici.

[Solution] pydub FileNotFoundError : [WinError 2] Le fichier d'erreur est introuvable et l'installation de ffmpeg_Xiao Feng Senior's Big Bang Theory Blog-CSDN Blog

3 Effectuer un traitement de réduction du bruit sur l'audio

Ici, nous utilisons pydbub et noisereduce pour le traitement

Prenez le fichier .wav comme exemple pour montrer comment le traiter

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

Enfin, un son à bruit réduit peut être produit

Guess you like

Origin blog.csdn.net/m0_65478862/article/details/129026317