Analizador de Archivos Musicales KERN & MusicXML

Una aplicación Python avanzada para el análisis musical profundo de archivos KERN y MusicXML, especializada en voice leading, conteo de intervalos y análisis polifónico.

2+ Formatos Musicales
3 Casos de Análisis
MongoDB Base de Datos

Características Principales

Herramientas avanzadas para el análisis musical computacional

Múltiples Formatos

Soporte completo para archivos KERN (.krn) y MusicXML (.musicxml) con análisis automático de metadatos

Base de Datos MongoDB

Almacenamiento en la nube con MongoDB Atlas para gestión eficiente de datos musicales y metadatos

Voice Leading Analysis

Análisis avanzado de conducción de voces con Voice Leading Quartets y detección de movimiento contrario

Conteo de Intervalos

Análisis automático de intervalos melódicos y armónicos con casos predefinidos y personalizables

Interfaz Gráfica

Aplicación de escritorio intuitiva desarrollada con Tkinter para facilidad de uso

Procesamiento Masivo

Análisis automático de múltiples archivos (Big Data) con resultados detallados y exportables

Funcionalidades Detalladas

Explore las capacidades completas del analizador musical

Gestión Completa de Datos Musicales

  • Inserción Automática: Carga masiva de archivos KERN y MusicXML con extracción automática de metadatos
  • Visualización Inteligente: Tablas interactivas con filtros personalizables por autor, título, formato y más
  • Eliminación Selectiva: Borrado seguro por tipo de archivo con confirmación
  • Hash Verification: Verificación de integridad de archivos mediante hashing MD5
  • Integración MuseScore: Apertura directa de partituras en MuseScore para visualización
gestión_datos.py
# Inserción automática de datos
def insertar_datos():
    analizarKern.llamarTabla()

# Visualización con filtros
def visualizar_datos():
    analizarKern.visualizarDatos()

# Eliminación por tipo
def eliminar_datos():
    analizarKern.eliminarDatos(tipo)

Análisis Musical Avanzado

  • Case 1: Análisis de sextas menores/mayores → octavas (6ªm/6ªM → 8ª)
  • Case 2: Análisis de terceras mayores → quintas perfectas (3ªM → 5ªJ)
  • Case 3: Análisis personalizado de voice leading
  • Voice Leading Quartets: Detección de movimiento contrario interno
  • Beat Strength Analysis: Análisis de fuerza métrica de las notas

Ejemplo de Análisis

Case 1: G4 → F♭4 | E5 → F♭5 ✓ Válido
Case 2: G4 → F♭4 | B4 → C♭5 ✓ Válido

Visualización y Reportes

  • Tablas Interactivas: Visualización de datos con ordenamiento y filtrado dinámico
  • Resultados de Análisis: Reportes detallados de conteo de intervalos
  • Integración MuseScore: Visualización directa de partituras
  • Exportación de Datos: Resultados exportables para análisis posterior
  • Big Data Results: Procesamiento y visualización de análisis masivos
Resultados de Análisis
Case 1
24
Case 2
14
Case 3
19

Demostración del Sistema

Vea cómo funciona el analizador en acción

Interfaz Principal

GUI
Base de datos de análisis de Kern
Insertar datos
Visualizar datos
Eliminar datos
Contar intervalos (casos)
Contar intervalos (Big data)

Análisis de Archivos

Automático
Bach_BWV-269.krn Procesando...
Beethoven_Op67.musicxml Completado
Landini_Primavera.krn Completado
Notas analizadas: 1,247
Intervalos encontrados: 342

Resultados de Voice Leading

Análisis
G4 → F♭4 E5 → F♭5
Contrary Motion
C4 → D4 A4 → B4
Parallel Motion
F4 → E4 D5 → C5
Similar Motion

Instalación y Configuración

Comience a usar el analizador en minutos

Requisitos del Sistema

Python 3.8+
MongoDB Atlas
MuseScore 4
Tkinter
1

Clonar el Repositorio

git clone https://github.com/jfarboledao/polyphony-analysis
cd polyphony-analysis
2

Instalar Dependencias

pip install music21 pymongo
3

Configurar MuseScore

# Descargar e instalar MuseScore 4
# Windows: https://musescore.org/en/download
# La aplicación configurará automáticamente las rutas
4

Ejecutar la Aplicación

python main.py