Aplicación de escritorio para masterizar temas musicales. Wizard de 3 pasos: cargá tu track, ajustá EQ y loudness, y aplicá auto-masterización por referencia.
Warning
Al ejecutar Loudly.exe por primera vez, Windows puede mostrar el mensaje "Windows protegió tu PC" porque el ejecutable no tiene firma de código comercial. El archivo es seguro — podés verificar el código fuente en este repositorio.
Pasos para ejecutarlo:
- Hacé clic en "Más información"
- Luego en "Ejecutar de todas formas"
| Paso 1 — Clic en "Más información" | Paso 2 — Clic en "Ejecutar de todas formas" |
|---|---|
![]() |
![]() |
- EQ de 4 bandas — Low (80 Hz), Low-Mid (250 Hz), Hi-Mid (2.5 kHz), High (8 kHz)
- Limitador con control LUFS — normaliza a estándares de streaming (Spotify −14, YouTube −13, CD −9)
- Auto-Master por referencia — iguala automáticamente el EQ, loudness y dinámica de un track de referencia usando matchering
- Procesamiento batch — auto-masteriza múltiples tracks contra una referencia y los exporta automáticamente como
<nombre>_remastered.wav - Reproductor con toggle Antes/Después — escuchá la diferencia en tiempo real
- Análisis comparativo — muestra LUFS, True Peak y Dinámica antes y después del procesado
- Exporta a WAV 24-bit o FLAC
| Entrada | Salida |
|---|---|
| WAV, MP3, FLAC, AIFF | WAV 24-bit, FLAC |
Descargá el instalador desde Releases. No requiere Python instalado — es un ejecutable standalone para Windows.
Requiere Python 3.13.
git clone https://github.com/avilesxd/loudly.git
cd loudly
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python main.py.venv\Scripts\pyinstaller loudly.spec --cleanEl ejecutable queda en dist\Loudly.exe.
.venv\Scripts\pytest tests/ -vloudly/
├── main.py # Punto de entrada
├── app.py # LoudlyApp — ventana principal, sesión compartida
├── audio/
│ ├── loader.py # Carga WAV/MP3/FLAC/AIFF → (channels, samples) float32
│ ├── eq.py # EQ de 4 bandas con pedalboard
│ ├── limiter.py # Normalización LUFS + true-peak limiter
│ └── automaster.py # Auto-masterización con matchering
└── ui/
├── batch_window.py # Ventana de procesamiento batch (CTkToplevel)
├── steps/
│ ├── step1_load.py # Paso 1: carga de archivos
│ ├── step2_edit.py # Paso 2: EQ + limiter interactivos
│ └── step3_master.py # Paso 3: auto-master + análisis + exportar
└── components/
├── player.py # Reproductor ANTES/DESPUÉS
└── waveform.py # Visualización de forma de onda
El estado de la sesión se mantiene en un diccionario session en LoudlyApp y se comparte por referencia con los tres pasos. Las operaciones de audio se ejecutan en hilos daemon para no bloquear la UI.
Todos los arrays internos son (channels, samples) en float32. Las bibliotecas externas (soundfile, pyloudnorm) usan (samples, channels) y se transponen en los puntos de integración.
- UI: CustomTkinter
- EQ / Limiter: pedalboard (Spotify)
- Auto-Master: matchering
- LUFS: pyloudnorm
- Playback: sounddevice
- Waveform: matplotlib (backend TkAgg)
- MP3: miniaudio
- Build: PyInstaller
- Guía de usuario — cómo usar la aplicación paso a paso
- Arquitectura — detalles técnicos del diseño
¡Las contribuciones son bienvenidas! Leé la guía de contribución para empezar.
Si encontrás un bug o tenés una idea, abrí un issue.
Distribuido bajo la licencia MIT. Ver LICENSE para más información.
Hecho con ❤️ por Ignacio Avilés





