Obtener el nombre del acorde de un conjunto dado de notas

Estoy tratando de encontrar un algoritmo que obtenga el nombre de acorde adecuado dadas ciertas notas, el usuario puede o no informar cuál de las notas es la raíz.

Supongo que el proceso para reconocer el nombre de un acorde difiere según la cantidad de notas que se dan, por lo que tal vez debería haber un algoritmo para tríadas, uno para acordes de 4 notas y otro para más de 5 notas. ¿O hay una forma general de abordar esto? tal vez patrones de acordes?

Puede transformar cada clase de tono establecida en su forma principal y luego usarla como clave para un diccionario de acordes. Esta respuesta contiene información sobre cómo encontrar la forma principal: music.stackexchange.com/questions/82120/… También consulte en.wikipedia.org/wiki/Set_theory_(music)
¿Cuál es, en tu opinión, el nombre adecuado de un acorde? ¿ Incluso el nombre apropiado del acorde...? ¿Puedes dar un ejemplo de un nombre de acorde impropio?
@YourUncleBob esto es bastante interesante, no sabía sobre la teoría de conjuntos, creo que conseguiré un libro.
En realidad, la forma principal de un conjunto de clases tonales en la teoría de conjuntos se encuentra a través de la rotación y la simetría, lo que significa, por ejemplo, que una tríada mayor y menor tienen forma principal (0,3,7). Para su caso de uso, debe usar solo la rotación, no la duplicación, de modo que obtenga (0,4,7) para las tríadas principales.
No ha dicho cuáles serán sus datos de entrada o salida.
@MichaelCurtis La entrada será un conjunto de notas, la salida debe ser un nombre de acorde, una especie de monitor midi profesional de Logic.
@YourUncleBob, ¿entonces es como representar acordes en semitonos desde la raíz?
@ChecheRomo, me refiero a ejemplos reales como input D♭4versus d♭′′y output D♭versus N6, y como ttw señaló que los acordes de sexta aumentada son complicados, ¿cómo nombrarías una sexta aumentada alemana, solo Gr+o Ab#6, o decidirías que es un sub de tritono y lo llamarías Ab7? Tienes que dar salida a un sistema de nombres particular, en parte eso determinará tu algoritmo.
@ChecheRomo Bueno, más o menos. La raíz no estará necesariamente en la parte inferior. Pero la misma colección de notas siempre dará la misma forma principal, independientemente de la inversión que utilice. Así que es una forma de reducir la gran cantidad de posibilidades a un diccionario más pequeño. Cada forma principal aún puede estar abierta a interpretación; CFG-Bb es (0,2,5,7) comenzando en F, pero aún podría ser Csus4b7, o cuartos apilados en G, o Fsus24, o Bb13... Pero esas opciones serían las mismas para cada (0, 2,5,7) acorde.

Respuestas (1)

Algunos acordes (al menos en la armonía del período de práctica común) no se pueden nombrar fuera de contexto. Algunos ejemplos triviales: F-Ab-Db-F es un acorde de Db mayor en sí mismo, pero si se resuelve en G, puede ser una sexta napolitana.

La colección: Ab-C-Eb-F# es una sexta alemana si se resuelve en GCEG y luego en GBDG (o F). Es una séptima dominante si se resuelve en Db-F-Ab o tal vez una sustitución de tritono. Posiblemente el uso de F# para la sexta alemana y Gb para la séptima dominante ayude, sin embargo, los compositores abordan el acorde como una sexta alemana y lo resuelven como séptima dominante y viceversa.

Algunas ambigüedades son cuestiones de gusto. En San Antonio Rose (la única canción que se me ocurre rápidamente que hace esto) los acordes iniciales son Bb-Eb-C7-F7; cuando toco esta pieza u otras piezas similares, pienso en I-IV-II7-V7 (especialmente porque los vocalistas pueden querer que transponga), pero al diseñar un esquema de acordes durante la composición, pienso en I-IV-V7/V-V7 que muestra la estructura y explicaría un Bb-Eb-C7-dg-c6-F7-Bb como una dominante secundaria que se resuelve en una cadencia engañosa seguida de un ciclo de quintas.

Una cosa que podría hacer (para volver a la pregunta original) es reorganizar la colección de notas para tener tantos tercios como sea posible y nombrar el acorde a partir de ahí. Mover las notas debería indicar qué inversión tiene una. DFGB se puede organizar para que sea GBDF con un tercio mayor seguido de tres tercios menores.

Maximizar la cantidad de tercios tiene sentido para mí, gracias, lo intentaré de esta manera.
N6versus Dbis análisis (identificar la función en una clave) versus naming (identificar la raíz y la calidad del acorde).