¿Hay algún soporte para microtonalidad y temperamentos en (o más allá) de la especificación MIDI?

El número de tonos (o notas) por octava es solo uno de los muchos aspectos potencialmente personalizables de cualquier instrumento. El midi estándar, sin embargo, está más o menos sujeto al temperamento igual occidental de 12 tonos. Escapar de sus confines implica dispositivos o software de mapeo externos, pero estos se ocupan de los efectos en lugar de las causas.

La especificación General MIDI Level 2 parece haber existido desde 1999. Como un recién llegado a todo esto, ¿ha surgido alguna alternativa mientras tanto que permita asignaciones nativas y dedicadas a notas de tono NO-12 / 8ve y OTROS que temperamentos iguales?

Específicamente, NO estoy buscando soluciones alternativas de hardware o software, sino una visión más mundana en forma de estándares mejorados.

Me imagino algo parecido a un sistema de indexación de tonos (o notas) por octava, en el que las notas enarmónicas de cada octava son un múltiplo de los índices de notas de la octava más baja, y los temperamentos alternativos se expresan mediante asignaciones a su frecuencia centésima paralela. o valores similares. Muy parecido a midi, pero con indexación flexible...

Me alegro de cualquier información.

Respuestas (5)

El estándar de afinación MIDI permite la reasignación arbitraria de los 128 valores de nota. Fue ratificado en 1992 y puede ser implementado tanto por dispositivos GM como GM2. (Sin embargo, muy pocos lo hacen).

También hay mensajes de afinación de escala/octava, que permiten ligeros ajustes a los 12 tonos en una octava. Solo estos son requeridos por GM2.

Midi, con un límite de indexación de 127 bits, parece probable que se desmorone para instrumentos y escalas de world music del mundo real, de cuello largo y/o microtonal de orden superior (26, 31, 43, 50, 53 TET), sin embargo, estos son mi área de interés.
Tenga en cuenta que MTS no es compatible con muchos sintetizadores de software.
Tampoco es ampliamente compatible con sintetizadores de hardware.

Hay soporte disperso para otros temperamentos de 12 tonos, pero MIDI simplemente no podrá funcionar con sistemas de afinación con más notas. Es un problema de la cantidad de información que puede codificar un mensaje MIDI: el estándar existente es para un número de nota de 7 bits (valor 128), que es suficiente para codificar más de 10 octavas de 12 tonos, pero solo 5 octavas. de cuartos de tono, que no va a ser suficiente. Podrías diseñar un nuevo formato basado en MIDI que haga este tipo de extensión, pero no será compatible con versiones anteriores de MIDI 1.0, y una vez que lo hayamos dejado, podríamos seguir adelante por completo.

Totalmente de acuerdo. Mi impulso es trabajar con un sistema de indexación simple de n tonos por octava, asignando a midi donde tiene sentido (más o menos esos sistemas representables usando los elementos gráficos de la notación musical estándar) pero esperando hasta que el mundo se ponga al día. Los mapeos son un paliativo, los estándares la cura. :-)
El estándar de sintonización MIDI permite enviar frecuencias arbitrarias para cada nota, por lo que no creo que importe cuántas notas MIDI hay.

Sé que afirma que no está buscando "soluciones alternativas", pero debo señalar esto.

De hecho, no existe un medio debidamente respaldado para hacer microtonalidad dentro de la especificación MIDI en sí. Sin embargo, existe un sistema extremadamente bien establecido y ampliamente aceptado e implementado para microtonalidad con sintetizadores e instrumentos virtuales llamado Scala , y es fácil de usar y sus tablas de afinación microtonal son portátiles y reproducibles en muchas piezas de software y hardware de música. Scala admite una gran variedad de afinaciones y temperamentos históricos, así como afinaciones experimentales de vanguardia y cualquier afinación arbitraria que pueda diseñar usted mismo.

No espere a que el estándar MIDI se actualice o amplíe para escalas microtonales; las personas que los quieren y los necesitan se han contentado con usar el sistema Scala para lograrlo.

Puede leer sobre esto en el sitio web de Scala .

Aquí está el artículo de Wikipedia sobre Scala .

Hay muchos instrumentos virtuales de software comercial y gratuito que admiten Scala directamente. Los ejemplos incluyen Native Instruments , Garritan Personal Orchestra y Pianoteq . Estos productos vienen con bibliotecas de temperamentos históricos de Scala y tablas de afinación etnomusicológicas ya disponibles como preajustes. No necesita saber cómo programar sus propias tablas de afinación de Scala para comenzar, pero el sistema Scala tiene software gratuito para crear sus propias afinaciones si así lo desea, y puede importar su propia biblioteca de afinaciones de Scala a estas afinaciones virtuales. instrumentos

Más allá de eso, el sistema Scala incluye software que puede exportar afinaciones Scala (más simples de no más de 12 tonos por octava como mínimo) a datos de formato de especificación MIDI que se pueden cargar en muchos sintetizadores de hardware compatibles con la especificación de afinación MIDI. Hay una larga lista de sintetizadores de hardware que se remontan al Yamaha DX7 que admiten la especificación de afinación MIDI y funcionarán con el software Scala.

Por lo tanto, no descarte las "soluciones alternativas"; el sistema Scala puede hacer lo que usted quiera.

ingrese la descripción de la imagen aquí

El piano digital de instrumento virtual Pianoteq viene con muchas tablas de afinación microtonal Scala, o puede importar sus propios archivos Scala desde el disco.

ingrese la descripción de la imagen aquí

Scala está anclado a un sistema operativo específico. ¿Tiene ejemplos de uso exitoso de archivos de datos Scala en un contexto de nube/navegador? Si fuera flexible y probado, habría un fuerte argumento para su integración (en forma de funciones de carga y manejo) en bibliotecas de visualización de datos como d3.js, permitiéndoles explotarse con la misma facilidad que -digamos- el ampliamente formatos json o csv usados.
De hecho, los archivos de datos de Scala se han integrado en una biblioteca de javascript . Más recientemente, el mismo desarrollador parece haber estado probando una API pública . Parece prometedor.
El software de creación de Scala está disponible para Windows, Linux y Mac OS X. huygens-fokker.org/scala/downloads.html . Sin embargo, la mayoría de las personas que usan archivos Scala solo confían en los ajustes preestablecidos disponibles con el instrumento virtual en particular. Nunca se acercan al software de creación.
Aquí tienes un consejo. El reproductor de muestras sforzando gratuito de Plogue, un instrumento virtual independiente y un complemento en todos los formatos comunes para Windows y Mac OS X, admite la reproducción mediante tablas Scala. plogue.com/products/forzando
@ user2165086 esos .sclarchivos usan un formato de texto muy simple. Puede crearlos con cualquier editor de texto o lenguaje de secuencias de comandos, no necesita Scala ni ninguna biblioteca específica. Por ejemplo, aquí está 31-edo .
Independientemente de eso: diría que las soluciones alternativas .scl(aunque funcionan) siguen siendo trucos feos, y no deberíamos contentarnos con ellos. Es un desastre que el MIDI de 7 bits siga existiendo después de estar técnicamente obsoleto durante dos décadas; intentemos al menos animar a los desarrolladores a pensar en algún reemplazo mejor en lugar de centrarse en la adaptación MIDI para aplicaciones que originalmente no estaba destinado a hacer: ¡ya es bastante malo para las cosas para las que estaba destinado!
Acordado. Con respecto a .scllos archivos: un caso de uso típico: asigne todos los bağlamas turcos de 17 o 19 tonos recién entonados a cada una de sus variaciones de escala regional. Vistos en este contexto, .scllos archivos adolecen de al menos cinco puntos débiles: 1) una identificación fiable del contenido por parte de los usuarios finales a partir de su denominación , 2) es probable que algunas asignaciones de tono por 8vo a escala necesiten la aprobación consensuada de los músicos étnicos, 3) contenido debe documentarse de manera más rigurosa para tener en cuenta el uso en posiblemente múltiples regiones, 4) la falta de un formato estándar conveniente (json u otro) y 5) la falta de API públicas comprobadas.

(7 de febrero de 2019) Creo que recientemente en NAMM, se anunció MIDI 2.0. Será mucho más potente y permitirá (aunque el MIDI actual está bien y el nuevo será compatible con versiones anteriores) más posibilidades y funciones de las que son necesarias actualmente. Quizás la música microtonal sea más compatible con este nuevo sistema. Adam Neely explica este nuevo MIDI mucho mejor que yo.

Desafortunadamente, el formato Scala parece estar tomando el control. Los desarrolladores que no saben nada sobre ajustes simplemente lo agregan, cierran su código y dan por terminado el día. El problema con esto es que todavía tienes que limitarte a un conjunto finito de tonos que debes decidir antes de componer. Ninguno de los programas que he encontrado que admite Scala ofrece alguna forma de actualizar automáticamente la báscula cargada. Clickety-clickety-click, estarás haciendo clic. No tenía que ser así. MTS no solo ofrece afinación por nota para 128 notas, sino que cualquiera de ellas se puede cambiar sobre la marcha. Scala es genial para jugar. Para una total libertad de afinación, no es tan útil. He visto instrumentos en Csound y Pure Data que tenían un sistema perfecto: los mismos números de nota MIDI estándar, pero con decimales. Si quieres 60, como la mayoría de los músicos, pones 60 y sacas el do central. Si quieres 17 centavos más que el do central, le dices 60,17. Parece obvio, y sería pan comido implementarlo en casi todos los programas MIDI existentes, pero tienes que saber algo sobre la afinación para darte cuenta de que sería mejor. Las muestras de audio de 64 bits ya son estándar en los DAW comerciales. ¿Por qué todavía fuerzan 7 bits de precisión de tono?