Python implementa conversión de formato de archivo de audio y reducción de ruido

1 Instale la biblioteca Python correspondiente

La biblioteca de Python utilizada en el proceso de conversión de audio es principalmente pydub, que tiene potentes capacidades de procesamiento de audio. Además, es necesario instalar la biblioteca de reducción de ruido para reducir el ruido.

pip install pydub
pip install noisereduce

Utilice la importación para comprobar si se puede utilizar la biblioteca correspondiente

import pydub
import noisereduce

Si no se informa ningún error, significa que la instalación es correcta.

2 Leer archivos de audio y convertirlos a otros formatos

La clase AudioSegment en pydub puede leer y convertir formatos de archivos de audio

Tome la conversión del formato .aac al formato .wav como ejemplo

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

Se implementó lectura y salida de audio, donde input.aac se puede reemplazar con el nombre de su archivo de audio. De forma predeterminada, la entrada y la salida se encuentran en la misma ruta; de lo contrario, se requiere una ruta absoluta.

Nota: Si ffmpeg no está instalado, habrá un error que indica que no se puede encontrar el archivo. Puede consultar otro blog aquí.

[Solución] pydub FileNotFoundError: [WinError 2] No se puede encontrar el archivo de error y no se puede instalar ffmpeg_Xiao Feng Senior's Big Bang Theory Blog-CSDN Blog

3 Realizar procesamiento de reducción de ruido en audio

Aquí usamos pydbub y noisereduce para procesar

Tome el archivo .wav como ejemplo para mostrar cómo procesarlo.

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

Finalmente, se puede producir audio con reducción de ruido.

Supongo que te gusta

Origin blog.csdn.net/m0_65478862/article/details/129026317
Recomendado
Clasificación