Black MIDI: ¿Añadir 1/256 notas en el archivo midi? (Música, Midi)

Página David preguntó.

Estoy trabajando en la creación de algunos MIDI negro música. ¿Hay alguna manera de que pueda añadir una nota que sea más corta que una nota de 1/128 en midi? Como 1/256 o 1/1024 (si estoy loco). He intentado rosegarden y musescore pero ambos dicen que no. ¿Hay algún software que acepte valores de nota realmente cortos? ¿Alguna sugerencia?

Comentarios

  • Una pregunta interesante. Un factor limitante en MIDI específicamente es la velocidad a la que se envían los mensajes MIDI. Dependiendo del tempo, intentar enviar demasiados mensajes de notas en poco tiempo podría afectar a la velocidad de transmisión MIDI: futureproducers.com/forums/hardware-and-software/hardware/… –  > Por Todd Wilcox.
  • @ToddWilcox Eso es lo que estaba pensando. La conexión serial MIDI corre a 3125 bytes/s, donde cada nota es al menos cuatro bytes: dos para el encendido y dos para el apagado. Así que si superas las 780 notas/s, tu archivo no será reproducible a través de una conexión serie. –  > Por Damian Yerrick.
  • @DamianYerrick Ahora me pregunto sobre las limitaciones de propagación del pulso de sincronización en una configuración de secuenciador por pasos analógico de la vieja escuela (por ejemplo, ¿cuántos dispositivos puedes encadenar con sincronización analógica?) y si puedes secuenciar más notas simultáneas en el dominio analógico que con MIDI. En realidad, supongo que si utilizas la sincronización MIDI para sincronizar varios secuenciadores MIDI, cada uno con un trozo de un patrón entrelazado, tu número de notas simultáneas aumenta mucho. Como un coro de campanas. –  > Por Todd Wilcox.
3 respuestas
José David

Supongo que la preocupación sería más por los intervalos de tiempo que separan las notas que por la duración de las mismas. Para secuenciar rápidamente notas de duración pretendidamente igual, probablemente sea más fácil y controlable el sustain del sonido utilizado mediante el control de envolvente del instrumento utilizado. Es difícil predecir cómo sonará una ráfaga de decenas de notas por segundo, afinar el sustain del sonido mediante la experimentación es una forma fácil de obtener los mejores resultados, sin necesidad de cambiar literalmente miles de notas de duración.

Ahora otra cuestión es el posicionamiento temporal de las notas. Para mí la única manera que he encontrado para que por debajo de una granularidad de cierto valor de la nota es para editar los eventos MIDI directamente en el DAW. Mi DAW principal (Sonar) permite hacer eso, pero de forma engorrosa, por lo que no he llevado estos experimentos demasiado lejos. Supongo que estos japoneses que se dedican a la música negra MIDI tienen herramientas especializadas o incluso han desarrollado las suyas propias para ello, es decir, utilizando enfoques de composición algorítmica.

CL.

Los archivos MIDI (SMF) especifican un valor PPQ (ticks por negra), que se utiliza como base para todas las marcas de tiempo.

Muchos programas utilizan un valor de 96 o 192 por defecto. La especificación permite valores mucho mayores (hasta 32767), pero muchos programas no se molestan en hacer esto configurable.


Otra forma de conseguir una temporización más rápida sería utilizar notas de 1/128, pero con el tempo duplicado.

Comentarios

  • ¿Hay algún programa que soporte nodos por encima de 128? Creo que esto será más conveniente que calcular. –  > Por Página David.
  • Sibelius soporta hasta 512ª notas, pero no creo que sea la aplicación adecuada para lo que intentas hacer. Como sugieren las otras respuestas, una aplicación basada en MIDI en lugar de un programa basado en notación parece una opción mucho mejor. – usuario19146
Maxim

Si estás familiarizado con la programación puedes resolver tu tarea utilizando alguna de las librerías que ofrecen la posibilidad de gestionar archivos MIDI. Por ejemplo, con DryWetMIDI (.NET library) puedes escribir algo como esto:

var midiFile = new PatternBuilder()

    // Insert 100 A3 notes with length of 1/256 following each other
    .Note(Octave.Get(3).A, new MusicalTimeSpan(1, 256))
    .Repeat(100)

    // Insert pause of 1/512
    .StepForward(new MusicalTimeSpan(1, 512))

    // Insert G#2 with length of 3/1024
    .Note(Octave.Get(2).GSharp, new MusicalTimeSpan(3, 1024))

    // Build pattern and export it to MIDI file
    .Build()
    .ToFile(TempoMap.Default);

// Save to file
midiFile.Write("Black song.mid");

O puede tomar un archivo existente y convertirlo en uno negro con el uso de NotesSplitter para dividir las notas en partes de la longitud especificada:

// Split notes in a MIDI file with step of 1/512
midiFile.SplitNotesByStep(new MusicalTimeSpan(1, 512));

Lea el Wiki de la biblioteca para saber más sobre Patrón y Divisores de notas/acordes.

Tags: