Generación de tríadas a partir de un número de nota MIDI (Música, Midi)

Grumpy-Mike preguntó.

Tengo una sola nota de un instrumento MIDI (controlador de viento) y me gustaría generar una tríada mayor a partir del número de nota. Según tengo entendido la quinta se genera sumando siempre siete al número de nota MIDI, y la tercera se genera sumando cuatro. Sin embargo, no creo que funcione así porque al añadir un número fijo se genera una tríada mayor o menor dependiendo de la nota de partida. ¿Existe una manera de generar todas las tríadas mayores ( o menores ) para cualquier nota raíz dada?

Por favor, tenga en cuenta que no soy músico, lo que me impide averiguar cómo hacer esto. Si es necesario, puedo implementar una tabla de búsqueda para calcular esta nota media.

Comentarios

  • De cualquier nota dada, su P5 (quinta) es siempre 7 semitonos más alta, su M3 (tercera mayor) es siempre 4 semitonos más alta, y su m3 (tercera menor) es siempre 3 semitonos más alta. –  > Por Tim.
  • Gracias por esto. Lo siento, pero creo que no he expuesto bien mis requisitos. Para añadir algo más de información. Mi controlador sale en la tonalidad de Do mayor. Para poder transponerlo a cualquier tonalidad estoy añadiendo un número constante a las notas MIDI. Además cuando estoy en esta tonalidad quiero un interruptor para dar la opción de generar una triada menor o una triada mayor junto con la nota tocada. Por lo tanto creo que debo considerar la distancia de la nota que se está tocando en relación con la nota raíz de la clave en la que estoy. Para añadir contexto, estoy produciendo instrumentos para discapacitados que son fáciles de tocar. –  > Por Grumpy-Mike.
  • @Grumpy-Mike He añadido soporte de acordes en un controlador de viento para un proyecto personal. No estoy tratando de hacer publicidad de esto, pero hay algunos acordes que se implementan (ver el final de este archivo). Todo es relativo a la nota raíz (la que se toca actualmente). En caso de que pueda ayudar… –  > Por Tom.
4 respuestas
topo Reinstalar Mónica

Según tengo entendido la quinta se genera sumando siempre siete al número de nota MIDI, y la tercera se genera sumando cuatro.

Correcto – incluso más específicamente, la perfecta quinta perfecta se genera añadiendo siempre siete al número de nota MIDI, y la mayor tercera mayor se genera añadiendo cuatro.

Sin embargo, no creo que funcione así porque al añadir un número fijo se genera una tríada mayor o menor dependiendo de la nota inicial.

No te preocupes, sí funciona así – empezando con una nota raíz y añadiendo intervalos con un número fijo de semitonos, que es lo que representan los números de nota MIDI, será siempre dará como resultado el mismo acorde.

Cuando hablas de «mayor o menor dependiendo de la nota de partida», quizás estés pensando en los intervalos entre grados de la escala diatónica, como ‘una tercera’, que pueden tener diferentes tamaños. Por ejemplo, en la escala mayor, la tercera entre los grados 1 y 3 es una tercera mayor, y la tercera entre el 2 y el 4 es una tercera menor. Otra forma de ver esto es que la escala diatónica se «salta» algunas notas en la escala cromática, por lo que se obtienen diferentes números de semitonos, y por lo que las tríadas basadas en diferentes grados de una escala mayor son a veces mayores y a veces menores.

Pero los números de las notas MIDI no se basan en los grados de la escala diatónica – son puramente números de semitonos. La fórmula para cada tipo de acorde en términos de número de semitonos es siempre la misma.

¿Existe una forma de generar todas las tríadas mayores ( o menores ) para una nota raíz determinada?

Ya tiene la fórmula para generar tríadas mayores. Para las tríadas menores, basta con sumar 3 para obtener la tercera menor, y 7 para obtener la quinta perfecta.

No estoy seguro de cuál es su caso de uso para generar todos los acordes mayores o menores, pero tenga en cuenta que una clave menor no siempre utiliza acordes menores, y una clave mayor no siempre utiliza acordes mayores.

Para añadir algo más de información. Mi controlador sale en la tonalidad de Do mayor. Para transponerlo a cualquier tonalidad añado un número constante a las notas MIDI. Además cuando estoy en esta tonalidad quiero un interruptor para dar la opción de generar una triada menor o una triada mayor junto con la nota tocada. Por lo tanto creo que debo considerar la distancia de la nota que se está tocando con respecto a la nota raíz de la tonalidad en la que estoy.

Así que todo lo que hemos dicho hasta ahora sobre cómo generar acordes mayores y menores es correcto – pero si entiendo bien, también quieres generar el acorde «correcto» basado en el grado de la escala. Para hacer esto, tenemos que hacer algunas suposiciones sobre cuáles son los acordes «correctos», pero un punto de partida común en la música occidental es asumir los acordes diatónicos de la escala.

Dices que sabes que tu controlador siempre emite en la tonalidad de Do mayor, así que podrías ahorrarte algo de lógica si calculas los acordes en ese punto, porque sabes que la ‘nota raíz’ de la escala es Do – nota midi 60, que es, convenientemente, también un múltiplo del número de semitonos de la octava cromática.

Supongamos que estamos utilizando la escala mayor, por lo que queremos generar los acordes diatónicos de la escala mayor.

si (número de nota % 12) = 0, se toca un acorde mayor.
si (nota número % 12) = 2, se toca un acorde menor.
si (nota número % 12) = 4, se toca un acorde menor.
si (nota número % 12) = 5, se toca un acorde mayor.
si (nota número % 12) = 7, se toca un acorde mayor.
si (nota número % 12) = 9, se toca un acorde menor.
si (nota número % 12) = 11, se toca un acorde disminuido acorde (raíz, raíz+3, raíz+6)

A partir de ahí, puedes hacer tu transposición global para cambiar la salida a la tonalidad correcta.

Por supuesto, esto todavía deja algunas preguntas sin respuesta. ¿Habrá una forma separada en la que el jugador pueda indicar las claves menores, o simplemente tendrán que establecer la transposición de forma adecuada y tocar a partir de La? ¿Qué pasa si un jugador toca una nota que no está en la escala diatónica, o quiere un acorde que no está en el conjunto de acordes diatónicos? No hay respuestas «correctas» a estas preguntas: tendrás que encontrar el equilibrio adecuado entre flexibilidad y facilidad de uso.

MMazzon

Si la nota inicial es la raíz del acorde, añada +4 (tercera mayor) y +7 (quinta perfecta) para generar un acorde mayor en posición de raíz. Por ejemplo: 60 +4 +7 = 60 64 67 = C E G (C mayor)

Para generar una tríada menor, +3 (tercera menor) +7, por ejemplo: 60 +3 +7 = 60 63 67 = Do Mib Sol (Do menor)

Si por «generar todas las tríadas mayores/minores para una nota dada» se entiende generar otras inversiones del acorde, entonces por ejemplo (siempre tomando 60 = C4 como nota inicial)

primera inversión = +4 +7 +12 = 64 67 72 = E G C (C mayor, primera inversión)

segunda inversión = +7 +12 +16(12+4) = 67 72 76 = G C E (C mayor, segunda inversión)

siguiente octava = +12(12+0) +16(12+4) +19(12+7) = 72 76 79 = C E G (Do mayor, posición de raíz, siguiente octava)

Para las tríadas menores, utilice +3 en lugar de +4

Para las octavas menores, reste 12, 24, etc.

Para tríadas aumentadas: RAÍZ +4 +8

Para tríadas disminuidas RAÍZ +3 +6

Y así sucesivamente… es todo bastante simple y sencillo, como un teclado de uso en el que cada tecla es un número diferente, siendo el Do central el 60.

piiperi Restablecer Mónica

Si se añade un número fijo se obtendrá una tríada mayor o menor dependiendo de la nota inicial

No es así. Los números de nota MIDI son semitonos, y añadir un número fijo de semitonos siempre da como resultado exactamente el mismo tipo de acorde independientemente de la nota de partida.

Pero cómo se interpreta el acorde cuando se toca en un contexto musical real puede ser muy diferente. En una canción en la tonalidad de La menor, tocar un acorde de Fa mayor crea un efecto completamente diferente al de Mi mayor, aunque ambos sean acordes mayores con exactamente los mismos intervalos en semitonos (es decir, valores de número de nota MIDI) en relación con la raíz.

badjohn

Parece que hay cierta confusión en cuanto a lo que quieres decir con «generar todas las tríadas mayores ( o menores)». Ya se han mencionado las inversiones, así que no las repetiré, pero puede que te refieras a otra cosa.

Imagina que tocas una forma de acorde simple en una guitarra y luego la mueves hacia arriba traste a traste con una cejilla o cejilla. La raíz subirá un semitono cada vez y el número de semitonos entre cada nota del acorde permanecerá fijo. Si se inicia como una tríada mayor, entonces se mantendrá así. Sólo tienes que añadir 1 a todas tus notas midi para conseguir este efecto.

Ahora toca un acorde sencillo en un piano, por ejemplo, el Do central y el Mi y el Sol de arriba; esto es una tríada mayor. Ahora sube una nota blanca y obtendrás D F A. Dos diferencias con respecto a la guitarra son que la raíz ha subido un tono y ahora tienes una tríada menor. Sube otra nota blanca y tendrás E G B; la raíz ha subido un tono de nuevo y tienes otra tríada menor. Ahora a F A C, la raíz ha subido sólo un semitono y tienes de nuevo una tríada mayor. Cuando llegue a Si Re Fa, tendrá una tríada disminuida. Esto requerirá un patrón más complejo para los números MIDI. Si esto es lo que quieres, añadiré más detalles.

Tags: