Ayuda con una aplicación web de armonía

Jota Arkham
#46 por Jota Arkham el 18/12/2015
#44

Gracias kakasle, sí conocía Pure Data pero nunca lo he trasteado. Sus usos trascienden el propósito de esta aplicación (está orientado -o al menos sus puntos fuertes están ahí- a desarrollar controladores y capas de proceso de información de bajo nivel hacia alto), pero siempre está bien tenerlo en cuenta, por si en un futuro la aplicación creciera.
Subir
OFERTASVer todas
  • -37%
    Behringer SU9920
    69 €
    Ver oferta
  • -10%
    Komplete Kontrol M32 edición limitada
    98 €
    Ver oferta
  • -49%
    GForce OB-X
    66 €
    Ver oferta
vagar
#47 por vagar el 18/12/2015
Javi Arce escribió:
A veces me pierdo en otros niveles de abstracción y se me olvida lo fundamental, de ahí vienen errores como partir de un extraño patrón de semitonos para construir las escalas. Siempre es bueno tomar referencias de lo esencial y dejarse de marcianadas que a largo plazo no funcionan, aunque ahorren tiempo a corto.


Sí, como ya has comprobado, el número de semitonos es aritméticamente sencillo pero semánticamente insuficiente (+6 semitonos puede ser cuarta aumentada o quinta disminuida, por ejemplo). Y hay escalas que mezclan sostenidos con bemoles, como sol menor armónica.

Si tienes nociones de álgebra a nivel universitario de matemáticas o ingeniería te puede resultar fácil aplicarlas a este problema.

Tendríamos dos conjuntos: "N", el de las notas, e "I", el de los intervalos.

Una nota es una 3-tupla definida por su nombre (A-F), su alteración (bb,b,nat,#,##) y su octava absoluta (0-8, siendo C4 el do central, es un dato importante para cosas como hacer sonar las notas correlativamente, representarlas en una partitura, contemplar la posibilidad de disposiciones abiertas de acordes...)

Un intervalo es una 2-tupla definida por su distancia (medida como desplazamiento en el círculo de 7 nombres, el límite es arbitrario y puede ser negativa para representar intervalos descendentes) y su calidad (doble disminuido, disminuido, menor, justo, mayor, aumentado, doble aumentado). En el último caso el conjunto no sería todo el producto cartesiano de ambos elementos de la tupla, ya que no existen intervalos como la tercera justa o la quinta mayor.

A partir de aquí podrías definir funciones, como la suma de una nota y un intervalo NxI->N o la resta de dos notas para dar un intervalo NxN->I. Estas funciones se implementarían a partir de operaciones aritméticas que tengan en cuenta la irregularidad del círculo de nombres.

O podrías definir una escala como una nota raíz o tónica más un conjunto de intervalos que representen los grados.
Subir
carlosgama
#48 por carlosgama el 18/12/2015
trasteando me he encontrado que en la escala C acústica muchos A# están gráficamente mal escritos, son Sib;repasalo, pasa en más tonalidades como en C# que utilizas en FA cuando es en realidad un Mi#, errores de grafía.
Subir
Jota Arkham
#49 por Jota Arkham el 18/12/2015
#47

Genial, he cogido esta definición de teoría de conjuntos y he hecho una "transliteración" estricta a código fuente. Lo he subido a Pastie, por si a alguien le puede servir de ayuda como sistema de partida respetuoso con la teoría musical básica. He usado C#, por no usar JavaScript que es más sucio, menos estructurado y menos legible que C#:

http://pastie.org/10639586
Subir
vagar
#50 por vagar el 18/12/2015
Por ahí van los tiros, aunque implementar las verdaderas operaciones es bastante más complejo, pero si entiendes el modelo ya ves que es cuestión de ponerse y que te resuelve la mayoría de casos que te puedas encontrar.

Como detalle de implementación puedes intentar asociar las constantes simbólicas a valores numéricos que luego te ayuden a hacer los cálculos, p.e. las alteraciones pueden ser (-2, -1, 0, 1, 2), pero para las calidades vas a tener que recurrir a tablas o a código condicional.
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo