🔍 Escaneo Inteligente
Analizamos la estructura de tus carpetas (N-1, N-2) para derivar Artista, Álbum y Año con precisión quirúrgica.
- Regla Automática: Artista desde carpeta abuela (N-2)
- Regla Automática: Álbum y Año desde carpeta padre (N-1)
🎧 Fingerprinting Acústico
¿Archivos sin nombre? Usamos tecnología AcoustID para escuchar tu música e identificarla automáticamente.
- Integración con MusicBrainz
- Identificación por huella digital de audio
🤖 Potenciado por IA
Si todo falla, nuestra IA (GPT-4o-mini) entra en acción para resolver los metadatos más difíciles.
- Análisis de contexto avanzado
- Identificación de versiones en vivo
📐 Nomenclatura Estricta TuneaTuMusica
Garantizamos que el 100% de tu biblioteca siga un estándar profesional de ingeniería de archivos.
└── ([Año]) [Nombre del Disco]
└── [NumTrack] - [Nombre Canción].[Ext]
👨🎤 El Artista (N-2)
Extraído de la carpeta abuela (dos niveles arriba). Se normaliza con Title Case.
Ej: "caliban" ➝ "Caliban"
💿 El Álbum (N-1)
Extraído de la carpeta padre. Busca el año entre paréntesis (2006) y el nombre del disco después.
Ej: "(2006) the undying darkness" ➝ Año: "2006", Álbum: "The Undying Darkness"
🎵 La Pista
Forzamos dos dígitos XX al inicio del nombre del archivo para un orden alfabético perfecto.
Ej: "2 - I Rape Myself" ➝ "02 - I Rape Myself"
📝 Ejemplos de Transformación
Después: 2x/(2002) Pateando Craneos/02 - No Lo Podras Sostener.mp3
Después: Caliban/(2003) Shadow Hearts/05 - Bad Dream Ube.mp3
Después: Bts Discos/(2004) Back To School/07 - Track 07.mp3
🧠 La Inteligencia detrás de TuneaTuMusica
Clasificamos cada archivo en uno de estos 4 estados para aplicar la solución perfecta de nomenclatura.
🟢 Caso A: La Ruta Manda
Diagnóstico: El archivo tiene nombre correcto pero los Tags están vacíos.
Archivo:Caliban/(2006) The Undying Darkness/01 - Intro.mp3Tags: [Vacíos]
Acción: Extraemos datos de la ruta y escribimos los Tags internos (ID3v1 e ID3v2).
🔵 Caso B: Los Tags Mandan
Diagnóstico: Los Tags son correctos pero el nombre del archivo es un desastre.
Archivo:test/BTS/(2004) Back/08 - Track 08.mp3Tags: Artist="BTS", Title="Graduation Day"
Acción: Usamos los Tags para renombrar y mover el archivo a la estructura estándar.
🟡 Caso C: Búsqueda Externa
Diagnóstico: Ni la ruta ni los Tags tienen información válida.
Archivo:test/Caliban/(2007) The Awakening/10-Track-10.mp3Tags: [Vacíos o "Track 10"]
Acción: Activamos búsqueda en cascada:
- 🎵 AcoustID: Fingerprinting acústico
- 🎼 MusicBrainz: Base de datos musical
- 🤖 IA (GPT-4o-mini): Análisis inteligente
⚪ Caso D: Estado Perfecto
Diagnóstico: El archivo está perfectamente organizado.
Archivo:Caliban/(2009) Say Hello/08 - The Denegation.mp3Tags: [Todos correctos]
Acción: ✅ No hace nada. Solo valida y marca como perfecto.
🔍 Flujo de Decisión Automático
└─ NO → Caso A (Ruta → Tags)
└─ NO → Caso C (Búsqueda externa)
⚠️ Validación de Información
El sistema considera información válida cuando:
- ✅ No está vacía
- ✅ No es "Unknown", "Untitled", "Track XX"
- ✅ No es "Artista Desconocido" o similar
- ✅ Tiene contenido significativo
🚀 Comenzar Ahora
1. Descargar el Proyecto
Clona el repositorio oficial desde GitHub para obtener la última versión:
git clone https://github.com/Iyov/TuneaTuMusica.git
cd TuneaTuMusica
2. Instalar Dependencias según tu Sistema
🪟 Windows
# Verificar Python instalado
python --version
# Crear entorno virtual
python -m venv venv
# Activar entorno virtual
venv\Scripts\activate
# Instalar dependencias
pip install -r requirements.txt
⚠️ Si no tienes Python: Descargar aquí
Marca "Add Python to PATH" durante la instalación
🐧 Linux (Ubuntu/Debian)
# Instalar Python y dependencias
sudo apt update
sudo apt install python3 python3-venv python3-pip python3-tk
# Crear entorno virtual
python3 -m venv venv
source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
ℹ️ python3-tk es esencial para la GUI
🍎 macOS
# Instalar Python con Homebrew
brew install python3 python-tk
# Crear entorno virtual
python3 -m venv venv
source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
ℹ️ Homebrew recomendado: brew.sh
3. Configurar API Keys
Copia el archivo de ejemplo y configura tus credenciales:
# Copiar archivo de configuración
cp .env.example .env
# Editar con tu editor favorito
nano .env # o vim, code, etc.
🔑 API Keys Necesarias
- AcoustID (REQUERIDA): Obtener gratis aquí
- OpenAI (OPCIONAL): Obtener aquí - Para fallback con IA
4. Ejecución
Tienes dos formas de usar TuneaTuMusica dependiendo de tu preferencia:
🖥️ Modo Visual (GUI) - Recomendado
La interfaz moderna para un control total e intuitivo.
Windows:
venv\Scripts\activate
python gui.py
Linux/macOS:
source venv/bin/activate
python gui.py
💻 Modo Terminal (CLI)
Ideal para procesar miles de archivos rápidamente.
Windows:
venv\Scripts\activate
python audio_tagger.py C:\Musica
Linux/macOS:
source venv/bin/activate
python audio_tagger.py /ruta/musica
5. Modo Sandbox (Prueba Segura)
Prueba el sistema sin modificar tus archivos reales:
Windows:
venv\Scripts\activate
python sandbox_test.py
Linux/macOS:
source venv/bin/activate
python sandbox_test.py
🔧 Solución de Problemas
Windows
- "python no se reconoce" → Reinstala Python y marca "Add to PATH"
- Error de permisos → Ejecuta PowerShell como Administrador
Linux
- "No module named '_tkinter'" →
sudo apt install python3-tk - Usa
sudosolo para paquetes del sistema
macOS
- Tkinter no funciona →
brew install python-tk - Certificados SSL → Ejecuta Install Certificates.command