Xenharmlib 0.4.0: la librería que modela cualquier temperamento regular

Fuentes: What's new in xenharmlib 0.4.0?

Xenharmlib, la biblioteca de Python dedicada al análisis matemático de sistemas de afinación no occidentales y microtonales, publica su versión 0.4.0, una actualización que refactoriza su núcleo para soportar no solo temperamentos de división igual, sino también cualquier temperamento regular con múltiples generadores, incluyendo la entonación justa (Just Intonation).

Gracias a esta ampliación, la librería puede representar prácticamente la totalidad de las tradiciones musicales existentes en forma matemática, desde la música del Imperio bizantino y el Renacimiento europeo hasta la música clásica india, el gamelán indonesio, el maqam árabe y la música experimental estadounidense del siglo XX (con Partch o Johnston como referentes). Los temperamentos irregulares, como los de Werckmeister, quedan fuera de su alcance.

Entre las novedades principales destacan la clase PrimeLimitTuning para construir afinaciones de límite primo, la clase MultiGenTuning para diseñar temperamentos regulares a medida (como el quarter-comma meantone), y un sistema completo de aritmética de intervalos. Se incorporan también dos nuevas primitivas armónicas: las secuencias melódicas (con operaciones de retrogradación e inversión) y los abanicos de intervalos (interval fans) para describir distancias respecto a un centro tonal. Se añade, además, soporte para vectores de clase de intervalo, una herramienta esencial del análisis postonal.

Otra mejora relevante es la redefinición de la transposición por defecto: en lugar de aplicar una transposición escalar limitada a los grados de la escala, xenharmlib implementa la transposición regular, que funciona sobre todo el espacio tonal y resulta más coherente con instrumentos sin trastes o con la voz. La documentación se ha rehecho por completo, organizando los ejemplos por tipo de afinación y notación.