La Red de Conocimientos Pedagógicos - Currículum vitae - Análisis de codificación de separación de voz basado en U-Net

Análisis de codificación de separación de voz basado en U-Net

No reimprimí el artículo yo mismo, lo encontré en línea y lo revisé yo mismo.

Procesamiento de conjuntos de datos, convierte los archivos de audio del conjunto de datos DSD100 en un espectro de sonido de tiempo-frecuencia.

DSD contiene dos carpetas, una es la "mezcla" de audio mezclado y la otra es la "fuente" de audio rastreado para voz, batería, bajo y otros instrumentos. Cada carpeta contiene dos subcarpetas, "Dev" es el conjunto de entrenamiento y "Test" es el conjunto de prueba.

Utiliza principalmente Util.savespectrogram (y_mix, y_vocal, y_inst, fname).

Ingrese la ruta de audio y entrene el modelo o use un modelo existente para obtener voz/audio separados del audio original.

Se denominan cinco interfaces principales:

Util. LoadDataset (objetivo) carga el conjunto de datos, el objetivo es el objetivo que se va a separar, aquí está "voz".

Red. trainunet (xlist, ylist, savefile = "unet.model", EPOCH = 30) entrena la red.

Util. LoadAudio(fname) carga audio.

Util.computemask (input_mag, unet_model = "unet.model ", hard = true) calcula la máscara.

Util. SaveAudio(fname, mag, fase) guarda el audio.

(Si hay un modelo listo para usar, solo necesita llamar a las últimas tres funciones).

La Xlist devuelta por la función es el espectro de sonido del audio mezclado. y Ylist es el espectro de sonido del audio de destino dividido.

Find_files es librosa.util.find_files.

Load es librosa.core.load, que carga audio en varios formatos.

Stft es librosa.core.stft, que es la transformada de Fourier de corto tiempo.

(No entiendo por qué el número de bandas de frecuencia = 1 n _ FFT/2)

(Explicación en línea: La probabilidad de la transformada continua de Fourier es simétrica al calcular señales reales (Er. simetría del metro). La forma discreta de FFT (longitud par) tiene una simetría de torsión sutil, es decir, los resultados del cálculo de FFT son simétricos en frecuencia y "repetidos" en frecuencias positivas y negativas. p>

(No entiendo)

Mag es la magnitud, que es el valor absoluto.

fase = NP . exp(1 . j * NP . ángulo(spec)) da el ángulo compuesto de especificación.

Istft es librosa.core.istft

Write_wav es librosa.output.write_wav

Stft es librosa.core.stft, transformada de Fourier de corto tiempo. La función SaveSpectrogram se utiliza para procesar el conjunto de datos y convertir el audio del conjunto de datos en un espectro de sonido.

Red. UNet() llama a la red neuronal U-Net y utiliza el modelo entrenado para calcular la máscara dura o la máscara suave.

Clase UNet

Red de entrenamiento:

U-Net es en realidad un mapeo donde el espacio de entrada y el espacio de salida son iguales. La entrada durante el entrenamiento es (MixSpec, TargetSpec) = (espectro de sonido mixto, espectro de sonido objetivo), y el método Adam se utiliza para optimizar el parámetro θ para obtener una máscara = UNet_θ (MixSpec*mask lo hace lo más cercano a). TargetSpec como sea posible.