HARMONYPAL: Un Plugin pa a la
p ác ica con aco des de piano
HARMONYPAL: A Plugin o
p ac icing piano cho ds
AUTOR: JAIME CALZADA FERRERAS
DIRECTOR: MIGUEL GÓMEZ-ZAMALLOA GIL
TRABAJO DE FIN DE GRADO EN EL GRADO EN INGENIERÍA
DEL SOFTWARE
CURSO 2021 - 2022
FACULTAD DE INFORMÁTICA
2
3
RESUMEN
Ha monyPal es un p og ama que ecibe las no as ocadas en un piano digi al pa a
analiza aco des, gene a aco des nue os que encajen con el ac ual y mos a le al
usua io oda es a in o mación en un o ma o ácil de comp ende con elocidad. Su
obje i o es asis i en la p ác ica musical a dos pe iles gene ales de usua ios: po un lado,
es udian es de piano de ni eles iniciales e in e medios, a quienes en ende cómo lle a
el hilo musical con au oconsciencia y agilidad suele esul a complicado sin la p esencia
de un p o eso . Po o o, composi o es a icionados o con des eza en aspec os musicales
no elacionados con la a monía, de sob a conocedo es de la no siemp e p oduc i a
expe iencia composi i a de sen a se la gos a os al piano e imp o isa has a opa se con
unos aco des que suenen bien.
En mi expe iencia pe sonal, me he is o a mí mismo en es as dos si uaciones. incluso,
en la p ime a, en el pues o del alumno y del p o eso . Como conocedo de las
di icul ades que a añe es e aspec o de la p ác ica pianís ica y composi i a, he decidido
dedica mi T abajo de Fin de G ado a desa olla una he amien a que, de una o ma u
o a, pudie a se i a mis alumnos pa a mejo a sus habilidades po su cuen a y
aumen a su en oque alejándoles de es ue zos innecesa ios.
La he amien a oma la o ma de un plugin MIDI, un p og ama que puede se ejecu ado
de mane a independien e o como ex ensión de un DAW, so wa e de p oducción
musical. Su u ilización, pa a el músico mínimamen e a ín a la in o má ica, es i ial, y no
equie e más que de un eclado de piano con conexión al compu ado pa a unciona .
Una ez es é lis o y uncionando, su espues a es inmedia a, y an sólo necesi a que el
jo en músico enga conocimien os básicos de a monía pa a en ende sus
uncionalidades.
Espe o que con el desa ollo de es a he amien a pueda llega a se i de ayuda a alguna
pe sona que compa a mis pasiones y, en el mejo de los casos, llega a acili a le las
a eas de ap endizaje de la mane a en que me hubie a gus ado a mí en su momen o.
PALABRAS CLAVE: PIANO, ACORDE, ARMONÍA, MIDI, PLUGIN
4
ABSTRACT
Ha monyPal is a music p og am wich ecei es an inpu o m a digi al piano keyboa d
and e ie es om i he in o ma ion o a played cho d, algo i hmically gene a es new
cho d sugges ions o play nex and shows all he in o ma ion o he use in a simple
in e ace. I aims o assis musical p ac ice o wo kinds o use s in pa icula : on he one
hand, en y-le el s uden s, who may a ha poin s uggle wi h some aspec s o he
ha mony as unde s ood om he piano wi hou hei eache , such as keep on playing
cho ds wi hou in e up ion and ha much hinking. On he o he , aspi ing compose s,
o mo e ad anced and c ea i e piano s uden s, especially hose no well e sed wi h he
ha mony aspec o music heo y, who may need a li le boos o hei imagina ion when
hey a e ying cho d sequences o hei pieces, o simply imp o ising.
I ha e ound mysel in all o hese si ua ions, bo h as he eache and he s uden . Wi h
all he knowledge o he ups and downs o hese p ocesses, I decided o dedica e his
wo k o he de elopmen o a ool ha can help hose ha migh sha e hese di icul ies
a one poin o ano he , hinking o wha would my s uden s wan o ha e a hei
disposal while I´m no he e o help hem. This ool migh help hem ocus on he mo e
p ac ical aspec s and cu ime wi h he musical heo y, wich migh a he beginning be
an en y ba ie mo e han a ool o hem.
Ha monyPal akes he shape o a MIDI plugin, a p og am ha can be un ei he on i s
own o as an ex ension o a Digi al Audio Wo ks a ion. I s usage is simple, needing only
he mos basic knowledge o music compu ing, and i s equisi s go no u he han a
digi al piano, o MIDI con olle , and a PC. Once up and unning, i s esul s a e
immedia ely appa en , and only need om he use basic piano knowledge once again
o make use o i .
I implemen ed his applica ion wi h he hopes ha i can help hose people such as my
s uden s and my musician pals, and be a leas ha li le push hey may need o each
u he heigh s in hei musical lea ning jou ney, such as I would ha e liked o ha e back
hen.
KEYWORDS: PIANO, CHORD, HARMONY, MIDI, PLUGIN
5
ÍNDICE
1 – INTRODUCCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 – MOTIVACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 – CONTEXTO DE LA INFORMÁTICA MUSICAL . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 – EL ESTÁNDAR MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 – CONTENIDO TEÓRICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1 – LA ARMONÍA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 – LAS NOTAS MUSICALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
2.1.2 – EL ACORDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3 – LAS INVERSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.3 – LA JERARQUÍA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
2.1.4 – FUNCIONES TONALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
2.1.5 – LA EJECUCIÓN EN EL PIANO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
2.2 – EL ESTÁNDAR MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
2.3 – EL FRAMEWORK JUCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3 – LA APLICACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
3.1 – PRESTACIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.1.1 – ANALIZADOR DE ACORDES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.2 – EL ALGORITMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
3.1.3 – ENLACE DE ACORDES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.4 – LA TONALIDAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 – IMPLEMENTACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1 – EL DIRECTORIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.2 – PLUGINEDITOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.3 – PLUGINPROCESSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6
4.3.1 CHORDPROCESSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.3.2 CHORDDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
5 – CONCLUSIONES Y TRABAJO FUTURO . . . . . . . . . . . . . . . . . .36
6 – BIBLIOGRAFÍA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
7
CAPÍTULO 1
In oducción
1.1 Mo i ación
Es e p oyec o nace como la consecuencia ine i able de mis ci cuns ancias académicas,
compaginando mi iempo de es udios en e dos g andes disciplinas. Po un lado, la
in o má ica, pues mi i ulación en Ingenie ía del So wa e e su conclusión con es e
T abajo de Fin de G ado. Po o o, la música, y especí icamen e las especialidades de
mis es udios en el conse a o io (Piano y Composición), que han sido desde el p incipio
la ma e ia en o no a la que he que ido desa olla el abajo.
El abajo comienza a desa olla se jun o a Ja ie Na alón. En la ase inicial
p e endíamos desa olla una aplicación con múl iples uncionalidades, un alcance muy
g ande y un en oque poco concen ado. Du an e es e pe íodo él abajó con la
p oducción de sonidos musicales, y yo con la ep esen ación de la in o mación de las
no as. T as la escisión, cada uno pe siguió su en oque po su lado. Su p oyec o,
Ry hmPal, e minó siendo una he amien a pa a gene a acompañamien os musicales
a pa i de una melodía en iempo eal, mien as que el mío pa e de los aco des del
usua io pa a gene a p opues as de nue os aco des que encajen musicalmen e uno
de ás de o o.
A la ho a de een oca mi p oyec o, pa í de mi expe iencia como p o eso de piano y
escogí elabo a un p og ama que me ayuda a a hace comp ende a mis alumnos cie os
undamen os de la p ác ica básica del ins umen o. En el piano, esencialmen e, se
sepa an las a eas de mano de echa y mano izquie da en melodía y aco des
espec i amen e, y es con es a segunda, siendo ecuen emen e la mano no dominan e
y con una unción elegada a “secunda ia” po no ejecu a las melodías que cualquie a
puede a a ea , con la que cons an emen e encuen o los p oblemas de ap endizaje
más se e os. El ge men de la idea de Ha monyPal es á en las dudas y p oblemas que
puede encon a se un neó i o de la p ác ica pianís ica cuando abaja aco des en la
mano izquie da po su cuen a, pe o c eo i memen e en sus posibilidades pa a asis i a
músicos de mayo calib e a la ho a de busca sono idades menos e iden es y gana
luidez con la eo ía de la a monía.
Ha moyPal es, en de ini i a, una he amien a que analiza musicalmen e el aco de que
oque el usua io, gene a es aco des que suenen bien jun o al p ime o y mues a cómo
debe ía oca los, pa a que descub a nue as sono idades, p ac ique la digi ación y no se
es anque en ó mulas epe idas a la ho a de imp o isa o compone .
8
1.2 Con ex o de la in o má ica musical
Pa a en ende exac amen e qué es Ha monyPal a ni el in o má ico, debemos habla de
un pa de ideas. En p ime luga , los DAW (Digi al Audio Wo ks a ion), que son en o nos
de abajo pa a p oduc o es musicales en los que g aba , edi a , aplica e ec os y da
o ma o a las c eaciones musicales. Pa a es ablece una equi alencia, son he amien as
que suponen pa a un músico lo que Pho oshop pa a un o óg a o, o el p opio Visual
S udio pa a un p og amado . Hay un buen me cado de ellos, aunque lo impo an e es
sabe que la g an mayo ía de ellos (Excep uando, p incipalmen e, P oTools) son
compa ibles con plugins del mismo o ma o.
Ha monyPal es un plugin musical, que no es di e en e a un plugin de cualquie o o ipo
de p og ama (1). Se puede ins ala en casi cualquie DAW an solo a as ando un
a chi o, y se puede a anca desde den o del DAW, o incluso como aplicación
independien e, aunque si se ejecu a de es a mane a (llamada s andalone) no end á
odas sus uncionalidades.
Los plugins musicales, en base a su uncionalidad, se di iden en es ipos, aunque
siemp e puede habe hib idaciones en e ellos:
-Ins umen os i uales: es os son los que p oducen audio en base a mues as
p eg abadas y de e minados inpu s, ya sean del con olado del usua io o del DAW. Son,
po ejemplo, los que pe mi en que, ocando un piano digi al, podamos escucha o g aba
sonido de cue das, ompe as o un co o en e o.
-P ocesado es de audio: no p oducen sonidos, sino que eciben sonidos pa a
manipula los de de e minadas mane as. Po ejemplo, los plugins que in oducen e ec os
al audio de en ada pa a eplica lo de o a mane a: ecualización, e e be ación,
co ección de a inación…
-P ocesado es de MIDI: no a an con audio, sino con in o mación musical en
o ma de mensajes del es ánda MIDI. Reciben mensajes y los p ocesan o gene an
nue os en base a la en ada. Ha monyPal encaja ía en es a ca ego ía.
1.2.1 El es ánda MIDI
MIDI son las siglas de Musical Ins umen Digi al In e ace. Es un es ánda c eado pa a
la ep esen ación digi al de in o mación musical y su ansmisión adecuada a a és de
máquinas di e en es.
Su uncionamien o se sus en a en mensajes MIDI de dis in os ipos. Se pueden
in e cambia en e disposi i os en iempo eal como, po ejemplo, lo que sucede ía
cuando ocas un piano, y es e a en iando las no as que ocas al compu ado , o se
pueden o ganiza en una línea de iempo y se lanzados de mane a secuencial, como
9
pasa ía si p ep og amas los sonidos de una canción, pa a que cada no a suene en su
p eciso momen o y en un ins umen o conc e o, y ep oduces la secuencia. Los hay de
múl iples ipos, aunque los más habi uales y que a noso os nos in e esa son los de No e
On y No e O , que se co esponden a la señal de oca una no a o apaga la,
espec i amen e.
Figu a 1.1: Ejemplo de log de mensajes MIDI en el DAW Reape .
Podemos c ea , ecibi y manipula mensajes MIDI como con cualquie o o ipo de
in o mación digi alizada, de mane a que un p og ama puede, sin ningún p oblema,
ecibi la en ada de un piano digi al (o, mejo dicho, con olado MIDI), con e i la en
un o ma o más p ocesable, in e p e a la y gene a nue os mensajes a pa i de ella,
pa a mos a los po pan alla en el o ma o deseado. Así es como unciona Ha monyPal.
16
inal, que no es más que la can idad necesa ia pa a da la uel a y llega de nue o a la
p ime a no a, sumando 12.
La decisión de adop a es a no ación en el p og ama se debe a la acilidad de in e sión
del aco de. Del mismo modo que el in e alo Do –> Mi = 4 iene un in e so, Mi –> Do =
8, los aco des ienen ambién sus in e siones, de igual uncionamien o y que
de alla emos más adelan e. Si el aco de u ie a las mismas no as, pe o en dis in o o den
(en ez de Do Mi Sol, Mi Sol Do), la in e álica medida desde la undamen al esul a
compleja: la nue a ep esen ación pa iendo desde el Mi se ía 3, 8, en luga de 4, 7, y
nos hallamos an e dos ep esen aciones i econocibles de, esencialmen e, las mismas
no as. Con nues a ep esen ación no a a no a, emos que el aco de que an es e a 4, 3,
5 se con ie e aho a en 3, 5, 4, y que hace algo an sencillo como la o ación de la
in e álica un alo a la de echa nos apo a la misma in o mación, pe o con una
ep esen ación numé icamen e muy simila . Las en ajas de es e segundo o ma o pa a
un p og amado son e iden es si nues o obje i o pasa po cambia el o den de las no as
indis in amen e y con ecuencia.
2.1.3 Las in e siones
Es e cambio de o den de las mismas no as de un aco de es la in e sión. Un mismo
aco de de n no as iene has a n es ados posibles: el llamado undamen al, que iene
como p ime a no a la undamen al del aco de, y n-1 in e siones nomb adas po
o dinales. Sol, Do, Mi, po ejemplo, es la segunda in e sión del p o e bial aco de de Do
Mayo . Nó ese que, aunque en las in e siones la p ime a no a pasa a se o a dis in a,
la undamen al del aco de segui á siendo Do, y iene dada po la que se ía la p ime a
no a con su in e álica o iginal.
17
Figu a 2.4: Las in e siones de aco des.
Las in e siones son impo an es pa a noso os en an o que lo son pa a la ejecución
pianís ica: el p og ama ha de in e p e a cada inpu de es no as como un de e minado
ipo de aco de, y no enemos la ga an ía de que el usua io las in oduci á siemp e en un
mismo o den, así que es necesa io ope a con los conjun os de no as al y como lleguen,
y pa i de la base de que puede a a se de un aco de en in e sión. Además, a la ho a
de mos a las opciones de aco des pa a oca a con inuación, puede se con enien e
pa a la écnica musical que es os aco des apa ezcan ambién in e idos, pa a que, po
ejemplo, la mano del pianis a no enga que mo e se más de lo necesa io a lo la go del
eclado en e un aco de y el siguien e.
2.1.4 La je a quía
Del mismo modo que un e a o pone en el oco a la pe sona ep esen ada, y elega a
papeles secunda ios el ondo, los obje os o el paisaje, la a monía de un de e minado
agmen o musical se enma ca en una onalidad que de e mina a qué no a se le o o ga
un mayo peso, cuáles es án supedi adas a ella y de qué mane a. El concep o mismo de
onalidad es complejo y al amen e cambian e según el es ilo y época, de mane a que
e emos una e sión simpli icada, basada en cómo la aplicación la en iende.
Esencialmen e, una onalidad es el conjun o de no as den o de las doce o ales que
podemos usa con un mayo g ado de cohe encia y, den o de ellas, qué emoción
e oca an en el oyen e po su elación con las demás. Po lo que a noso os espec a, la
onalidad es á o mada po sie e no as o g ados. Si, po ejemplo, una canción iene po
18
ónica (no a de inicio y in, y de mayo can idad de eces usada) la no a Do, di emos que
esa no a es el p ime g ado, esc i o en núme os omanos. Cuáles son los demás g ados
es un asun o muy es udiado y conc e o, pe o lo simpli ica emos en el siguien e esquema
que ayuda a isualiza cómo se p ocesa en el algo i mo:
Figu a 2.5: Los g ados según Ha monyPal.
Es e es un ejemplo a pa i de la ónica Do. Lo impo an e, como con los aco des, es la
in e álica y no las no as conc e as. Po ejemplo, pa a la onalidad de Re, el segundo
g ado se ía Mi, y el e ce o co esponde ía a las no as Fa y Fa#. Habla de g ados, en
luga de no as conc e as, nos pe mi e nue amen e pone nos en un ni el de abs acción
con enien e pa a la p og amación.
2.1.5 Funciones onales
Cada uno de es os g ados iene unas ca ac e ís icas y una elación sono a con el es o
de la onalidad que es necesa io conoce en su ni el más elemen al. Hugo Riemann y
Die he de la Mo e hablan de la a monía uncional en un con ex o con empo áneo y
comp enden odos los g ados de la escala en es unciones:
-Tónica: los g ados p ime o, e ce o y sex o. Suenan es ables, eposados, y es de
donde la música pa e y a donde llega. La misma no a ónica es la más impo an e de la
onalidad po su unción de anclaje.
-Subdominan e: los g ados cua o y segundo. Una unción de ansición, que
sugie e p og esión y mo imien o, pe o sin llega a gene a choques ni ines abilidades.
-Dominan e: Los g ados quin o y sép imo. La unción de ensión máxima,
necesidad de esolución hacia la ónica, expec ación y exal ación. El clímax de las ases
musicales an es del cie e en ónica. Con iene la no a sensible, el onceno de los
semi onos, que es la de mayo ene gía esolu i a y segunda más impo an e de la
onalidad.
19
El uncionamien o básico de la a monía occiden al necesi a de la al e nancia de es as
unciones, gene almen e en es e o den y cíclicamen e, pa a se econocible y
sa is ac o io.
2.1.6 Los enlaces en el piano
A la ho a de aslada odo es o al eclado de un piano, debemos en ende que un jo en
músico no abaja á día a día con odos es os alo es numé icos y concep os eó icos,
sino que ha de desen ol e se con la is a del eclado y su memo ia muscula . Cuando
se sien a a imp o isa , elige a bi a iamen e una onalidad y lanza su aco de de ónica,
necesi a dos cosas: sabe qué aco de oca á a con inuación, y ene cla o dónde es án
las eclas co ec as.
Pa a elegi un aco de no bas a con segui es e p incipio básico de Tónica –
Subdominan e – Dominan e y epe i lo sin más medi ación, pues si bien se ob end á un
esul ado co ec o, nunca se á demasiado in e esan e ni se i á al in é p e e pa a
descub i posibilidades écnicas o sono as. Debemos ene en cuen a odos los aspec os
b e emen e explicados en es e esumen eó ico y o os muchos más pa a pode
ga an iza unos aco des sucesi os in e esan es al oído como a la mano del pianis a, y de
eso se enca ga á nues o algo i mo.
Y, sob e odo, una ez elegido un aco de, ha de queda cla o cómo enlaza lo de mane a
cómoda y na u al, sin ealiza desplazamien os innecesa ios y man eniendo en su luga
las no as comunes en caso de habe las. Aquí es donde es necesa ia la ep esen ación
g á ica del aco de en cues ión sob e un eclado en el que quede me idianamen e cla o
cómo han de mo e se cada uno de los dedos del in é p e e. Los aco des pa a enlaza
han de oma en cuen a sus po enciales in e siones pa a p esen a se de la mane a más
pianís ica posible.
Esencialmen e la egla es: cuando haya no as comunes en e los dos aco des, és as se
man ienen en su posición, y pa a las que sean di e en es, han de mo e se la meno
can idad de semi onos posible. El aco de esul an e no debe supe a los doce semi onos
en e su no a más g a e y la más aguda, man eniendo la que llamamos posición ce ada.
2.2 MIDI
El uncionamien o de es e y cualquie plugin o aplicación de in o má ica musical gi a en
o no al es ánda MIDI. C eado en los años 80, y mo i ado po las ue es necesidades
de los incipien es ideojuegos domés icos e ins umen os elec ónicos (como los
sin e izado es), MIDI es ablece cómo se ansmi en los mensajes musicalmen e
signi ica i os en e p og amas o disposi i os, y es el que pe mi e que hoy en día un
eclado digi al pueda conec a se a cualquie compu ado con un pue o USB cualquie a,
20
se de ec ado y lanza sonidos p eg abados, modi ica sus pa áme os y, en esencia,
p oduci música digi almen e.
A ni el básico, MIDI son sus mensajes. Cada mensaje MIDI cons a de, como máximo,
es by es, siendo el p ime o de ellos uno de con ol, llamado by e de es ado. Es e by e
se di ide a su ez en es agmen os: el p ime o, un solo bi siemp e po alo 1. El
segundo indica el ipo de mensaje MIDI que se a a desc ibi a con inuación, de en e
los ocho que acep an an o el sis ema como los es bi s que se le des inan. Po ejemplo,
un mensaje puede se de No e On, si especi ica que se es á ocando una no a, o de Pi ch
Bend, si se es á haciendo un bending ( écnica de modi icación del ono ípica en gui a a
y sin e izado es) sob e una no a conc e a. El e ce agmen o indica el canal MIDI, de
en e los 16 que dejan disponibles los úl imos cua o bi s, al que es á des inado el
mensaje. MIDI sopo a dis in os canales pa a que, po ejemplo, puedan coexis i
múl iples ins umen os i uales con sus di e en es no as y modi icaciones en el mismo
agmen o de música. Los demás by es, llamados de es ado, de e minan alo es
ele an es pa a cada ipo de mensaje. Pa a el mensaje No e On, po ejemplo, el p ime
by e especi ica qué no a se es á ocando, y el segundo su “ eloci y” o in ensidad de
pulsación.
Figu a 2.6: Es uc u a de un mensaje MIDI.
Con p og amas capaces de gene a mensajes MIDI a pa i de una en ada (como las
pulsaciones sob e un con olado MIDI) y o os capaces de in e p e a es os mensajes y
gene a señales sono as (los llamados ins umen os i uales), enemos los elemen os
necesa ios pa a c ea música con equipo exclusi amen e digi al. Inmedia amen e, el
lími e de las posibilidades sal a an lejos que, ni se ha alcanzado más de cua en a años
después de la c eación del es ánda , ni pa ece que aya a alcanza se en el u u o
ce cano.
2.3 JUCE
Pa a pode saca p o echo de las capacidades de los mensajes MIDI, se puede
simplemen e p og ama en un IDE de p e e encia y gene a los mensajes MIDI de
mane a a esanal, pe o es con enien e dispone de lib e ías y uncionalidades
especí icas pa a la in o má ica musical. Pa a es e p opósi o exis e JUCE, un amewo k
21
que u iliza el lenguaje C++ y lib e ías p opias pa a acili a el desa ollo de so wa e
musical, incluyendo ges ión de audio y MIDI, e independiza el desa ollo de código de
la compilación especí ica del en o no.
Las aplicaciones desa olladas con JUCE se di iden esencialmen e en aplicaciones y
plugins. Cada una iene su es uc u a de clases p opia, pe o esencialmen e se
di e encian en su p opósi o: aunque un plugin suele pode ejecu a se de mane a
independien e (s andalone), es á pensado pa a unciona en conjun o con o as
he amien as, ins umen os i uales o e ec os, es deci , den o de un DAW. En cambio,
las aplicaciones es án pensadas desde un inicio pa a unciona comple amen e po sí
mismas, como pod ía sucede , po ejemplo, con una App pa a disposi i os mó iles que
o ezca un eclado con sonidos. En el caso de Ha monyPal, a amos con uno de esos
plugins que puede unciona de mane a independien e si se es á dispues o a enuncia
a uncionalidades como el p opio audio, que no es es ic amen e necesa io.
2.3.1 P ojuce
P ojuce es el nomb e que ecibe la aplicación des inada a la implemen ación de
aplicaciones con las lib e ías de JUCE. Se puede desca ga y usa en minu os, y su
uncionamien o es an sencillo como esenciales son sus implicaciones (3).
Al desa olla un plugin con JUCE han de ene se muy en cuen a las dis ibuciones de las
clases y de e minados ajus es del p oyec o, como sus unciones (si a a ecibi o
ansmi i audio y/o MIDI) o las clasi icaciones de la aplicación a la ho a de busca la en
una lis a de plugins den o de un DAW, po ejemplo. Con P ojuce podemos ges iona
odos es os aspec os del p oyec o y asegu a nos de que podemos compila una solución
en o ma o VST3 (acep ado po la mayo pa e de DAWs y Sis emas Ope a i os), o el
deseado pa a nues o plugin, con apenas unos clicks al c ea el p oyec o.
Figu a 2.7: Pan alla de c eación de un nue o p oyec o en P ojuce .
22
Figu a 2.8: Pan alla de ajus es de un p oyec o exis en e en P ojuce .
Los p og amas c eados con P ojuce ienen la dis ibución de a chi os inicial ya
es ablecida, y con ienen un a chi o especial de ex ensión juce que podemos ab i con
la aplicación P ojuce pa a cambia ajus es del p oyec o después de su c eación.
Es g acias a es as he amien as, y sob e odo a su g an epe o io de documen ación,
u o iales y ayudas (4), que ha sido posible el desa ollo del p og ama que nos ocupa.
23
CAPÍTULO 3
La aplicación
3.1 P es aciones
Ha monyPal es una he amien a pa a los pianis as y eclis as que de ec a los aco des
in oducidos y gene a suge encias de aco des co ec amen e dispues os pa a pode
con inua un acompañamien o ico y uncional. Es e apa ado es un eco ido de allado
del uncionamien o de es as es p es aciones.
Pa a u iliza Ha monyPal como plugin den o de un DAW, hay que dispone de uno y
con igu a un nue o p oyec o de cie a mane a. Se ilus a aquí con un ejemplo en
REAPER, un DAW de desca ga g a ui a y ácil u ilización.
En p ime luga debemos ubica los plugins necesa ios en las u as que el DAW pueda
escanea . En Op ions -> P e e ences -> VST, enemos una lis a edi able de es as u as.
Bas a á con copia allí el . s de Ha monyPal y de un ins umen o i ual.
Ya en el p oyec o DAW, c eamos una pis a con el ins umen o i ual, que p opo ciona á
el sonido a nues o plugin. Puede se un piano o cualquie o o ins umen o, siemp e
que acep e mensajes MIDI ex e nos. Lo añadimos a la pis a con la pes aña FX.
Figu a 3.1: La pis a del ins umen o i ual, con la pes aña FX ma cada en e de.
Después, añadimos pis as con MIDI ou ing hacia es a. La pis a que c eemos en ia á su
MIDI salien e a la pis a del ins umen o, y en es a nue a pis a coloca emos el plugin
Ha monyPal. Puede hace se, po ejemplo, en FX -> Op ions -> Build 16 channels o MIDI
ou ing o his pa h, pa a después deja sólo una de las pis as c eadas.
24
Figu a 3.2: Ejemplo del p oceso desc i o.
Po úl imo, añadimos el plugin Ha monyPal a la pis a en u ada median e la pes aña FX
como hemos hecho con el ins umen o i ual y añadimos nues o con olado MIDI
como en ada de la pis a. Ya es á lis o pa a unciona , pulsamos en FX pa a mos a el
plugin y podemos empeza a oca .
Figu a 3.3: Cómo asigna el con olado MIDI como en ada de la pis a de Ha monyPal.
Pa a el usua io, la expe iencia consis i á en conec a su con olado MIDI al o denado ,
asegu a se de que su en ada se es á ecibiendo en la pes aña de ajus es del plugin
(modo s andalone) o en la en ada de la pis a (modo DAW), y comenza a pulsa no as.
Si oca una no a a pa i del Do 6 en el es ánda MIDI (es deci , de la pa e más a la
de echa en un piano no mal), cambia á la onalidad en la que es á abajando el
25
algo i mo. Al oca el es o de las no as del eclado, el p og ama escucha á has a que
haya es eclas pulsadas de mane a simul ánea. Cuando es o suceda, el p og ama lo
p ocesa á y gene a á las suge encias de aco des. Tan o es as como los nomb es de
odos los aco des se án mos ados po pan alla.
Figu a 3.4: El plugin Ha monyPal.
3.1.1 Analizado de aco des
Cuando el usua io u iliza su eclado MIDI ex e no y oca un aco de, el p og ama se
dispone a ecoge es a en ada, educi la a in o mación numé ica básica y ex ae la
in e álica. Los alo es esul an es de es a los núme os de no a de cada una ocada se
compa an con una base de da os de aco des, ca gada as el a anque del p og ama,
disponible en un a chi o de ex o. La compa a i a se ha á con cada aco de de la base de
da os (que comp ende odas las combinaciones de in e alos ma emá icamen e
posibles) y sus in e siones, de mane a que es á ga an izada la coincidencia, aunque no
la iden i icación de la especie del aco de. En un pequeño cuad o de ex o se mues a la
undamen al, especie e in e sión del aco de in oducido, con la única sal edad de que
la especie del aco de no igu e en la base de da os, en cuyo caso se ma ca á como
“Desconocido”. Es a in o mación, que ya po sí misma puede se de cie a u ilidad pa a
el eclis a neó i o, se u iliza á como da o de en ada del siguien e componen e del
p og ama.
Figu a 3.5: El esul ado del analizado de aco des, en un campo de ex o jun o al eclado.
32
4.4.2 ge P og essionSugges ions
La segunda unción es la que con iene el algo i mo que c ea las suge encias de aco des
pa a oca a con inuación, independien es de in e siones.
Su uncionamien o, in o má icamen e hablando, es sencillo: un a ay de es en e os
almacena las pun uaciones máximas, y o o almacena los aco des p opiamen e dichos
en posiciones co espondien es. Pa a cada especie de aco de, excep o aquellos
denominados “Unknown” (que no enemos en cuen a po se ma emá icamen e
posibles, pe o musicalmen e i ele an es), e aluamos cuál es la no a undamen al a
pa i de la cual se cons ui ía su e sión mejo pun uada, y calculamos su pun uación
o al. Si es a es supe io a alguna de las an e io es, el nue o candida o se selecciona,
escogiendo al aza en caso de empa e, y se ac ualizan ambos a ays. Examinadas odas
las especies, end emos en el a ay los es aco des elegidos.
Figu a 4.4: Es uc u a del algo i mo en la unción ge P og essionSugges ions, con los c i e ios
de pun uación omi idos.
Pa a calcula las pun uaciones, como se ha dicho p e iamen e, es más impo an e sabe
qué pa áme os se ienen en cuen a que cómo se alo an exac amen e. De en e los
concep os explicados an e io men e, el algo i mo end á en cuen a las unciones
( a o ece el ciclo Tónica-Subdominan e-Dominan e-Tónica en es e o den), las
luminosidades (especialmen e compa ando las del aco de an e io y el pos e io ), las
no as impo an es de la onalidad (la ónica, la undamen al del an e io aco de, la
sensible) y las elaciones en e odos es os pa áme os. También se incluye una lis a
FIFO de aco des llamada cho dHis o y que almacena los úl imos aco des ocados y los
iene en cuen a en es e pun o, p incipalmen e pa a penaliza los aco des que ha ían una
a monía más es á ica po epe ición excesi a de unciones.
33
4.4.3 linkCho ds
Es a e ce a unción es la enca gada de ans o ma la in o mación en abs ac o de los
aco des elegidos en una se ie de no as conc e as, que se án las que inalmen e se le
mues en al usua io.
Su implemen ación oma elemen os de ge PlayedCho d, y es la más compac a de las
unciones p incipales. En p ime luga , ex ae los núme os de las no as del aco de
suge ido, del cual conocemos su undamen al y su in e álica. Después, conociendo la
no a más g a e del aco de del usua io, elegimos la que se á la no a más g a e del nue o
aco de, que puede o no se su undamen al. De en e las no as posibles, escogemos la
que sea más ce cana al bajo del usua io, sea ascenden e o descenden emen e,
buscándola con un bucle que i á aumen ando el alo de dos auxilia es, uno en cada
sen ido.
Figu a 4.5: Código pa a elegi el bajo del nue o aco de en linkCho ds.
Una ez elegido el bajo, solo es a sabe qué no as queda án po encima (el es o del
aco de) in i iendo su in e sión. El p oceso es simple, an solo hay que i es ándole a la
no a del bajo los in e alos del aco de has a que hallemos la no a undamen al. Si
es amos el p ime in e alo y hallamos la no a, es que el aco de es á en p ime a
in e sión, si sucede con los dos p ime os, es a á en segunda. Véase: si el aco de es Do
Mayo (Do, Mi, Sol) y enemos como no a bajo Sol, amos es ando los in e alos del
aco de (4, 3, 5). Si a Sol le es amos 4 semi onos, ob enemos una no a i ele an e (no
es la undamen al, Do), pe o si seguimos un paso más y le es amos o os 4, llegamos al
Do y la in e sión equi ale al núme o de in e alos que hemos es ado.
34
Figu a 4.6: Mecanismo de deducción de in e sión a pa i de un bajo dado.
Con la in e sión ac ualizada, de ol emos el alo del bajo a la unción p incipal, pues es
la no a más ce cana, y a pa i de la cual cons ui emos el aco de nue o en el eclado.
4.5 Cho dDa a
El analizado de aco des unciona ex ayendo in o mación de un a ibu o de ex o
simpli icado ubicado en el módulo “Cho dDa a.h”. Es a in o mación pod ía se
modi icada de mane a ela i amen e sencilla pa a añadi aco des poco ecuen es,
cambia su denominación o incluso econ igu a has a cie o pun o las no mas de la
a monía que analiza el algo i mo. Se de alla aquí el o ma o de la in o mación e lejada:
Cada línea del a chi o comienza con los in e alos del aco de, incluyendo el in e alo de
uel a de la úl ima no a a la p ime a. Po lo an o, ya que es amos abajando con
aco des de es no as, cada línea debe comenza con es alo es numé icos cuya suma
sea 12. Se conside a que el o den de in e alos al y como igu a en su ep esen ación
se á in e p e ado po el p og ama como el es ado undamen al del aco de (sin in e i ).
A con inuación, apa ece la especie del aco de en o ma de ex o sin espacios. La especie
es el “nomb e” del ipo de aco de, po ejemplo, mayo , meno , disminuido, e c. La
in e p e ación de un aco de de e minado es un aspec o has a cie o pun o cul u al y
subje i o, y es ele an e solo pa a mos a lo al usua io y no pa a el algo i mo
p opiamen e dicho.
Po úl imo, un solo alo en e 0 y 6, ambos inclusi e, que ep esen a la “luminosidad”
o consonancia sono a del aco de, un alo an socialmen e de e minado como la
especie, y que si e pa a que el algo i mo empa eje aco des con cie o in e és. Po
ejemplo, un aco de Mayo se ía más luminoso que uno Meno .
35
Figu a 3.1: Ejemplo de aco des en el o ma o del módulo “Cho dDa a.h”
Cho dDa a.h ambién iene esponsabilidades elacionadas con la ep esen ación de la
in o mación musical en o os o ma os, como el a ibu o no eNames, que con ie e un
alo numé ico a un s ing con el nomb e de la no a co espondien e, y la unción
cho dToS ing, que hace lo p opio pa a los aco des que se mues an a la izquie da de los
eclados.
36
CAPÍTULO 5
Conclusiones y abajo u u o
El desa ollo del p og ama y del documen o que nos ocupa ha supues o mi p ime a
incu sión eal, independien e y en ocada en el mundo del es ánda MIDI y el desa ollo
de plugins y aplicaciones de in o má ica musical que conocía casi exclusi amen e desde
el lado del usua io. Es un mundo que me esul aba in imidan e, po su comunidad
abundan e pe o descen alizada, su elación an solo angencial con la pa e más clásica
de la música de donde iene mi o mación, y po mis an e io es in en os, siemp e
in uc uosos, de desa olla alguna aplicación simila , que se acumulaban haciendo que
a on a a cada nue o p oyec o con miedos eno ados. Si bien es e p og ama es
modes o en con enido y mejo able en o ma o, puedo deci sa is echo que he
desa ollado un plugin musical, y puedo a on a con ene gías eno adas an o el
desa ollo de he amien as como el p opio en endimien o de las ya exis en es, algunas
de las cuales siemp e se me han esis ido po su complejidad.
El abajo con JUCE ha acili ado mucho las cosas, especialmen e po los u o iales con
p og amas p e ab icados, sus eje cicios sencillos y su ex ensa documen ación. Como
cada amewo k o he amien a in o má ica, po supues o que cuen a con o os en los
que se a an los emas más p egun ados, pe o el simple hecho de dispone de
excelen es u o iales básicos y de muchos algo más a anzados pa a cada pequeño
aspec o del amewo k es una en aja mayúscula y que se echa de menos abajando en
o os ámbi os.
Ya con el p og ama uncionando, puedo e qué hay más allá y pensa en a ias
uncionalidades que expandie an su u ilidad, siemp e dando p io idad a las necesidades
de mis alumnos, a quienes más me imagino usando un plugin simila a es e. Lo p ime o
que añadi ía se ía la ges ión de aco des de dis in a can idad de no as, pues ni siquie a
saliendo de la a monía clásica he echado de menos el e dade o aco de de sép ima de
dominan e, de cua o no as. Se ía de u ilidad ambién añadi a iables al algo i mo que
e alúen aco des no ya den o de una ónica, sino pa a escalas conc e as, es deci ,
dis inguiendo en e Do Mayo y Do meno , po ejemplo. A hilo de es o, se ía ácilmen e
ex ensible con selec o es de es ilo, pa a e alua las a monías como clásico- omán icas,
de jazz, con empo áneas, ba ocas, de pop, e c. Conside o pa icula men e in e esan e
es a unción ya que, siendo conscien e de que el que p og ama es alumno de música
clásica, no es un es ilo po el que la mayo ía de los alumnos de piano de los p ime os
años se ilusionen especialmen e, y su análisis pa a alo a a monías en el algo i mo se ía
sin duda un abajo musicalmen e en iquecedo .
37
Con algo más de ambición se pod ía in en a expandi la aplicación haciendo que la
ónica no la p opo cione el usua io explíci amen e con una sección del eclado, sino que
el p opio p og ama la deduzca a pa i del his o ial de aco des ya implemen ado. Si es
aco des seguidos compa en cie as ca ac e ís icas, es asequible que un algo i mo
decida cuál es la onalidad a pa i de sus undamen ales, elaciones uncionales y
demás. Pa a hace lo más aplicable al ámbi o escola o educa i o en gene al, el p ime
paso ideal se ía mejo a la in e az g á ica, haciendo los eclados más g andes y legibles,
o incluso dejando la opción “ u o ial” en la que sólo se ea un eclado con uno de los
aco des, que el alumno iene que consegui oca exac amen e an es de con inua , o
con opciones pa a epe i enlaces en bucle y así puli la écnica en e cie os aco des
empleados con ecuencia. Se ía in e esan e pode almacena los aco des de un ema
conc e o y que el p og ama los aya in e calando de cie as mane as pa a que el
es udian e en ene con el enlace de aco des den o de una de las canciones que end á
que oca con sol u a más adelan e. Las posibilidades son muchas y con ío en que
inspi en a alguien a lle a un p oyec o simila más allá.
38
CHAPTER 5
Conclusions and u u e wo k
The de elopmen o his p og am and documen has been my i s eal di e in o he
wo ld o MIDI and musical plugin p og amming, which I knew exclusi ely om he use
s andpoin . I ’s a as and o e whelming wo ld, specially when coming om a classical
music backg ound, and all o my ea lie a emp s a making a p ojec o my own ha e
been ailu es. Howe e , a e inishing Ha monyPal, I can much be e unde s and al lo
o he echnicali ies and begin a new po en ial p ojec wi h enewed s eng h.
Ha monyPal is no big new de elopmen in he digi al music indus y, bu I can p oudly
say ha I inished i and I can ace new challenges wi h his humble ool on my a senal.
Wo king wi h JUCE has been a blessing, because i s much de ailed and adequa e
u o ials and documen a ion a e no a gi en in many o he a eas o p og amming. I
would lo e o see his kind o communi ies wi h many o he compu ing ools.
Wi h he applica ion up and unning, I can al eady en ision a lo o changes and
addi ions ha could be made o expand i s unc ionali ies and make i mo e in e es ing
o he end use .
The i s hing I would add is a way o wo k wi h cho ds o ou o mo e no es, because
o how p e alen hey a e in wes e n mode n (and e en classical!) music. I would also
be o much help o expand he algo i hm such ha i can dis inguish be ween di e en
kinds o scales, and no only cho ds, like wo king in a di e en way wi h C Majo and C
mino scales. Mo eso, he ha mony is no limi ed o wes e n and mode n, so i would
be nice o conside classic, jazz, o ba oque sono i ies, all wi h hei own pa icula ules.
The analysis o implemen hese kinds o music would be e y a is ically en iching.
E en u he beyond, i could be made so ha he p og am i sel in e s he scale ha
he use is playing, making ha hey don´ need o inpu i hemsel es and ha i lows
mo e na u ally wi h he use ´s cho ds, as i would in p ac ice. I can also be e y use ul
o he educa ional aspec o i o imp o e in e ace design and add new ea u es such
as u o ials o ea ly beginne s, as hose we e my main objec i e ac oss he whole
p ojec . The e a e many possibili ies, and I hope someone ge s o hem now o in he
u u e.
39
CAPÍTULO 6
Bibliog a ía
Gale ía de imágenes
2.2: h ps://medium.com/musi-co/ onos-semi onos-sos enidos-bemoles-cu so-
de-piano-online-lecci%C3%B3n-2-a4a12377dbc9
2.3: h ps://ma cola a.ne /aco des-piano/aco de-do-mayo -c
2.4: h p://elclubdelau odidac a.es/wp/2015/07/in e sion-de-aco des/
2.6: h ps://www.ccapi alia.ne / eso/a iculos/audiodigi al/pd /08-
Especi icacionMIDI.pd
Teo ía e in es igación
(1) Plugins MIDI: h ps://www.ma cogal an.com/2021/02/ ipos-de-plugins-
pa a-audio-y-musica.h ml
(2) Teo ía a mónica básica: h p://www.bus ena.com/cu so-de-a monia-
i/unidad-1/
(3) Manual de P ojuce : h ps://juce.com/disco e /s o ies/p ojuce -
manual#1.1-welcome- o- he-p ojuce !
(4) Tu o iales de JUCE: h ps://juce.com/lea n/ u o ials