Ajuste: en la limpieza de la base instrumental solo ruido+normalización para más claridad
Browse files- audio_pipeline.py +10 -9
audio_pipeline.py
CHANGED
|
@@ -115,17 +115,18 @@ def combinar_stems_sin_vocales(stems_dir: str) -> None:
|
|
| 115 |
|
| 116 |
def reducir_ruido(input_file: str, output_file: str, noise_duration: float = 0.5) -> None:
|
| 117 |
"""
|
| 118 |
-
Procesa
|
| 119 |
-
1) Reduce ruido usando los primeros `noise_duration`
|
| 120 |
-
2)
|
| 121 |
-
3)
|
| 122 |
-
4) Guarda en output_file
|
| 123 |
"""
|
|
|
|
| 124 |
y, sr = librosa.load(input_file, sr=None)
|
|
|
|
| 125 |
noise = y[:int(sr * noise_duration)]
|
|
|
|
| 126 |
y_denoised = nr.reduce_noise(y=y, sr=sr, y_noise=noise)
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
sf.write(output_file, y_norm, sr)
|
|
|
|
| 115 |
|
| 116 |
def reducir_ruido(input_file: str, output_file: str, noise_duration: float = 0.5) -> None:
|
| 117 |
"""
|
| 118 |
+
Procesa la base instrumental:
|
| 119 |
+
1) Reduce ruido usando los primeros `noise_duration` segundos.
|
| 120 |
+
2) Normaliza la señal (sin aplicar filtro pasa-altos extra).
|
| 121 |
+
3) Guarda el resultado en output_file.
|
|
|
|
| 122 |
"""
|
| 123 |
+
# 1) Carga
|
| 124 |
y, sr = librosa.load(input_file, sr=None)
|
| 125 |
+
# 2) Perfil de ruido
|
| 126 |
noise = y[:int(sr * noise_duration)]
|
| 127 |
+
# 3) Reducción de ruido ligera
|
| 128 |
y_denoised = nr.reduce_noise(y=y, sr=sr, y_noise=noise)
|
| 129 |
+
# 4) Normalización para mantener toda la gama dinámica
|
| 130 |
+
y_norm = normalize(y_denoised)
|
| 131 |
+
# 5) Escritura en disco
|
|
|
|
| 132 |
sf.write(output_file, y_norm, sr)
|