Una aplicación Python con interfaz gráfica para el análisis musical de archivos KERN y MusicXML, enfocada en el conteo de intervalos y análisis de voice leading.
- Análisis de archivos musicales: Soporte para formatos KERN (.krn) y MusicXML (.musicxml)
- Base de datos: Almacenamiento y gestión de metadatos musicales
- Conteo de intervalos: Análisis de voice leading quartets
- Interfaz gráfica: Aplicación de escritorio desarrollada con Tkinter
- Análisis masivo: Procesamiento de múltiples archivos (Big Data)
- Insertar datos musicales en la base de datos
- Visualizar datos almacenados
- Eliminar datos por tipo de archivo
- Conteo de intervalos por casos: Análisis específico con entrada manual de notas
- Análisis masivo: Procesamiento automático de todos los archivos en la carpeta
- Voice Leading: Análisis de conducción de voces
├── main.py # Interfaz gráfica principal
├── analizarKern.py # Análisis de archivos KERN y MusicXML
├── conteoIntervalos.py # Conteo de intervalos y voice leading
├── conexion.py # Conexión a base de datos
├── table.py # Visualización de tablas
├── vlqs.py # Voice Leading Quartets
├── archivosKern/ # Archivos KERN de prueba
├── archivosMxml/ # Archivos MusicXML
└── archivosCompuesto/ # Archivos procesados
- Python 3.x
- music21
- tkinter (incluido en Python)
- pymongo (para base de datos)
- MuseScore 4 (para renderizado musical)
- Clona el repositorio
- Instala las dependencias:
pip install music21 pymongo
- Asegúrate de tener MuseScore 4 instalado en tu sistema
-
Ejecuta la aplicación:
python main.py
-
Utiliza la interfaz gráfica para:
- Insertar archivos musicales en la base de datos
- Visualizar los datos almacenados
- Realizar análisis de intervalos
- Procesar archivos masivamente
La aplicación incluye varios casos predefinidos para el análisis de intervalos:
- Case 1: Análisis de intervalos específicos (6ªm/6ªM → 8ª)
- Case 2: Análisis de terceras mayores a quintas perfectas
- Case 3: Análisis de tercera menor a unísono
Este proyecto está en desarrollo activo. Las siguientes mejoras están planificadas:
- Implementación completa del conteo de intervalos
- Mejoras en la interfaz de usuario
- Optimización del filtrado de datos
- Integración en la nube para la base de datos