specmusic libre

252
1 SpecMusic DESARROLLO DE UN SOFTWARE PARA EL ESTUDIO DE APLICACIONES DEL ANÁLISIS ESPECTRAL EN LA MUSICOLOGÍA HISTÓRICA Y LA ETNOMUSICOLOGÍA SERGIO MARTÍNEZ RUIZ Proyecto de Fin de Carrera (PFC II) Tutor: Pau Bofill i Soliguer Ingeniería Superior de Telecomunicaciones Escola Tècnica Superior d’Enginyeria de Telecomunicació de Barcelona (ETSETB) Universitat Politècnica de Catalunya (UPC) Julio de 2003

Upload: donnie-emanuel-bellido-fernandez

Post on 23-Dec-2015

223 views

Category:

Documents


3 download

DESCRIPTION

musica para principiantes

TRANSCRIPT

Page 1: SpecMusic Libre

1

SpecMusic

DESARROLLO DE UN SOFTWARE PARA EL ESTUDIO DE

APLICACIONES DEL ANÁLISIS ESPECTRAL EN LA MUSICOLOGÍA

HISTÓRICA Y LA ETNOMUSICOLOGÍA

SERGIO MARTÍNEZ RUIZ Proyecto de Fin de Carrera (PFC II)

Tutor: Pau Bofill i Soliguer Ingeniería Superior de Telecomunicaciones

Escola Tècnica Superior d’Enginyeria de Telecomunicació de Barcelona (ETSETB) Universitat Politècnica de Catalunya (UPC)

Julio de 2003

Page 2: SpecMusic Libre

2

Ilustración 1: División de la octava en el género enarmónico1.

1 Francisco Salinas: Siete libros sobre la música, Ed. Alpuerto, Madrid, 1983, Libro III, capítulo VIII, p. 235. Edición a cargo

de Ismael Fernández de la Cuesta basada en la edición anastática de M. Santiago Kastner. Edición original: De musica libri septem, Salamanca, 1577.

Page 3: SpecMusic Libre

3

ÍNDICE

PREFACIO.......................................................................................................................9

AGRADECIMIENTOS....................................................................................................12

I. OBJETIVOS................................................................................................................13

II. INTRODUCCIÓN .......................................................................................................14

1. CONCEPTOS TRABAJADOS ..............................................................................................14

2. CONCEPTOS PREVIOS SOBRE ACÚSTICA MUSICAL ...............................................15 2.1 Revisión de las cualidades del sonido y concepto de nota musical.....................................15 2.2 Análisis espectral.................................................................................................................16

2.2.1 Modelado espectral de sonidos musicales....................................................................16 2.2.2 Normalización de espectros..........................................................................................17 2.2.3 Casos particulares.........................................................................................................17 2.2.4 Consideraciones adicionales.........................................................................................18

2.3 Sonidos alícuotas, concomitantes y armónicos ...................................................................19 2.4 Superposición de ondas sinusoidales...................................................................................19 2.5 Sonidos diferenciales y sonidos adicionales........................................................................20 2.6 Bandas críticas.....................................................................................................................21 2.7 Medida de pulsaciones ........................................................................................................23 2.8 Límites de percepción..........................................................................................................23 2.9 Sensibilidad auditiva ...........................................................................................................24

3. TEORÍA DE ESCALAS .........................................................................................................25 3.1 Intervalos .............................................................................................................................25 3.2 Operaciones con intervalos..................................................................................................25 3.3 Distancia ..............................................................................................................................26 3.4 Definición de escalas...........................................................................................................27 3.5 Operaciones con escalas ......................................................................................................28 3.6 Dimensión de la escala ........................................................................................................29 3.7 Clasificación de escalas.......................................................................................................29 3.8 Afinaciones variables ..........................................................................................................30 3.9 Definición axiomática de las escalas musicales ..................................................................31

4. TEORÍA DE LA DISONANCIA ...........................................................................................31 4.1 Definición y contextualización del término ........................................................................31

4.1.1 Teoría tradicional de la consonancia ............................................................................31 4.1.2 Definición de consonancia ...........................................................................................32 4.1.3 Contextualización histórica e influencia de la afinación..............................................33 4.1.4 Contextualización estilística.........................................................................................35 4.1.5 Causas de la disonancia ................................................................................................36

4.2 Experimentos posteriores ....................................................................................................37 4.2.1 Hermann von Helmholtz ..............................................................................................37 4.2.2 Harry Partch..................................................................................................................38 4.2.3 R. Plomp y W. J. M. Levelt ..........................................................................................40 4.2.4 Opiniones posteriores ...................................................................................................41

4.3 Teoría desarrollada por W. A. Sethares...............................................................................42 4.3.1 Cálculo de la curva de disonancia ................................................................................42 4.3.2 Propiedades de las curvas de disonancia ......................................................................43 4.3.3 Curva de disonancia para múltiples espectros..............................................................45 4.3.4 Relación entre escalas y espectros................................................................................45 4.3.5 Algoritmo adaptativo de W. A. Sethares......................................................................46 4.3.6 Principio del algoritmo .................................................................................................47

Page 4: SpecMusic Libre

4

4.3.7 Partituras de disonancia................................................................................................49 4.3.8 Disonancia total ............................................................................................................50 4.3.9 Predicción de la afinación óptima ................................................................................51

III. DISEÑO DE LA APLICACIÓN .................................................................................53 1.1 Diagrama de bloques ...........................................................................................................53 1.2 Otros tipos de datos .............................................................................................................54 1.3 Prestaciones añadidas ..........................................................................................................54 1.4 Evaluación de resultados .....................................................................................................55 1.5 Secuencias MIDI .................................................................................................................56 1.6 Escalas .................................................................................................................................56 1.7 Espectros..............................................................................................................................56 1.8 Partituras..............................................................................................................................57 1.9 Ondas WAVE......................................................................................................................57 1.10 Textos ................................................................................................................................58

IV. DESARROLLO DE LA APLICACIÓN......................................................................59

1. ESTRUCTURA GENERAL...................................................................................................59 1.1 Arquitectura de la aplicación...............................................................................................59 1.2 Criterio de denominación de funciones...............................................................................60 1.3 Otras funciones....................................................................................................................61 1.4 Asignación dinámica de memoria .......................................................................................62 1.5 Implementación de las clases para la asignación dinámica de memoria.............................62

2. ESCALAS.................................................................................................................................63 2.1 Creación de escalas..............................................................................................................63 2.2 Estructura.............................................................................................................................64 2.3 Constructores.......................................................................................................................64 2.4 Asignación dinámica de memoria .......................................................................................65 2.5 Obtención del documento....................................................................................................65 2.6 Formato del fichero .............................................................................................................66 2.7 Formatos de edición ............................................................................................................66 2.8 Entrada de datos ..................................................................................................................67 2.9 Implementación de la función de conversión......................................................................68 2.10 Implementación de la función de edición..........................................................................70 2.11 Otras funciones de cálculo.................................................................................................70 2.12 Representación gráfica ......................................................................................................71 2.13 Aplicación añadida para cálculos con escalas ...................................................................71

3. ESPECTROS ...........................................................................................................................71 3.1 Conversión a secuencia .......................................................................................................71 3.2 Obtención desde una onda WAVE......................................................................................72 3.3 Estructura.............................................................................................................................72 3.4 Constructores.......................................................................................................................73 3.5 Asignación dinámica de memoria .......................................................................................73 3.6 Obtención del documento....................................................................................................74 3.7 Formato del fichero .............................................................................................................74 3.8 Formatos de edición ............................................................................................................75 3.9 Entrada de datos ..................................................................................................................75 3.10 Implementación de la función de conversión....................................................................75 3.11 Implementación de la función de edición..........................................................................77 3.12 Otras funciones de cálculo.................................................................................................77 3.13 Representación gráfica ......................................................................................................78

4. PARTITURAS .........................................................................................................................78 4.1 Definición ............................................................................................................................78 4.2 Algoritmo adaptativo...........................................................................................................81 4.3 Estructura.............................................................................................................................82

Page 5: SpecMusic Libre

5

4.3.1 Partitura ........................................................................................................................82 4.3.2 Acorde ..........................................................................................................................82 4.3.3 Nota ..............................................................................................................................83

4.4 Constructores.......................................................................................................................83 4.5 Asignación dinámica de memoria .......................................................................................84 4.6 Obtención del documento....................................................................................................85 4.7 Formato del fichero .............................................................................................................85 4.8 Formatos de edición ............................................................................................................86 4.9 Entrada de datos ..................................................................................................................86 4.10 Implementación de la función de conversión....................................................................87 4.11 Implementación de la función de edición..........................................................................90 4.12 Otras funciones de cálculo.................................................................................................92 4.13 Representación gráfica ......................................................................................................92 4.14 Conversión de una secuencia MIDI en una partitura ........................................................93

5. SECUENCIAS MIDI...............................................................................................................93 5.1 Representación de notas ......................................................................................................93 5.2 Cálculos con parámetros temporales ...................................................................................93 5.3 Conversión de una partitura en una secuencia MIDI ..........................................................94 5.4 Grabación de secuencias MIDI ...........................................................................................95 5.5 Cambio de afinación............................................................................................................95 5.6 Estructura.............................................................................................................................97 5.7 Constructores.......................................................................................................................98 5.8 Asignación dinámica de memoria .......................................................................................99 5.9 Obtención del documento....................................................................................................99 5.10 Formato del fichero .........................................................................................................100 5.11 Formatos de edición ........................................................................................................101 5.12 Entrada de datos ..............................................................................................................102 5.13 Implementación de la función de conversión..................................................................102 5.14 Impementación de la función de edición.........................................................................103 5.15 Representación gráfica ....................................................................................................104 5.16 Reproductor multimedia..................................................................................................104

6. ONDAS WAVE......................................................................................................................105 6.1 Operaciones con ondas WAVE.........................................................................................105 6.2 Algoritmo de detección de picos .......................................................................................105 6.3 Estructura...........................................................................................................................106 6.4 Constructores.....................................................................................................................106 6.5 Asignación dinámica de memoria .....................................................................................107 6.6 Obtención del documento..................................................................................................107 6.7 Formato del fichero ...........................................................................................................108 6.8 Formatos de edición ..........................................................................................................109 6.9 Entrada de datos ................................................................................................................109 6.10 Implementación de la función de conversión..................................................................110 6.11 Implementación de la función de edición........................................................................110 6.12 Obtención desde un espectro ...........................................................................................110 6.13 Representación gráfica ....................................................................................................111 6.14 Otras funciones................................................................................................................111 6.15 Reproductor multimedia y grabador de sonidos..............................................................111

7. TEXTOS.................................................................................................................................111 7.1 Estructura...........................................................................................................................111 7.2 Constructores.....................................................................................................................112 7.3 Asignación dinámica de memoria .....................................................................................112 7.4 Obtención del documento..................................................................................................112 7.5 Formato del fichero ...........................................................................................................113 7.6 Formatos de edición ..........................................................................................................113 7.7 Entrada de datos ................................................................................................................113 7.8 Implementación de la función de conversión....................................................................113 7.9 Implementación de la función de edición..........................................................................113

Page 6: SpecMusic Libre

6

7.10 Representación gráfica ....................................................................................................113

V. EVALUACIÓN Y APLICACIONES..........................................................................114

1. EVALUACIÓN DE LOS ALGORITMOS .........................................................................114 1.1 Composición de una partitura representativa ....................................................................114 1.2 Evaluación de las escalas y algoritmos .............................................................................116

1.2.1 Aplicación de la afinación pitagórica .........................................................................116 1.2.2 Aplicación de la escala física de Zarlino....................................................................116 1.2.3 Aplicación del temperamento igual............................................................................117 1.2.4 Aplicación del temperamento mesotónico de 1/4 de comma.....................................117 1.2.5 Aplicación del algoritmo adaptativo de W. A. Sethares ............................................118 1.2.6 Valoración del resultado del algoritmo ......................................................................118 1.2.7 Evaluación del resultado en las disonancias...............................................................121 1.2.8 Evaluación auditiva ....................................................................................................123

1.3 Estudio de otros espectros .................................................................................................124 1.3.1 Estudio de las curvas de disonancia ...........................................................................124 1.3.2 Consideraciones adicionales.......................................................................................126 1.3.3 Modificación del espectro ..........................................................................................126 1.3.4 Valoración con el espectro modificado ......................................................................127

1.4 Partituras de disonancia.....................................................................................................128 1.4.1 Escala pitagórica.........................................................................................................128 1.4.2 Escala física de Zarlino ..............................................................................................129 1.4.3 Temperamento igual de 12 notas................................................................................130 1.4.4 Temperamento mesotónico de 1/4 de comma............................................................130 1.4.5 Temperamento de Werckmeister III...........................................................................131 1.4.6 Algoritmo adaptativo de W. A. Sethares....................................................................132 1.4.7 Algoritmo adaptativo de W. A. Sethares con el espectro modificado........................132 1.4.8 Algoritmo adaptativo de W. A. Sethares con el espectro inarmónico........................133

1.5 Cálculo de la disonancia total............................................................................................133

2. EVALUACIÓN DE CASOS PRÁCTICOS ........................................................................134 2.1 Composición de la partitura de ejemplo............................................................................134 2.2 Obtención de un espectro real ...........................................................................................135 2.3 Aplicación de las escalas ...................................................................................................139 2.4 Conclusión.........................................................................................................................140 2.5 Evaluación auditiva ...........................................................................................................141 2.6 Cálculo de la disonancia total............................................................................................141

3. CREACIÓN DE UN INSTRUMENTO...............................................................................142 3.1 Elección del sonido............................................................................................................142 3.2 Cálculo del espectro ..........................................................................................................143 3.3 Modelado del espectro.......................................................................................................143 3.4 Obtención de la curva de disonancia .................................................................................144 3.5 Obtención de la escala relacionada....................................................................................144 3.6 Creación del instrumento...................................................................................................144 3.7 Hacer música .....................................................................................................................145 3.8 Demostración con el programa..........................................................................................145

4. APLICACIÓN EN LA MUSICOLOGÍA HISTÓRICA....................................................146 4.1 El Clave bien temperado de J. S. Bach .............................................................................146 4.2 Antecedentes de la cuestión...............................................................................................148 4.3 Procedimiento....................................................................................................................151 4.4 Limitaciones de este procedimiento ..................................................................................152 4.5 Ejemplos ilustrativos de limitaciones debidas a la estética barroca ..................................153 4.6 Evaluación de los resultados .............................................................................................154 4.7 Posibles vías de solución ...................................................................................................155

5. APLICACIÓN EN LA ETNOMUSICOLOGÍA ................................................................155 5.1 Introducción histórica a la música de Java (Indonesia).....................................................156

Page 7: SpecMusic Libre

7

5.2 Descripción de los instrumentos del gamelan ...................................................................156 5.3 Espectros de los instrumentos del gamelan.......................................................................157

5.3.1 Espectro del saron.......................................................................................................157 5.3.2 Espectro del gender ....................................................................................................158 5.3.3 Espectro del bonang ...................................................................................................159 5.3.4 Espectro del gong .......................................................................................................160 5.3.5 Espectros de otros instrumentos .................................................................................160

5.4 Afinación de los instrumentos del gamelan ......................................................................161 5.4.1 Sistema musical javanés .............................................................................................161 5.4.2 Afinación del gamelan................................................................................................162 5.4.3 Casos concretos ..........................................................................................................163 5.4.4 Aplicación de la teoría de la disonancia .....................................................................164 5.4.5 Conclusión..................................................................................................................166

5.5 Demostración con el programa..........................................................................................167

VI. AMPLIACIÓN Y PREVISIÓN FUTURA .................................................................168

1. MEJORAS Y ESTUDIOS POSTERIORES.......................................................................168 1.1 Mejoras del programa........................................................................................................168 1.2 Líneas de investigación futura...........................................................................................169 1.3 Otras aplicaciones de la ingeniería en la musicología.......................................................171

VII. CONCLUSIONES ..................................................................................................173

VIII. BIBLIOGRAFÍA ....................................................................................................178

APÉNDICES ................................................................................................................188

1. NOMENCLATURA DE LAS NOTAS................................................................................188 1.1 Nomenclatura de las notas musicales en diversos idiomas ...............................................188 1.2 Clasificación de los diferentes sistemas de nomenclatura.................................................188 1.3 Sistemas de nomenclatura usados en el proyecto..............................................................189 1.4 Nota ...................................................................................................................................190

2. SISTEMAS DE REPRESENTACIÓN DE LOS ÍNDICES ACÚSTICOS ......................191

3. AFINACIÓN DEL La NORMAL........................................................................................192

4. DEFINICIÓN DE LOS SISTEMAS DE AFINACIÓN .....................................................194 4.1 Los intervalos y el sistema de quintas ...............................................................................194 4.2 La escala pitagórica ...........................................................................................................195

4.2.1 Sistematización de la escala pitagórica ......................................................................197 4.2.2 Valoración de la afinación pitagórica.........................................................................198

4.3 La justa entonación............................................................................................................199 4.3.1 Sistematización...........................................................................................................200 4.3.2 Escala física de Ptolomeo...........................................................................................200 4.3.3 Escala física de Dídimo ..............................................................................................201 4.3.4 Escala física de las terceras mayores..........................................................................201 4.3.5 Escala física de las terceras menores..........................................................................202 4.3.6 Escala física de Zarlino ..............................................................................................202 4.3.7 Escala física de Delezénue .........................................................................................204 4.3.8 Escala física de Ramos de Pareja ...............................................................................205 4.3.9 Otras escalas físicas....................................................................................................206

4.4 El temperamento igual.......................................................................................................206 4.4.1 Otros temperamentos iguales .....................................................................................207

4.5 Temperamentos mesotónicos ............................................................................................207 4.5.1 Valoración de los temperamentos mesotónicos .........................................................208 4.5.2 Circularidad de los temperamentos mesotónicos .......................................................209

Page 8: SpecMusic Libre

8

4.5.3 Otros temperamentos mesotónicos.............................................................................209 4.6 Temperamentos irregulares ...............................................................................................210

4.6.1 Temperamentos irregulares de los siglos XV y XVI..................................................210 4.6.2 Temperamentos irregulares del siglo XVIII...............................................................210 4.6.3 Buenos temperamentos...............................................................................................211 4.6.4 Temperamentos franceses ..........................................................................................211

4.7 Otras escalas ......................................................................................................................212 4.7.1 Escala de Holder.........................................................................................................212 4.7.2 Otras modificaciones de la afinación pitagórica ........................................................212 4.7.3 Afinación pitagórica de tercios de tono en 17 partes .................................................213 4.7.4 Otras afinaciones con división de la octava en 19 y 31 partes ...................................213 4.7.5 Otras divisiones múltiples de la octava ......................................................................213 4.7.6 Generalización de la justa entonación a cualquier número de armónicos..................214

5. TABLAS DE ESCALAS .......................................................................................................215

6. ESTRUCTURA DE LAS CLASES DE DOCUMENTOS.................................................225

7. TABLAS DE RESULTADOS - EJEMPLO1......................................................................235

8. TABLAS DE RESULTADOS - EJEMPLO2......................................................................243

9. CURVAS DE DISONANCIA ...............................................................................................246

10. AFINACIÓN DEL GAMELAN ..........................................................................................253

11. LOS INSTRUMENTOS DEL GAMELAN.......................................................................256

12. PARTITURAS .....................................................................................................................257

Page 9: SpecMusic Libre

9

PREFACIO

Mi formación musical así como mi interés profesional en la música me llevaron a escoger un proyecto de fin de carrera que estuviese relacionado con ella. En concreto, teniendo en cuenta mi doble formación en ingeniería y música, me llevaron a buscar diferentes posibilidades dentro de un amplio campo de aplicaciones de la ingeniería en la música. Varios intentos anteriores resultaron fallidos debido a diferentes factores que no vienen al caso pero, finalmente me replanteé el tema y decidí realizar el proyecto en un tema de especial interés para mí. De entrada, planteé una lista de las diversas opciones que podían presentarme las aplicaciones de la ingeniería en la música. De entre todas las posibles, se me ocurrieron los siguientes campos de investigación:

1) Aplicaciones de la informática en la música: programas pedagógicos para estudiantes de música, editores de música, etc.

2) Aplicaciones relacionadas con multimedia (en lo referente a su relación con el sonido): estudio de los diversos formatos de audio y vídeo para informática (mp3, WAVE, MIDI, avi, etc.), estudio de la síntesis de sonido en el ordenador, estudio de la programación de los distintos dispositivos de sonido del ordenador (a cualquier nivel de programación), etc.

3) Aplicaciones sobre procesado de sonido y voz basadas en el análisis espectral y en el tratamiento digital de señales de audio. Estas aplicaciones podrían estudiarse conjuntamente con las anteriores.

4) Aplicaciones de la acústica musical: el estudio de la acústica de los instrumentos musicales, en concreto, su modelización física; estudio de las cualidades del sonido y su implicación en la teoría de la música, por ejemplo, las causas de la disonancia o la explicación de las diferentes cualidades del sonido.

5) Aplicaciones para el estudio de la electroacústica y la tecnología del sonido. 6) Aplicaciones para el estudio de la acústica arquitectónica. 7) Aplicaciones para el estudio de la acústica fisiológica. 8) Aplicaciones para el estudio de teorías matemáticas sobre la música. Dentro de este último

caso podríamos distinguir otros varios casos: a. Estudio de las diversas técnicas de composición actuales que utilizan las nuevas

tecnologías. b. Estudio de la teoría musical basándose en modelizaciones matemáticas y en su

contextualización histórica. c. Estudio de las causas físicas de los fenómenos que han influido en las técnicas de

composición musical a lo largo de toda la historia, por ejemplo, las causas de la consonancia y la disonancia.

d. Estudio de la afinación de la escala musical Diversas razones pueden explicar el hecho de rechazar algunas de estas posibilidades, entre ellas,

la necesidad de ciertos conocimientos en otras materias para su estudio. Por ejemplo, para el estudio de la acústica de los instrumentos musicales se requieren conocimientos elevados de mecánica y, en concreto, de mecánica de sólidos. Al mismo tiempo, muchos de estos trabajos están menos relacionados con la carrera para la cual pretende realizarse este proyecto. En cualquier caso, muchas de estas opciones están relacionadas entre ellas o, incluso, unas necesitan de otras para poder estudiarlas y, cualquiera que sea el tema escogido, necesitará de una profundización en otros conocimientos que pueden estar relacionados con otros de los trabajos propuestos.

Por otro lado, tres factores importantes delimitaron mi elección dentro de todas las posibilidades que me había planteado:

1) Mi especial interés profesional en la investigación musical, disciplina que pretende estudiar la musicología.

2) El interés especial que tiene el poder aplicar la investigación al análisis de los diversos estilos compositivos a lo largo de la historia de la música y no quedarse en puras especulaciones teóricas. A la vez, este tema constituye el principal foco de interés de la musicología.

3) Mi especial interés en el tema de la afinación de la escala musical desde los 13 años y la misma aplicación que de él puede establecerse con el análisis musical al que hacía referencia en el punto anterior.

Finalmente, el hecho de encontrar una bibliografía adecuada que me ayudara a enfocar un tema que se ajustara a estas características con las suficientes garantías de éxito así como su estrecha relación con el análisis espectral me llevaron definitivamente a proponer este proyecto como Proyecto de fin de

carrera de Ingeniería Superior de Telecomunicaciones. Al ser aceptada la idea por Pau Bofill, el que ha sido mi tutor, me puse a trabajar en serio con el tema.

Page 10: SpecMusic Libre

10

Como veremos, el proyecto tratará sobre la afinación de la escala y sobre las causas físicas de la consonancia y la disonancia. Además, dada la relación con el análisis espectral también trataré temas sobre procesado de señales de audio. Por otro lado, también deberé tocar otros temas que están relacionados, en concreto, los formatos MIDI y Waweform (multimedia) y alguna cosa de acústica musical relacionada con los instrumentos.

Pero el hecho más importante estará en que tales estudios podrán aplicarse a la investigación de varios aspectos de música práctica2 de cualquier época y cultura, sobretodo, los referentes a la afinación. Podremos establecer relaciones con la diversidad de estilos existentes y la teoría musical que rige cada uno de ellos. Todo esto constituye una rama concreta que podría incluirse dentro de la musicología y la etnomusicología.

El proyecto podrá ampliarse en relación con muchos de los otros aspectos que he propuesto pero, dentro del ámbito de la musicología veremos que podrá ampliarse a otras aplicaciones que requerirán más trabajo relacionado con el procesado de señales de audio3.

Una vez decidido el ámbito de trabajo busqué la manera de llevarlo a la práctica mediante un software que permitiera realizar las investigaciones anteriores para cualquier caso que pudiéramos encontrar. Decidí trabajar en C++ y con las MFC4 ya que este lenguaje permite muchas más posibilidades, además de tratarse de un tema en el que quería profundizar.

Teniendo en cuenta estas últimas consideraciones, escogí el siguiente título para el proyecto:

“Desarrollo de un software para el estudio de aplicaciones del análisis espectral en la

musicología histórica y la etnomusicología”.

El título para el programa salió del mismo título del proyecto escogiendo algunas de sus letras: “Desarrollo de un software para el estudio de aplicaciones del análisis espectral en la

musicología histórica y la etnomusicología”, de lo que resulta el título

“SpecMusic”.

El presente documento lo he organizado de la siguiente manera:

• Título e identificación del proyecto. • El índice. • Un prefacio. • Un apartado de agradecimientos. • Un apartado dedicado a la exposición de los objetivos del proyecto. • Un apartado de introducción donde se explican algunos de los conceptos tratados a lo

largo del documento. • Un apartado dedicado a la explicación del diseño del proyecto. • Un apartado dedicado a la explicación del desarrollo del proyecto, haciendo mayor

hincapié en las cuestiones de implementación que en el apartado anterior. • Un apartado dedicado a la evaluación del proyecto y desarrollo de algunas aplicaciones. • Un apartado dedicado a la ampliación y proyección futura del proyecto. • Un apartado donde se extraen las conclusiones de la realización del proyecto. • Un apartado dedicado a exponer la bibliografía utilizada y otra bibliografía de interés de

cara a poder ampliar la información que en este documento no puede darse en parte o en totalidad.

• Una serie de apéndices donde se aclaran y amplían diversas cuestiones de interés especial.

Junto con este documento se entregará un CD con el siguiente material complementario: • Fichero de este documento. • Código completo del programa. • El programa de instalación. • Una versión del programa ya instalado. • Todos los documentos creados y utilizados por el programa. • Un fichero de texto explicativo del contenido del CD.

2 Sin quedarse en puras especulaciones teóricas aunque ello no quita que puedan hacerse investigaciones teóricas referentes a

los aspectos trabajados (afinación de escalas, espectros de instrumentos, síntesis de sonido, etc...). 3 Véase el apartado VI dedicado específicamente a las posibles ampliaciones, especialmente las que hacen referencia a la

musicología. 4 Microsoft Fundation Classes. Para ello he usado el compilador Visual C++, versión 6.0.

Page 11: SpecMusic Libre

11

• Transparencias de la presentación. A parte de todo esto, quedará pendiente un manual de usuario para el programa.

Page 12: SpecMusic Libre

12

AGRADECIMIENTOS

No debo dejar la redacción de este proyecto sin dejar constancia del agradecimiento que debo a toda una serie de personas que, de una forma u otra, han participado en el desarrollo de este proyecto:

• Javier Gómez, estudiante de ingeniería con formación musical, por su ayuda prestada en conceptos de informática musical y por prestarme el teclado MIDI con el que he trabajado.

• Toni González, organero con formación musical, por la ayuda prestada en la valoración auditiva de las diferentes afinaciones y temperamentos y por la documentación prestada para la demostración de las limitaciones del programa debidas a ciertos criterios estéticos propios de la época barroca.

• Jordi Moraleda, estudiante de música, por su ayuda prestada en conceptos de informática musical y, en concreto, del formato estándar MIDI.

• Tomàs Maxé, músico y técnico de sonido, por su ayuda prestada en conceptos relacionados con la síntesis de sonido por ordenador y su relación con el formato estándar MIDI.

• Juan Manuel Martín, catedrático de Ingeniería de Sistemas y Automática de la UNED y familiar, por su apoyo y su ayuda prestada en diversos momentos del planteamiento y desarrollo del proyecto.

• José Rodellar, catedrático de física y familiar, por su ayuda prestada en la definición de este proyecto y por la orientación que me dio de cara a poder llevarlo a la práctica, así como su apoyo para realizar una propuesta anterior relacionada con el control automático.

• Jordi Rifé, por su especial apoyo y por la orientación que me ha dado en los aspectos musicológicos.

• Bernat Ballbé, organista, por la información prestada acerca de ciertos temperamentos a través de una tabla muy completa que me ha facilitado la tarea de cálculo.

• Anna Barjau, ingeniera industrial, por su ayuda prestada en la definición del proyecto y, en concreto, en referencia al tema de la acústica de los instrumentos musicales.

• Joan Girbau, catedrático de matemáticas, por la orientación que me ha dado en la definición axiomática de las escalas musicales gracias a su artículo y a una entrevista que tuve con él.

• Pau Bofill, por el apoyo prestado en la tutoría de mi proyecto y, en especial, por la aceptación de mi propuesta.

• En especial, al resto de amigos y familiares que me han apoyado en el desarrollo del proyecto.

Page 13: SpecMusic Libre

13

I. OBJETIVOS

En este apartado hablaré de los objetivos que pretendo alcanzar con la realización de este proyecto así como de los objetivos que pretende alcanzar la propia implementación del proyecto. Dentro de éstos últimos también distinguiré entre unos objetivos más generales y otros más específicos. Los objetivos de la realización del proyecto son los siguientes:

a) Profundizar en los conceptos que cito en el apartado siguiente, especialmente en programación con Visual C++, informática musical, teoría de escalas y teoría de la disonancia.

b) Poder aplicar las técnicas del análisis espectral al estudio de la musicología en ciertos aspectos técnicos que, hasta ahora, no han podido plantearse, al menos, con un rigor científico suficiente, especialmente el tema de la afinación de la escala musical.

c) Proporcionar una herramienta lo más potente posible capaz de facilitar el estudio de los aspectos técnicos de la musicología a los que hacía referencia en el apartado a).

Por otro lado, los objetivos generales del proyecto son: 1) Realizar estudios sobre las diferentes afinaciones de las escalas musicales tanto a nivel

teórico como a nivel práctico sobre las partituras. 2) Estudiar la relación existente entre el espectro de una onda sonora y la afinación de la escala

musical dentro del contexto de cualquier manifestación cultural. 3) A partir de los dos objetivos anteriores, sistematizar la definición de escala como concepto

matemático referente a su afinación. 4) Estudiar las consecuencias de la afinación de la escala en el efecto de consonancia y

disonancia dentro de una obra musical de cualquier manifestación estética teniendo en cuenta el espectro de los instrumentos que ésta utiliza para su plasmación artística.

5) Estudiar nuevas posibilidades mediante la aplicación de algoritmos de afinación adaptativa basados en la teoría de la disonancia.

6) Más a largo término, aplicar la sistematización estudiada a la búsqueda de nuevas escalas que puedan aplicarse a cada contexto diferente y, a la vez, permitir nuevas técnicas de composición.

Como objetivos más específicos del proyecto enumeraré los siguientes: 1) Calcular frecuencias y relaciones numéricas de intervalos para cualquier tipo de escala. 2) Creación y evaluación de escalas musicales. 3) Aplicar cualquier tipo de escala a una partitura para poder observar sus efectos en referencia

a la consonancia y disonancia. 4) Evaluar los resultados mediante medidas de la disonancia basadas en definiciones

sistematizadas. 5) Evaluar los resultados de forma auditiva. 6) Aplicar un algoritmo de afinación adaptativa basado en la teoría de la disonancia y

propuesto por W. A. Sethares. 7) Aplicar un algoritmo que pretenda acercarse a la definición de la justa entonación. 8) Aplicar la teoría de la disonancia a la búsqueda de la escala más apropiada para cada

instrumento musical. 9) De forma inversa a la anterior, aplicar la teoría de la disonancia para la síntesis del espectro

de un instrumento hipotético más adecuado para una cierta escala. 10) Aplicar la teoría de la disonancia a la predicción de la afinación más adecuada para una obra

musical concreta pensada para ser interpretada por un instrumento musical concreto.

Page 14: SpecMusic Libre

14

II. INTRODUCCIÓN

1. CONCEPTOS TRABAJADOS

En este apartado intentaré englobar todos los conceptos que han sido necesarios para la realización de este proyecto. Ya que será imposible explicarlos en su totalidad, determinaré cuáles de ellos expondré en los siguientes apartados teóricos dejando por supuestos el resto de los temas. En caso de que el lector necesite más información sobre los temas que no explique o, incluso, necesite información más concreta de algunos de los temas explicados, le remito a la bibliografía que expongo al final del trabajo. En esta bibliografía intentaré dar una lista lo más completa y exhaustiva posible de todas las fuentes que he consultado para realizar este proyecto así como otras que puedan ser de utilidad para ampliar sobre temas que se hayan dado por supuestos5.

Ésta es la lista de conceptos debidamente clasificados por temas: Programación

Programación en C Programación orientada a objetos (C++) Programación en entornos gráficos (Visual C++)

♦ API de Windows ♦ MFC

• Controles comunes • Estructura de una aplicación • Múltiples documentos y vistas • División de ventanas • Diálogos • Gráficos • Hilos

Programación de dispositivos multimedia (bajo nivel) ♦ Entrada y salida de audio estándar ♦ Entrada y salida estándar MIDI

Formatos de ficheros multimedia ♦ MIDI ♦ Waveform

Adaptación de código existente Programación de algoritmos Programación de gráficos y mapas de bits

Procesado de señales Muestreo Convolución Transformada de Fourier FFT Análisis espectral Detección de picos

Teoría general de la música Notación musical Intervalos Tonalidad y modalidad Análisis armónico

Temas de historia y estética de la música Acústica musical

Cualidades del sonido Superposición de ondas Sonidos diferenciales y adicionales Espectros de señales musicales Sonidos armónicos, concomitantes y alícuotas

Teoría de la disonancia Definición clásica Conceptos de consonancia

5 Me refiero concretamente a los temas más relacionados con la música y que aquí no podré tratar con la debida profundidad.

Page 15: SpecMusic Libre

15

Contexto histórico Contexto estilístico

Teoría de escalas Definición de escala Tipos de escalas Cálculo de frecuencias e intervalos Definiciones axiomáticas de escalas Escala pitagórica Escalas físicas Temperamento igual Temperamento mesotónico Justa entonación Afinaciones adaptativas Evaluación de escalas

Aplicaciones de la teoría de la disonancia Antecedentes Relación entre escala y espectro Aplicación a las afinaciones adaptativas

♦ Algoritmo adaptativo de W. A. Sethares ♦ Algoritmo de la justa entonación

Evaluación de la consonancia: partitura de consonancia De todos estos temas expondré los temas específicos para este proyecto los cuales considero más

desconocidos para un lector formado en ingeniería y que, a la vez, su visión técnica también es desconocida habitualmente por los músicos. Eso implica hablar de acústica musical, teoría de la disonancia con sus aplicaciones y teoría de escalas. En concreto, incluyo especialmente este último tema debido a que he sido yo quien ha realizado su desarrollo matemático, utilizado en el desarrollo del proyecto.

2. CONCEPTOS PREVIOS SOBRE ACÚSTICA MUSICAL

2.1 Revisión de las cualidades del sonido y concepto de nota musical

De entrada, definiré el sonido como la sensación producida en el cerebro por “una alteración de la presión, desplazamiento, velocidad de las partículas que se propaga en un medio elástico, o la superposición de tales alteraciones al propagarse”6.

Tal propagación corresponde a una onda mecánica que puede modelarse en régimen permanente por la siguiente ecuación:

donde A representa la amplitud de la onda, es el vector de onda y ωi son las frecuencias angulares a partir de las cuales podemos definir unas frecuencias fi tales que:

Es importante remarcar que cuando hablamos de frecuencia en música nos referimos siempre a las frecuencias fi cuya unidad de medida es el hercio (Hz)7.

Por otro lado, sabemos que las cualidades del sonido son cuatro: altura, duración, intensidad y timbre. A partir de estas afirmaciones relacionaremos las cualidades del sonido con los parámetros físicos de la onda8.

La altura de un sonido musical corresponde al concepto de altura sonora, el cual se define como “un atributo de la sensación auditiva según el cual los sonidos se pueden ordenar en una escala que se extiende desde los más bajos hasta los más altos, como en una escala musical”9.

6 Definición dada por Miguel Lorente en “Teoría acústica y musical de una mezcla de sonidos” en Acústica Musical, ICCMU,

Madrid, 1998. 7 En música se usa más el término vibraciones por segundo, el cual es equivalente. 8 Para una mejor explicación de los conceptos físicos consúltense las referencias que doy sobre el tema en el apartado 4 de la

bibliografía. 9 Definición dada por el Instituto Nacional Americano de Estándares (American National Standards Institute) para el término

pitch, traducido como altura sonora por Miguel Lorente en “Teoría acústica y musical de una mezcla de sonidos” en Acústica

musical, ICCMU, Madrid, 1998.

Page 16: SpecMusic Libre

16

El estímulo de la altura sonora es primordialmente la frecuencia del primer sonido sinusoidal de la onda pero no tiene que ser siempre así, también influyen en ella la presión sonora (intensidad) y la forma de la onda (timbre). En muchas ocasiones, incluso, no puede percibirse la sensación de altura sonora. Solamente en los casos en que ésta pueda percibirse podremos hablar de sonidos determinados o musicales y asociar el sonido correspondiente con una nota musical de frecuencia determinada. Paralelamente hablaremos de sonidos indeterminados en los casos en que no pueda percibirse la altura sonora.

Obsérvese que la expresión matemática corresponde a una suma de funciones periódicas pero en ningún momento he impuesto ninguna condición de periodicidad a la expresión resultante. Ello dependerá de los valores que tomen las diversas frecuencias de cada componente sinusoidal.

La periodicidad es una característica suficiente que deben cumplir los sonidos determinados aunque no es del todo necesaria10.

La duración corresponde a la persistencia de la onda y ésta depende de la duración de una excitación externa. Recuérdese que hemos considerado una onda en régimen permanente por lo que suponemos que existe una excitación externa que puede venir dada por diversos mecanismos, entre ellos, el más típico, un efecto de resonancia11.

La intensidad corresponde a la amplitud de la onda gracias a la cual obtenemos sonidos fuertes y débiles. Hay que tener en cuenta que la amplitud puede ser variable por la presencia de batidos pero siempre estará en relación con la amplitud total12.

El timbre corresponde simplemente a la forma de la onda, o sea, depende de los valores de las frecuencias y amplitudes de cada término de la suma. Esto es lo que constituye su espectro, como veremos en el apartado siguiente.

En el vector de onda reside información de fase, dirección de la onda y velocidad. Estos parámetros no influyen en los conceptos musicales ya que la fase es imperceptible por el oído. Únicamente, la dirección de la onda es percibida por el cerebro en el sentido de que según a qué oído llegue primero la onda, el cerebro podrá distinguir la procedencia de la onda.

Por otro lado, la velocidad de propagación del sonido en el aire depende de la densidad del medio de transmisión13. Además, también aumenta con la temperatura. A modo de ejemplo, la velocidad del sonido en el aire a una temperatura de 15 grados centígrados es, aproximadamente, de 340 metros por segundo.

2.2 Análisis espectral

2.2.1 Modelado espectral de sonidos musicales

Anteriormente hemos visto el modelo matemático de una onda de sonido cuya única característica que le hemos impuesto ha sido la constitución mediante una suma de componentes sinusoidales o tonos puros.

Si analizamos el espectro de esta señal mediante la transformada de Fourier encontramos que se trata de una suma de deltas que se identifican como rayas espectrales, sobretonos o parciales localizadas en determinadas frecuencias. Esto permite modelar este tipo de espectros mediante un conjunto de frecuencias con sus respectivas amplitudes:

En este modelo, N es el número de rayas espectrales que componen el espectro y lo identificaremos como su dimensión. Éste es el modelo de espectro que tomaré de cara a la realización del proyecto.

10 Esto no significa que los sonidos indeterminados no puedan utilizarse con funciones musicales. Algunos de los instrumentos

musicales de percusión son de sonido indeterminado. Es el caso de los platillos o del bombo. 11 Piénsese, por ejemplo, en la caja de resonancia de cualquier instrumento musical o en el arco de los instrumentos de cuerda. 12 Para el cálculo de la amplitud total véase la bibliografía en las referencias sobre acústica musical citadas en el apartado 4 de la

bibliografía. En concreto, existe un estudio muy claro en Miguel Lorente: “Teoría acústica y musical de una mezcla de sonidos” en Acústica Musical, ICCMU, Madrid, 1998.

13 Téngase en cuenta que la onda sonora es una onda mecánica y, por lo tanto, no puede propagarse en el vacío.

Page 17: SpecMusic Libre

17

2.2.2 Normalización de espectros

Aplicaremos ahora una operación de normalización para los espectros que consistirá en normalizar las frecuencias y/o las amplitudes de tal manera que se expresen en forma de cociente respecto de la más grave que tomará el valor unidad14. Esto puede representarse de la siguiente manera:

donde se cumplirá que g0=1 y a0=1. De la misma manera podemos definir otra operación que consiste en una normalización o

asignación de un valor concreto para las frecuencias y/o las amplitudes. En realidad constituye una generalización del caso anterior:

donde A0 y F0 corresponden respectivamente a la amplitud y frecuencia del primer parcial.

2.2.3 Casos particulares

El caso más simple es el de un tono puro constituido por una sola sinusoide y una sola raya espectral a una cierta frecuencia. Este caso corresponde al sonido de un diapasón pero, en general, no se trata de una onda que represente un caso real.

En este caso simple, la onda resultante es periódica y la altura sonora corresponde con el valor de la única frecuencia del espectro15.

Por otro lado, volviendo al modelo general de rayas espectrales, podemos distinguir otro caso importante dentro de los espectros (y sus ondas correspondientes): los sonidos armónicos. Tales sonidos corresponden al caso en que la secuencia formada por las frecuencias normalizadas forman una serie armónica, o sea, de números naturales, aunque no tiene porqué ser completa y su dimensión dependerá de cada caso concreto. Por el término de serie armónica también se identifica la serie de notas que se asocian a tales frecuencias tomadas como sonidos fundamentales16.

Según el teorema de Fourier, la condición necesaria y suficiente para que una superposición de movimientos sinusoidales sea un movimiento periódico respecto del tiempo, es que las frecuencias de cada uno de los movimientos sinusoidales sean todas conmensurables con la misma unidad. Si una función es periódica se puede desarrollar en serie de funciones sinusoidales cuyas frecuencias son todas múltiplos enteros de la frecuencia más grave. Éste es el caso en el que nos encontramos, por tanto, las ondas correspondientes a estos espectros serán periódicas y el oído podrá determinar su altura sonora. Ésta se corresponderá con la frecuencia fundamental que, en este caso, coincide con la más grave. El resto de parciales determinarán el timbre del sonido.

Debemos apuntar que la frecuencia fundamental no tiene porqué ser la correspondiente al pico de mayor amplitud e, incluso, como veremos después, no tiene ni porqué existir. La mayor amplitud de los parciales en relación con la de la frecuencia fundamental produce el efecto que percibimos como un sonido de timbre brillante.

En algunos casos, la armonicidad puede determinarse si la secuencia de números es un conjunto de números racionales en cuyo caso puede realizarse la siguiente operación:

donde pi y qi son los números naturales que definen los racionales xi. Entonces, si tomamos un número q ̃ que corresponda al mínimo común múltiplo de todos los qi

podemos encontrar un denominador común para todos los racionales y determinar f ̃, la verdadera frecuencia fundamental:

14 Podemos hablar entonces de frecuencias y amplitudes relativas. En general, la relación puede expresarse en referencia a

cualquiera de los parciales o, incluso, en referencia a la amplitud total o la altura sonora. 15 Eso sin contar con que esta altura sonora también puede depender de la intensidad. 16 Las frecuencias de las notas de la serie armónica no son exactamente las de los parciales de la nota inicial tomada como

fundamental pero se aproximan en menor o mayor medida dependiendo de la afinación de la escala que se considere.

Page 18: SpecMusic Libre

18

quedando el espectro formado por una secuencia de números naturales. En este caso, el teorema de Fourier también determina una periodicidad en la onda correspondiente y podemos seguir hablando de armonicidad del espectro. De una manera análoga, el cerebro “produce” un sonido fundamental llamado tono virtual17 correspondiente a la frecuencia f ̃ y el oído puede percibirla como altura sonora. En este caso, la frecuencia fundamental y la altura sonora no coinciden con la frecuencia más grave del espectro.

Gracias a este fenómeno también podemos escuchar los tonos graves en las radios de transistores pequeñas, cuyo pequeño altavoz no puede reproducirlos. Algo análogo ocurre en las campanas tubulares de la orquesta, cuyos armónicos 2, 3 y 4 originan el sonido fundamental.

El tono virtual también se denomina “fundamental perdida” porque no se encuentra en la membrana basilar. En efecto, si enmascaramos con ruido las frecuencias próximas a la fundamental, ésta se sigue oyendo. Tampoco produce batidos al introducir una frecuencia próxima. Por otro lado, esta capacidad del cerebro para identificar la frecuencia fundamental de una mezcla de sonidos sólo se da en fundamentales de hasta 1500 Hz.

Hablaremos de inarmonicidad cuando nos refiramos a los espectros que no cumplan ninguna de las condiciones anteriores. Entonces, las ondas correspondientes dejarán de ser periódicas. El cálculo de la altura sonora (asimilado a la frecuencia fundamental), puede complicarse mucho para el caso de los sonidos inarmónicos o, incluso, será imposible. Empezaremos a hablar aquí de sonidos indeterminados por no poder establecerse la altura sonora de forma clara18.

No obstante, en estos casos, aún es posible una versión ampliada del análisis de Fourier19, pero las frecuencias obtenidas no son múltiplas de otra dada. Pueden corresponder a una nota si la vibración varía lentamente con el tiempo conservando alguna regularidad. Pero si varía rápidamente, el espectro es continuo, correspondiendo a un ruido20. Es el caso de los instrumentos de percusión. El hecho de que algunos de ellos den sensación de tono se debe a que alguna de esas frecuencias es mucho más intensa que las demás, o que hay algunas frecuencias en proporción de múltiplos.

2.2.4 Consideraciones adicionales

Hay que tener en cuenta que todo sonido musical (es decir, periódico) contiene un cierto porcentaje de inarmonicidad y, además, las rayas espectrales no se corresponden con el modelo matemático de una delta sino que los picos tienen un cierto ancho de banda. El efecto de enventanado provocado por la longitud finita de la onda, el ruido, el efecto de desvanecimiento o amortiguación, cualquier otro estado transitorio como el efecto del ataque en las cuerdas de un piano así como otros efectos pueden provocar un alejamiento del modelo matemático. En cualquier caso, si el espectro analizado se aproxima a tal modelo, podremos hablar de sonidos musicales. En tal caso, ya serán reconocidos como tales por el oído ya que serán percibidos como una nota con una frecuencia fundamental concreta y con un cierto timbre.

De cara al modelado espectral hemos de tener en cuenta otro efecto que consiste en la no homogeneidad del espectro a lo largo de todo el registro de frecuencias para las cuales puede producirse en el instrumento correspondiente. En el registro mas grave, por ejemplo, el espectro suele tener más cantidad de armónicos mientras que, en el registro más agudo, suele ocurrir lo contrario. Generalizando, cada nota del registro puede tener su propio espectro. Para un modelado exacto deberíamos considerar un espectro diferente en cada nota del instrumento que queramos modelar. En una aproximación, podríamos definir un espectro diferente para cada margen de frecuencias determinado. El caso habitual de asociar un espectro concreto para todo el margen de frecuencia posible en el instrumento correspondiente responde a un caso poco real que, por lo menos, debería responder a cálculos estadísticos realizados a partir de todos los espectros reales.

Debe remarcarse que, en este estudio teórico se ha trabajado con señales analógicas y que todo ello debería repetirse para el caso de las señales discretas ya que vamos a trabajar con el ordenador. A este procedimiento deberíamos añadir el proceso de cuantificación y digitalización. He preferido exponer el estudio analógico porque es el que mejor da a entender los conceptos físicos y musicales así como sus

17 El término “tono virtual” es una traducción del término inglés virtual pitch. Este es el caso típico de los sonidos armónicos

entendidos como tales en la práctica musical (véase apartado siguiente) y que corresponden a los sonidos debidos a una vibración fraccionada provocada.

18 En E. Terhardt, G. Stoll, M. Seewann: “Algorithm for extraction of pitch and pitch salience from complex tone signals”, Journal of Acoustical Society of America, vol. 71, nº 3, 679-688 (March 1982), se da un algoritmo para encontrar el tono virtual de un tono complejo.

19 Es el caso que se corresponde con el modelo general dado en el apartado anterior y que correspondía simplemente a una suma de sinusoides de cualquier frecuencia.

20 En este caso, la generalización del teorema de Fourier corresponde directamente a la transformada de Fourier definida mediante integrales.

Page 19: SpecMusic Libre

19

aplicaciones posteriores y tales conceptos deben coincidir con los aplicados a las señales discretas. Sólo cambiará su tratamiento matemático21.

2.3 Sonidos alícuotas, concomitantes y armónicos

Deben aclararse ciertas cosas respecto a determinados términos relacionados con el espectro de un sonido: sonidos alícuotas, armónicos y concomitantes. En la mayor parte de tratados de acústica se confunden estas denominaciones y se dan como sinónimos pero, en realidad, tienen distinto significado.

Los sonidos alícuotas son los sonidos producidos por un cuerpo sonoro unidimensional22 cuando se reduce su longitud a una de las partes iguales en las que se ha dividido. La relación con la serie armónica está en que, efectivamente, aumentando progresivamente el número de partes se van obteniendo los sonidos correspondientes a la serie, eso sí, como sonidos reales23. En consecuencia, denominamos partes alícuotas a tales divisiones del cuerpo sonoro.

Los sonidos concomitantes son todos los que integran una serie armónica y que, en realidad, no son sonidos sino ”componentes del sonido”. En realidad son los componentes de su espectro y viene provocados por un fraccionamiento vibratorio natural24.

Los sonidos armónicos son los sonidos concomitantes que se convierten en sonido al suprimir el fundamental o algunos de sus concomitantes inferiores. Esto es lo que entendemos como vibración fraccionada provocada. Son diferentes de los alícuotas ya que éstos últimos contienen todos sus armónicos25.

Cuando el espectro no es armónico identificamos sus componentes como sobretonos o parciales, o sea, los correspondientes a los concomitantes para el caso de una serie armónica. No obstante, debido al uso generalizado del término de sonidos armónicos, usaré éste de forma equivalente a los concomitantes y los parciales aunque, en realidad, se trata de un error. Este será, pues, el término general y resulta equivalente a la denominación de rayas espectrales.

Como tono, simplemente se identifica un sonido determinado, o sea, una onda sonora periódica correspondiente a una nota musical. Hablaremos de un tono puro cuando tal sonido se componga únicamente de un parcial o armónico (en este caso es lo mismo)26. De la misma manera, hablaremos de tono o sonido compuesto o complejo para el caso generalizado.

2.4 Superposición de ondas sinusoidales

A partir de la siguiente identidad trigonométrica

podemos cambiar la expresión de dos ondas sinusoidales superpuestas con una diferencia de frecuencia Δω de la siguiente manera:

Tal expresión corresponde a la señal producida por el efecto de interferencia o superposición de dos ondas de igual amplitud y puede entenderse como una señal con dos términos de frecuencia de los cuales, el primero varía lentamente en relación con el segundo. El resultado es una señal que puede

percibirse como una sinusoide de frecuencia con una lenta variación de envolvente (amplitud)

de frecuencia Δω y donde podemos identificar dos casos extremos:

21 Para una exposición más detallada del tratamiento de las señales analógicas así como el de las señales discretas consúltense

las referencias citadas en el apartado 2 de la bibliografía. 22 Aunque no habría inconveniente en generalizar el proceso a un cuerpo bidimensional. Eso sí, sería de más difícil aplicación. 23 Este fue el sistema utilizado por los pitagóricos cuando descubrieron los intervalos de la escala musical usando un

monocordio (instrumento de una cuerda). Por este método encontraron la octava y la quinta al dividir una cuerda en dos y tres partes iguales respectivamente. De aquí proviene el cálculo de intervalo en fracciones el cual, todavía hoy se utiliza. De hecho, sólo puede emplearse cuando los dos sonidos del intervalo se relacionan con partes alícuotas de la unidad.

24 Término que usaremos en contraposición de las vibraciones fraccionadas provocadas a las que ahora haré referencia. 25 Se obtienen debido a la llamada vibración fraccionada mientras que para los sonidos alícuotas lo que se hace es, simplemente,

reducir la longitud. En el caso de la cuerda, se obtienen presionando suavemente en el punto correspondiente a la parte alícuota de tal manera que vibre toda la cuerda. De esta manera se suprimen los primeros armónicos. En el caso de un tubo pueden obtenerse estos sonidos graduando la presión de aire.

26 Estos sonidos son raros ya que lo normal es que contengan diversos parciales. No obstante, es el caso del sonido del diapasón el cual está fabricado de tal manera que se suprimen todos los parciales que contiene el sonido de la barra que lo constituye.

Page 20: SpecMusic Libre

20

1) La amplitud de la onda resultante es máxima en el momento en que las dos componentes están en fase. Si las dos componentes tienen diferente amplitud, la amplitud resultante corresponde a la suma de las amplitudes de cada componente.

2) En cambio, cuando las dos componentes se encuentran en oposición de fase, la amplitud de la onda resultante es mínima y corresponde a la resta de las amplitudes de cada componente, llegándose a anular cuando son iguales.

La frecuencia de variación de la amplitud viene dada por , correspondiente a la frecuencia

de la componente envolvente de x(t). El efecto resultante puede percibirse de diversas maneras en función de su magnitud como podrá verse en el apartado II.2.6. Igualmente, el fenómeno de la disonancia depende de la magnitud de esa frecuencia.

Por otro lado, puede demostrarse que el período de la onda resultante equivale al mínimo común múltiplo de los períodos de cada componente de la suma27. Esto también tiene una implicación directa sobre la teoría de la disonancia.

2.5 Sonidos diferenciales y sonidos adicionales

Si modelamos el oído como un sistema nos encontramos con que su respuesta tiene componentes no lineales y que podemos modelar de esta forma:

donde αi > αi+1. Tal efecto no lineal puede atribuirse a la asimetría del tímpano. No obstante, para un caso práctico, modelaremos de la siguiente manera:

donde α > β. Entonces, si , un tono puro, mediante la identidad trigonométrica

obtenemos

donde podemos observar la existencia de una componente frecuencial añadida correspondiente al doble de la frecuencia original.

En cambio, para una interferencia de dos tonos puros, ,

obtenemos:

donde obtenemos varias componentes frecuenciales añadidas y que corresponden a las frecuencias

, cada vez más débiles.

Si repetimos el proceso considerando el tercer término de la respuesta no lineal obtenemos los siguientes componentes frecuenciales añadidos:

Generalizando:

donde N es el orden tomado para la respuesta no lineal. Todas estas componentes frecuenciales añadidas se identifican de la siguiente manera: 1) Armónicos aurales, que corresponden a las componentes armónicas, o sea, a los múltiplos

enteros de los sonidos originales.

27 Véase Miguel Lorente: “Teorema de la periodicidad de una superposición de sonidos sinusoidales”, “Teoría acústica y musical de una mezcla de sonidos”, Acústica musical, ICCMU, Madrid, 1998, Capítulo IV, pp. 195-198.

Page 21: SpecMusic Libre

21

2) Tonos de combinación, que corresponden a todos los restantes para el caso de dos tonos, o sea, los que resultan de una combinación de las dos frecuencias originales. En particular, los tonos de combinación pueden clasificarse también como:

a. Sonidos diferenciales, que corresponden a las componentes en forma de resta. b. Sonidos adicionales, que corresponden a las componentes en forma de suma.

En general, todos estos sonidos debidos a la distorsión del oído pueden escucharse cuando los tonos originales son lo suficientemente fuertes y son más débiles cuanto más agudos son.

De entre los sonidos diferenciales, el más intenso es el tono diferencial . Este sonido,

que quizás se produce en el oído medio, fue descubierto por el violinista Giuseppe Tartini (1692-1770). De entre los demás, todos producidos por la distorsión en el oído interno, tiene cierta relevancia

el tono diferencial .

En general, los sonidos diferenciales se consideran hoy de gran utilidad para analizar y determinar el grado de consonancia entre dos sonidos simultáneos. Por otro lado, Paul Hindemith también presenta diferentes usos musicales para los tonos diferenciales, en concreto, los de la forma

, para n entero.

En referencia a los sonidos adicionales, normalmente son mucho más débiles que los diferenciales y se denominan también sonidos-suma. El primero de ellos fue descubierto por H. von Helmholtz.

En conclusión, un sonido contendrá, a parte de sus parciales, diversos elementos distorsionantes percibidos como sonidos añadidos y que se deben a la respuesta no lineal del oído.

La explicación de la consonancia a través de los sonidos diferenciales está en el grado de coincidencia entre las frecuencias de los sonidos originales y alguno de los armónicos del sonido diferencial. La máxima consonancia se produce cuando el sonido diferencial y su segundo armónico coinciden con los sonidos originales (caso 2/1); en menor grado, cuando coinciden los armónicos inferiores con los sonidos originales (caso 3/2, 4/3, 5/4, 5/3...). Para relaciones más complicadas, los armónicos del diferencial no coinciden con los sonidos originales o lo hacen de forma aproximada provocando pulsaciones (caso anterior)28.

2.6 Bandas críticas

Experimentando con sonidos puros se ha comprobado que el conjunto de frecuencias audibles puede agruparse más o menos en 24 bandas críticas. Cada banda abarca sobre la membrana basilar 1,3 mm de longitud y 1300 neuronas o células conectadas al nervio auditivo.

Cuando dos tonos tienen frecuencias muy cercanas se superponen sus respuestas en la membrana basilar29 y se dice que están en la misma banda crítica. Para una cierta frecuencia comprendida dentro del margen audible y que se tome como frecuencia central de una banda crítica, la anchura de banda crítica30 depende de su magnitud. La anchura de banda crítica es aproximadamente constante para frecuencias menores de 500 Hz (aproximadamente, por debajo del do 4) y, por encima de ese margen, aumenta con la frecuencia de forma aproximadamente proporcional. El siguiente gráfico muestra claramente esa relación:

28 Según esta afirmación podemos deducir igualmente que la octava es el intervalo más consonante porque sus dos notas se

funden y refuerzan con su sonido diferencial además de su segundo armónico; la quinta natural, aunque también es consonante, lo es un grado menor que la octava porque el diferencial no coincide con ninguna de sus notas por sí mismo, sino por medio de sus armónicos 2 y 3; la cuarta mediante sus armónicos 3 y 4 y la tercera mayor mediante sus armónicos 4 y 5.

29 A modo de resumen, la membrana basilar del oído funciona como un analizador de espectros. Véanse las referencias citadas en el apartado 4 de la bibliografía para poder obtener más información sobre este tema.

30 El nombre de ”anchura de banda crítica” para este ancho de banda ha sido propuesto por H. Fletcher en Review of modern

physics, 12 (1940) 47-65. Por otro lado, esta banda crítica ha sido medida de diversas maneras en gatos y humanos por R. Plomp en Aspects of Tone Sensation 1976, E. Zwicker (y otros) en “Critical bandwith on loudness summation” en Journal of Acoustical

Society of America, vol. 29, 548 (1957), E. Zwicker y H. Fastl en Psychoacoustics 1990, y C. G. Wier (y otros) en “Frequency discrimination as a function of frequency and sensation level” en Journal of Acoustical Society of America vol. 61, 178-184 (1977).

Page 22: SpecMusic Libre

22

Ilustración 2: Representación gráfica de la anchura de banda crítica31. La consecuencia que las bandas críticas tienen en la audición de dos sonidos con frecuencias

muy parecidas es que éstos excitan la misma banda crítica y sus neuronas tienen que reaccionar a la vez produciendo cierta confusión en el cerebro. En cambio, si las frecuencias se separan, los sonidos excitan bandas críticas diferentes y la sensación cambia totalmente. Dependiendo de la magnitud de la diferencia de frecuencias entre los dos sonidos, el efecto producido puede clasificarse de la siguiente manera32:

• Cuando la diferencia de frecuencias es menor que 10 Hz, la variación de amplitud de la envolvente se percibe como reforzamientos del sonido que se identifican como pulsaciones o batidos. El máximo de amplitud de la envolvente se produce por una coincidencia en la fase de los dos sonidos.

• A partir de 15 Hz los batidos desaparecen ya que son demasiado rápidos y se perciben mezclados. En este momento se siente una “aspereza”33 en el sonido.

• Al aumentar la diferencia de frecuencias, llega un momento en el que se oyen los dos sonidos como separados, aún con aspereza.

• Por fin, a partir de un cierto valor de la diferencia de frecuencias, esa aspereza desaparece34.

31 Gonzalo Fernández de la Gándara: “Curso de acústica para músicos”, Acústica musical, ICCMU, Madrid, 1998, figura 6-9, p.

69. 32 En el CD que se adjunta en W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997 se

encuentran diversas demostraciones auditivas e ilustrativas de los fenómenos descritos a continuación. 33 Este término corresponde a una traducción del término inglés roughness (también podría traducirse como rugosidad) y

corresponde al término usado por G. Fernández y Miguel Lorente en Acústica Musical, ICCMU, Madrid, 1998. En el mismo trabajo también se identifica el efecto asociado como dureza acústica haciendo referencia a los trabajos de G. von Békésy (“La dureza acústica” en Zeitschrift für tecnische Physik, 16 (1935)). De esta manera definen la dureza acústica como “la propiedad característica del oído humano por la cual ciertos sonidos se perciben molestos y ásperos”. Ésta será la base de definición de la disonancia.

A partir de la generalización de este proceso para todos los armónicos y sus interferencias podemos obtener las curvas de dureza de un conjunto de sonidos y que se corresponden con las curvas de disonancia, tema que trataré más adelante y que constituirá la base de mi proyecto.

Por otro lado, Jaime Piles Estellés en Intervalos y gamas, Piles, Valencia, 1982, identifica con el mismo fenómeno efectos de trémolo y temblor. El temblor lo identifica simplemente como un trémolo más rápido.

Page 23: SpecMusic Libre

23

H. L. F. von Helmholtz35 concluyó que el máximo grado de dureza se producía cuando la diferencia de frecuencia entre los dos sonidos era de 32 Hz. Por otro lado, los experimentos realizados por R. Plomp y W. J. M. Levelt36 han relacionado esta dureza con la anchura de banda crítica. Los sonidos se perciben separados cuando excitan diferentes bandas de frecuencia de la membrana basilar y, por lo tanto, el efecto de aspereza desaparece cuando la diferencia de frecuencias entre los dos sonidos es mayor que la anchura de banda crítica. Además, observaron que, en casi todos los márgenes de frecuencia, el punto de máxima aspereza se produce alrededor de ¼ de la anchura de banda crítica. Este criterio coincide con el de H. L. F. von Helmholtz para frecuencias cercanas a 500 Hz, para las cuales, el máximo de dureza se produce sobre los 32 Hz.

2.7 Medida de pulsaciones37

El número de pulsaciones que se producen por unidad de tiempo es igual a la diferencia de frecuencia entre los dos sonidos pero este cálculo será sólo válido para el margen de la diferencia de frecuencias para el cual se producen las pulsaciones38. Por tanto, el número máximo de pulsaciones por segundo puede considerarse de 10.

Por otro lado, el cálculo de las pulsaciones también puede ser significativo cuando los dos sonidos tienen una diferencia superior a la anchura de banda crítica pero alguno de los armónicos del sonido diferencial es de frecuencia aproximada a uno de los primeros parciales de cualquiera de los sonidos originales39. Según esto, podemos generalizar el cálculo de las pulsaciones tomándose el valor máximo (el más significativo) dentro de su margen de producción, o sea, escoger el máximo que sea menor que 10 dentro del siguiente conjunto de frecuencias:

En la práctica, las pulsaciones se miden en minutos (de cara a su aplicación en la afinación de instrumentos musicales) y convienen definir las pulsaciones por minuto simplemente como 60 * N, donde N es el número de pulsaciones por segundo.

2.8 Límites de percepción

Respecto a la altura del sonido podemos considerar dos conceptos relacionados: los límites de percepción del sonido y la sensibilidad auditiva. Ésta última la explicaré en el apartado siguiente.

El margen de frecuencias audible por el oído viene determinado por los límites de percepción del sonido (llamados también umbrales de audición). A la vez, podemos distinguir dos tipos de límites: los límites de percepción y los límites de identificación.

Por límites de percepción del sonido entendemos el margen de frecuencias audible por el oído. Pueden fijarse de modo aproximado ya que no son iguales para todos los oídos. Algunos límites que se han fijado son:

1) Los estimados por Blaserna (basándose en las experiencias de Despretz): frecuencias de 16 a 38.000 Hz.

2) Otros acústicos consideran demasiado alta esta última cifra, por ejemplo, según Camilo Flammarión (1842-1925), las frecuencias audibles se encuentran entre 16 y 32.768 Hz40.

3) Sin embargo, hay quien no llega a percibir como sonido frecuencias menores de 30 Hz o mayores de 12.000 Hz.

4) En personas de más de 65 años el margen puede ser aún más reducido. 5) A modo de ejemplo, se sabe que el perro percibe sonidos hasta 35.000 Hz y el murciélago

hasta 100.000 Hz.

34 Algunos tratados de acústica identifican este punto con una diferencia de frecuencia de 16 Hz correspondiéndose con el

umbral inferior de audición. Entonces, a partir de este momento, la frecuencia de la envolvente entra dentro del margen de frecuencias audible dando lugar a la formación de un nuevo sonido que identifican con el diferencial pero esta afirmación deja de tener validez en el momento en que se asigna este sonido a la consecuencia de la respuesta no lineal del oído. Además, los márgenes de la diferencia de frecuencias dados por estos tratados, tampoco coinciden con los márgenes que dan los tratados de H. L. F. von Helmholtz, W. A. Sethares M. Lorente y G. Fernández de la Gándara entre otros (obras citadas en la bibliografía, apartado 4).

35 H. von Helmholtz: Die Lehre von den Tonempfindungen, Longmans & Co., 1877. Traducción inglesa por A. J. Ellis: On the

sensations of tone (Sobre las sensaciones sonoras), 1877, Dover, New York 1954. 36 R. Plomp, W. J. M. Levelt: “Tonal consonance and Critical Bandwith”, Journal of Acoustical Society of America 38, 548-560

(1965). 37 Este cálculo corresponde a una modificación del procedimiento expuesto en Jaime Piles Estellés: Intervalos y gamas, Piles,

Valencia, 1982. 38 Véase el apartado II.2.6. 39 Es el caso, por ejemplo, de las quintas temperadas para la afinación de las cuales se cuenta el número de pulsaciones que

producen. 40 Gonzalo Fernández de la Gándara, en “Curso de acústica para músicos” en Acústica Musical, ICCMU, Madrid 1998, da los

siguientes límites: 20 a 20.000 Hz.

Page 24: SpecMusic Libre

24

Los sonidos empleados en música entran en un campo de 16 a 16000 Hz, aunque se supere este número en los agudos por sus componentes armónicos.

Por límites de identificación del sonido entendemos el margen de frecuencias para los cuales, los sonidos periódicos pueden percibirse como tales e identificar una frecuencia fundamental y, con ella, la nota musical correspondiente.

Como límites de identificación, también de forma aproximada, suelen tomarse las notas extremas del piano. Sólo con gran benevolencia, las notas más extremas pueden aceptarse como de sonido grato y de afinación definible. Tales límites corresponden, pues, a las notas la –2 y do 741 con frecuencias respectivas de 27.5 y 4224 Hz42.

2.9 Sensibilidad auditiva

La sensibilidad auditiva es la capacidad que el oído tiene para distinguir el mínimo nivel de distancia entre dos sonidos (micro-intervalos). Sobre este concepto, voy a hacer varias consideraciones:

1) Aún existen viejos tratados en los que se afirma que es difícil apreciar variaciones de sonido inferiores a una coma43. Estos tratados no dejan clara la procedencia de esta afirmación pero es muy posible que se refieran a la comma de Holder. William Holder era un teórico inglés del siglo XVII (1614-1696) que dejó la convicción entre los músicos de que el tono se dividía en 9 comas aunque, en realidad, su escala no tuvo aceptación44.

2) Actualmente, algunos tratadistas exponen como opinión la del físico alemán Hermann von Helmholtz (1824-1894). Según este físico, un oído privilegiado y bien educado puede distinguir hasta una diferencia de medio savart, lo que significaría reconocer 100 niveles de altura en la distancia de un tono. Esto resulta muy difícil por no decir imposible.

3) Otros teóricos actuales reducen el resultado anterior y fijan la mínima distancia percibible en un savart. Este resultado viene a ser un término medio entre los dos conceptos anteriores y equivale a reconocer 50 niveles de altura en la distancia de un tono.

4) El psicólogo norteamericano Carl Emil Seadhore (1866-1949), en un 94% de casos experimentados, calculó aun mayor sensibilidad. Fijó el resultado en un micro-intervalo de 0.04649 commas (0.005 tonos temperados o 0.25 savarts) y que equivale a reconocer alrededor de 200 niveles de altura dentro del ámbito de un tono.

5) Estudios más recientes de E. Zwicker y H. Fastl45 han determinado que la sensibilidad del oído46 puede ser tan pequeña como 2 o 3 cents pero, tal habilidad depende de la frecuencia, la intensidad de la nota, el entrenamiento del oyente e, incluso, la forma de medida. Por otro lado también observaron que la sensibilidad del oído es mucho más pequeña que la anchura de banda crítica pero, mantiene de forma aproximada un porcentaje constante con ella, al menos, sobre un gran margen de frecuencias. Véase el siguiente gráfico:

41 Según el sistema franco-belga para la identificación de los índices acústicos. Véase el apéndice 2 para más información

acerca de los diferentes sistemas de representación de los índices acústicos. 42 Estas frecuencias están calculadas a partir de la escala de Zarlino tomando como referencia el la 3 de 440 Hz. El sonido más

grave de un instrumento tiene una frecuencia de 16.5 Hz y parece más un temblor profundísimo que una nota musical. Se trata del do –2 (sistema franco-belga) del juego de 32 pies del órgano.

43 Véase el apéndice 4 dedicado a la definición de las diferentes escalas musicales. 44 En caso de que estas afirmaciones se refiriesen a las comas pitagórica o sintónica, que son las más conocidas, no cambiaría

excesivamente el resultado. Ambas comas miden entre 5 y 6 savarts lo que también significa que podrían percibirse unos 9 niveles de altura en la distancia de un tono. Véase el apéndice 4 dedicado a la definición de las diferentes escalas musicales.

45 E. Zwicker y H. Fastl: Psychoacoustics, 1990. 46 Llamada por ellos Just Noticeable Difference (JND).

Page 25: SpecMusic Libre

25

Ilustración 3: Representación gráfica de la sensibilidad del oído en función de la anchura de

banda crítica según los estudios de E. Zwicker y H. Fastl citados47.

3. TEORÍA DE ESCALAS48

3.1 Intervalos

Musicalmente se define un intervalo como la distancia o separación entre dos notas musicales. Para expresar este concepto matemáticamente deberemos definir previamente otro concepto denominado relación numérica49 de un intervalo y que consiste en el cociente entre las frecuencias de las dos notas que lo componen:

Identificaremos r como un intervalo que vendrá representado por su relación numérica; f1 y f2

representarán las frecuencias de las notas que lo constituyen. De cara a definir la dirección del intervalo, consideraré que la frecuencia con índice 2 se refiere a la segunda nota y la de índice 1 a la primera.

En la definición anterior podemos distinguir tres casos: 1) f2 > f1, lo que implica r > 1: identificaremos este caso con un intervalo ascendente. 2) f2 < f1, lo que implica r < 1: identificaremos este caso con un intervalo descendente. 3) f2 = f1, lo que implica r = 1: identificaremos este caso con el caso particular del unísono. Podemos observar que r será siempre un número real mayor que cero. Si consideramos que vamos a tratar temas de consonancia y disonancia debemos tener en cuenta

que los intervalos siempre serán armónicos50 y definiré la dirección del intervalo como la dirección de lectura que, por defecto, será ascendente. En este caso, r será un número mayor o igual que la unidad.

3.2 Operaciones con intervalos

Definiremos las siguientes operaciones con intervalos: 1) Suma: producto de sus relaciones numéricas.

2) Resta: cociente de sus relaciones numéricas.

47 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 2.19, p. 42. 48 En este apartado me referiré exclusivamente a las definiciones matemáticas de escala e intervalo desde el punto de vista de su

afinación. Para el resto de conceptos y definiciones relacionados con los términos de escala e intervalo desde el punto de vista musical, consúltense las referencias que doy sobre teoría musical en el apartado 8 de la bibliografía.

49 También se le puede llamar razón geométrica o fracción según se represente por un número real o por una fracción (caso de ser posible tal representación). Este concreto se corresponde con el término inglés ratio.

50 Al no ser que hagamos referencia al concepto de disonancia melódica identificado como CDC-1 en el apartado II.4.1.2 (los intervalos armónicos son aquellos cuyas notas suenan simultáneamente).

Page 26: SpecMusic Libre

26

3) Ampliación: suma de un intervalo de periodo rN51.

4) Reducción: resta de un intervalo de periodo rN.

(si r>rN)

5) Inversión: inverso de la relación numérica, aplicando después una operación de ampliación para conseguir de nuevo un intervalo en la misma dirección.

3.3 Distancia

Un concepto asociado a un intervalo entendido como su relación numérica y que se corresponde mejor con su idea musical es el de distancia. Definiremos este concepto como una función que cumpla las siguientes propiedades:

1) Esté definida en el ámbito de los intervalos posibles, o sea, en el conjunto de los reales positivos (sin incluir el cero).

2) Sea siempre creciente en el ámbito de definición para asociar su valor con la dimensión del intervalo.

3) Sea continua dentro de su ámbito teniendo en cuenta la equivalencia del conjunto de los intervalos con el conjunto de los reales positivos.

4) Sea positiva para los intervalos ascendentes y negativa para los descendentes. 5) Teniendo en cuenta las propiedades 1) y 3) y, según el teorema de Bolzano, el unísono

tendrá asociada una distancia cero. 6) Que el producto de intervalos se corresponda con la suma de distancias y, en consecuencia,

el cociente de intervalos, con la resta. Una función que cumple estas propiedades es la función logarítmica:

donde δ representa la distancia del intervalo r y a es la base del logaritmo. La elección de la base del logaritmo equivale a la elección de una unidad de medida según puede deducirse de su expresión.

Definiremos también el concepto de distancia absoluta como el valor absoluto de la distancia, o sea:

y la representaremos con Δ para diferenciarla de la otra. Para tratar de casos de medidas concretas, algunas de ellas definidas por teóricos destacados,

tomaremos el valor a como relaciones numéricas concretas que constituyan N partes del intervalo de periodo52 o seudo-octava. Según eso:

y, teniendo en cuenta que, normalmente, 53,

quedando la expresión de la distancia como

, o bien .

En la realización del proyecto he considerado las siguientes medidas según un valor dado para la variable N, algunas de ellas tienen asociado un nombre propio perteneciente al teórico que las ha inventado:

Octavas N = 1; Tonos temperados N = 6;

51 Véase el apartado siguiente dedicado a la definición de escalas. 52 Véase el apartado siguiente dedicado a la definición de escalas. 53 Relación numérica de la octava cuando tenemos un espectro armónico.

Page 27: SpecMusic Libre

27

Semitonos temperados N = 12; Tercios de tono N = 18; Cuartos de tono N = 24; Sextos de tono N = 36; Merides N = 43 (Sauveur); Commas o cromas N = 53 (Holder); Savarts N = 300 (Savart); Heptamerides N = 30154 (Sauveur); Centitonos N = 600 (Yasser); Milioctavas N = 1000 (Herschel55);

Cents N = 1200 (Ellis); Decamerides N = 301056 (Sauveur). Más otras medidas no basadas en la octava, simplemente dando un valor concreto a la variable a: Commas pitagóricas a = 531441/524288; Commas sintónicas a = 81/80; Schismas a = 32805/32768; Por otro lado, es sabido que el oído responde con base al logaritmo de las frecuencias y que la

idea de intervalo corresponde a su diferencia, o sea, el logaritmo del cociente. Ello demuestra la conexión entre la expresión matemática de la distancia y su sentido físico.

3.4 Definición de escalas

Por término escala se entienden diversos conceptos en música pero durante el transcurso del proyecto me referiré a escala como una determinada afinación de la escala musical entendida en varios niveles que dependen de su concepción teórica dentro de un contexto histórico o étnico.

Desde el punto de vista matemático, definiremos una escala como un conjunto de números reales que representan frecuencias y que estarán escogidos de entre todos los posibles, es decir, dentro del conjunto de los números reales. Esta elección se realizará siguiendo ciertos criterios matemáticos y musicales.

La escala se puede definir también como un conjunto de intervalos:

Añadiré una propiedad adicional a esta definición que consiste en definir una periodicidad entre los intervalos obtenidos. Esto significa que la secuencia de intervalos definida se repetirá cada N intervalos, consideraremos que N es el número de notas de la escala y lo asimilaré a su dimensión. Definiré, entonces, un intervalo rN asociado al periodo y que denominaré intervalo de periodo. De este modo podremos definir la escala, desde un punto de vista más práctico, a partir de uno sólo de esos periodos, pudiéndose calcular el resto de intervalos de la escala a partir de operaciones de ampliación y reducción. Cuando hable del número de notas de una escala, en realidad me estaré refiriendo al número de notas de un periodo o a la dimensión de la escala. El número de notas de la escala, entendida en su totalidad, en teoría es infinito (la limitación vendrá dada por las propias limitaciones físicas de los instrumentos con los que se toque).

Teniendo en cuenta esta nueva propiedad, podemos cambiar la definición de la escala por esta otra:

donde rN es el intervalo de periodo y N la dimensión de la escala. Podrá definirse una escala, pues, a partir de un conjunto de intervalos que definan el periodo.

Entonces, necesitaremos un número de intervalos igual a la dimensión de la escala pero habremos de añadir otro intervalo que relacione los intervalos de cada periodo entre sí, el que comúnmente se le llama octava. No obstante, veremos que este concepto deberá ampliarse57 y por ello lo denominaré seudo-octava o intervalo de periodo. Esta será la definición formal de todos los parámetros necesarios para definir una escala58:

54 43 * 7 (se define el heptameride como 1/7 del meride). 55 Conocido también como logaritmo de Savart. 56 43 * 7 * 10 (se define el decameride como 1/10 del heptameride). 57 Nosotros asimilamos el concepto de octava al intervalo con relación numérica 2 pero veremos en apartados posteriores que

eso depende del espectro y que tal relación numérica no es única. 58 Y la que utilizaremos en la implementación del programa.

Page 28: SpecMusic Libre

28

donde N es la dimensión de la escala (su número de notas) y rN es el intervalo de periodo o seudo-octava. Hemos tomado por defecto la definición de los intervalos en función de una frecuencia base de referencia. Podremos calcular todas las demás mediante funciones de conversión.

Así, pues, todos los intervalos de la escala podrán obtenerse de la siguiente manera:

En consecuencia, la elección de las frecuencias de la escala y, en consecuencia, de sus intervalos quedará reducida a la elección de los intervalos de uno de sus periodos. Los criterios matemáticos y musicales en que se basen serán característicos de cada tipo de escala particular.

Por otro lado, esta periodicidad permite definir sistemas musicales practicables asociados. Conceptos como los de tonalidad y modalidad59 pueden definirse gracias a esta propiedad. Como consecuencia de esta propiedad encontramos que la definición de la escala a través de sus intervalos es más apropiada en el momento que puede considerarse más representativa.

Lo que sí hay que tener en cuenta es que, para poder definir las frecuencias absolutas de la escala será necesario tomar una frecuencia de referencia F0 y R0 el intervalo que la relacione con otra nota de la escala definida a través de su posición dentro de un orden determinado de sus notas constitutivas. Eso podrá hacerse después de aplicar los diferentes criterios de definición y después de haber tomado por defecto una determinada escala modal y tonal. En las escalas habituales, o sea, de 7 notas en el modo diatópico y de 12 notas en el modo cromático, la nota de referencia es el La 360 con una frecuencia de 440 Hz61. El intervalo de referencia lo tomaré como la relación de esa nota con la primera nota de la octava cuando la escala está en modo de Do o sea, el Do 3. En cualquier caso, los fi estarán en función de F0 y ésta constituirá una nota de la escala que ocupará también una determinada posición dentro de cada una de sus octavas.

Antes de entrar en la definición de los diferentes tipos de escalas, explicaré las operaciones que pueden realizarse dentro de ellas.

3.5 Operaciones con escalas

Dentro del contexto de una escala podremos definir otra operación con los intervalos consistente en la reducción al ámbito de un intervalo de periodo (octava o seudo-octava):

A partir de la definición de la representación por defecto62, podemos definir el resto de representaciones mediante las siguientes funciones de conversión:

1) Representación por intervalos consecutivos: si , y

:

y la operación inversa:

.

2) Representación por distancias: si y :

.

3) Representación por frecuencias: si tenemos que ,

59 Para una explicación de estos términos musicales, véanse las referencias citadas en el apartado 8 de la bibliografía. No

obstante, una explicación axiomática más relacionada con la propia definición axiomática de las escalas musicales, podrá encontrarse en mi artículo (véase la nota adjunta al final de la bibliografía). También puede consultarse bibliografía relacionada con las teorías matemáticas de la música que explican, sino el mismo, puntos de vista similares, para ello véase el apartado 11 de la bibliografía.

60 Denominado también La normal. Cada octava se identifica con un número denominado índice acústico o bien por una notación diferente de sus notas. Tales criterios están expuestos en el apéndice 2.

61 Véase en el apéndice 3 el artículo dedicado a la afinación del La normal a lo largo de la historia así como la justificación de las posibilidades que da el programa implementado.

62 La representación en intervalos referidos a la nota más grave de la octava o seudo-octava, la que se deduce de la definición del apartado anterior.

Page 29: SpecMusic Libre

29

y

.

A continuación expongo otras operaciones con escalas que están relacionadas con los conceptos de teoría del sistema musical63 y que están programadas en el proyecto:

a) Cambio de modo: sea k un número escogido de entre el conjunto y que representa

el modo de la escala. Suponiendo que el modo por defecto corresponde a , entonces:

b) Cambio de tono, transposición o transporte: sea n ∈ Z el número de quintas que define el intervalo a transportar y rn el intervalo correspondiente a la quinta64, entonces:

c) Cambio de octava (o seudo-octava): sea n ∈ Z el número de octavas que se quiere cambiar y rN el intervalo correspondiente a la octava (o seudo-octava), entonces:

Hemos de tener en cuenta que cada una de las operaciones del segundo grupo puede combinarse entre sí y, a la vez, aplicarse una de las operaciones de conversión definidas en el primer grupo.

3.6 Dimensión de la escala

El problema de la dimensión de la escala no es un hecho casual ni caprichoso, la teoría relacionada con la curva de disonancia y mi teoría axiomática demostrarán que no es así, los mismos criterios matemáticos que definen los intervalos de la escala determinan a la vez su dimensión. No entraré aquí a demostrar el número de notas por octava de cada tipo de escala ya que eso sale fuera del objetivo de esta redacción65. Lo que sí es importante en este punto es definir un nivel de definición de los intervalos que determinarán la escala para un sistema pentatónico, diatónico, cromático o bien microtonal y que dicho parámetro será requerido por el programa en el diálogo de creación de las escalas a partir de sus parámetros. Es importante remarcar que la dimensión de la escala vendrá determinada por ese nivel de definición y no por la entrada de un número fijado de notas por octava. El mismo programa calculará la dimensión de la escala junto con sus intervalos resultantes basándose en la teoría axiomática sobre la que luego hablaré. Tal nivel de aproximación deberá incluirse entre los parámetros de la escala dentro de una definición más axiomática.

3.7 Clasificación de escalas

No es posible en este trabajo determinar y enumerar todos los tipos de escalas existentes, existen tantas como culturas y como periodos históricos e, incluso, como autores que han querido especular sobre el tema y han definido su propia escala66. No obstante, intentaré hacer una clasificación que las englobe en su totalidad.

En primer lugar, clasificaré las escalas occidentales dentro de estos cuatro grupos principales los cuales constituyen definiciones modelo a partir de las cuales pueden generarse otras tantas escalas variando algunos de sus parámetros de definición:

• Escala pitagórica. • Escalas físicas.

63 Para una explicación de estos términos musicales, consúltense las referencias dadas para este tema en el apartado 8 de la

bibliografía. No obstante, para una explicación axiomática más relacionada con la propia definición axiomática de las escalas musicales, véase el apartado II.3.9. También puede consultarse bibliografía relacionada con las teorías matemáticas de la música que explican, sino el mismo, puntos de vista similares (véase el apartado 11 de la bibliografía)

64 Tal intervalo es 3/2 en la escala pitagórica y en la justa entonación pero tiene valores diferentes en los temperamentos. Por otro lado, tal procedimiento deberá revisarse en el futuro ya que el concepto de quinta debería ser sustituido por el de seudo-quinta (u otro) en el momento en que consideremos escalas que se apliquen a sistemas musicales que no se basen en nuestro actual sistema de quintas.

65 Véase el apartado II.3.9 para aclarar esta cuestión. No obstante, existe un estudio interesante al respecto (en el cual me he basado para desarrollar mi teoría axiomática) en Joan Girbau: “Les matemàtiques i les escales musicals”, Butlletí de la Secció de

Matemàtiques SCCFQM (IEC) nº 18, octubre 1985. 66 En el apéndice 4 se encuentra una explicación de las principales escalas utilizadas en Occidente a lo largo de la historia.

Igualmente, en el apéndice 5 se encuentra una tabla resumen con las definiciones (a partir de las relaciones numéricas de sus intervalos) de las principales escalas.

Page 30: SpecMusic Libre

30

• Temperamento igual.

• Temperamentos mesotónicos.

Igualmente, podemos agrupar estos cuatro grupos en dos identificando los dos últimos como

temperamentos y los otros dos como afinaciones. En cualquier caso, el término afinación debe

considerarse aquí en oposición a los temperamentos ya que cualquier escala podría identificarse como una

afinación.

Desde el punto de vista matemático, podemos hacer otra clasificación diferenciando las escalas

cuyos intervalos constituyen un conjunto de números racionales y las escalas cuyos intervalos constituyen

un conjunto de números irracionales (reales en general). Las primeras las identificaré simplemente como

escalas racionales y las segundas como escalas decimales, en oposición a las otras (aunque todas pueden

considerarse decimales).

Esta clasificación se corresponde con la anterior realizada ya que los temperamentos constituyen

escalas decimales (definidas mediante números irracionales) y los otros dos tipos constituyen escalas

racionales. La razón por la que no he tomado una sola clasificación se basa en el hecho de que tal

asociación no tiene porqué ser cierta para las escalas con tradición dentro de otras manifestaciones

culturales; en cualquier caso, tal hecho debería demostrarse y eso es imposible debido a la cantidad de

culturas diferentes.

Debe tenerse en cuenta que la clasificación en escalas decimales y racionales, si bien no tiene

excesivo sentido dentro del conjunto general de todas las escalas que no entran dentro de la tradición

occidental, sí es una buena herramienta de cara a la programación debido a la definición de los números

racionales como cocientes de números naturales. Esta definición podrá aplicarse a la hora de editar los

intervalos en el programa realizado en el proyecto. Igualmente, la clasificación en afinaciones y

temperamentos sí tiene sentido dentro de la música occidental ya no sólo porque se corresponde con la

otra clasificación67 sino porque el temperamento en sí constituye un método concreto de definición de las

escalas musicales (y con gran tradición)68.

3.8 Afinaciones variables

Por último, consideraré otra clasificación según la cual agruparé las escalas en dos grupos:

escalas de afinación fija y escalas de afinación variable. Para su definición debe tenerse en cuenta la

relación existente entre la escala entendida como afinación y la escala entendida como base de la

composición musical (a lo que en algún momento me referiré con el término de sistema musical). En las

escalas de afinación fija, cada una de las notas del sistema, después de aplicar los diferentes criterios de

definición de la escala, tiene una frecuencia única asociada. En cambio, en las escalas de afinación

variable, la afinación de cada una de las notas del sistema es diferente dependiendo del contexto en el cual

se encuentre.

El algoritmo adaptativo de W. A. Sethares que expondré a partir del apartado II.4.3.5 constituye

una de esas afinaciones variables. Igualmente, el algoritmo de R. Tomes denominado Automatic Just

Intonation69, constituye otra de esas escalas. Por otro lado, las diversas escalas históricas constituidas por

más de 12 notas por octava70 pueden constituir escalas de afinación variable aunque, de entrada no puede

asegurarse ya que para ello debería hacerse un estudio más profundo de cada una de ellas con relación al

sistema musical en el cual se aplicaron. Pasa lo mismo con la escala de Harry Partch71. En cualquier caso,

todas estas escalas sí pueden tomarse como antecedentes del algoritmo adaptativo de W. A. Sethares, al

menos si se tiene en cuenta que su principal objetivo es aproximarse a la llamada justa entonación que no

es más que un punto de vista diferente y tradicional de la escala relacionada con el espectro armónico.

67 Si no en su totalidad, sí en gran parte y, en cualquier caso, para todas las escalas con cierta tradición dentro de la música

histórica.

Además de eso, en mi teoría axiomática así como en el transcurso de este proyecto mediante el estudio de la curva de

disonancia la cual defiende mi teoría, demostraré que la escala pitagórica, las escalas físicas así como otras tantas como la escala de

Harry Partch, pueden incluirse dentro de un mismo grupo y explicarse desde el punto de vista de los mismos axiomas, eso sí,

tomando diferentes parámetros o generalizando los procedimientos de definición. Incluso, los temperamentos podrán incluirse

dentro de los mismos axiomas aunque aplicando ciertas aproximaciones. Estas aproximaciones son las que, en definitiva, definen

los temperamentos como procedimientos diferentes dentro de todas las escalas occidentales. Véase el apartado II.3.9. 68 Véase el apéndice 4. 69 Véase Ray Tomes: Automatic Just Intonation, en

http://homepages.kcbbs.gen.nz/rtomes/aji-main.htm o http://homepages.ihug.co.nz/~ray.tomes/aji.htm . Además, también existen

otras páginas dedicadas a la justa entonación y otras afinaciones microtonales como, por ejemplo, http://www.afn.org/~sejic/

(Southeast Just Intonation Society), http://algoart.com/web/microtone.htm y http://www.microtonalsynthesis.com/index.html . 70 Diversas escalas físicas y, en general, cualquiera de los cuatro tipos expuestos que se considere en un nivel de definición

superior. Véase el apéndice 4. 71 Véase H. Partch: A genesis of a music, Da Capo Press, New York, 1974.

Page 31: SpecMusic Libre

31

3.9 Definición axiomática de las escalas musicales

De cara a una posible aplicación en ingeniería y de cara a una simple explicación más genérica

de todos los sistemas de afinación daré una explicación axiomática basada en el análisis espectral y que

será directamente aplicable a mi proyecto.

La teoría axiomática se basa en una generalización de los diversos sistemas anteriores y

aplicables a cualquier tipo de espectro ya que se toman las relaciones numéricas de los intervalos como

las relaciones numéricas entre los parciales del espectro que tomemos de referencia. El interés de la

cuestión está en qué parciales deben escogerse y, sobretodo, en cómo limitar después el número de notas

de la escala comprobando si se cumple lo que la tradición ha impuesto mediante criterios que resultarán

equivalentes. También hay que considerar en el caso concreto de los temperamentos que las

aproximaciones realizadas han de incluirse dentro de las definiciones axiomáticas. La teoría debería ser

extensible a todos los sistemas de escalas étnicas para cualquier sistema musical. Precisamente, el

proyecto que voy a realizar pretende ser la demostración de que el espectro de los instrumentos usados en

determinada músicas étnicas está relacionado con la afinación de sus sistemas musicales. Esto no dará

una explicación axiomática pero si demostrará la relación que la misma teoría demuestra para los sistemas

occidentales y la posibilidad de extenderse a otros sistemas.

Los cálculos realizados en el programa informático del proyecto para encontrar los intervalos de

las diversas escalas occidentales se han basado en esta teoría axiomática.

La explicación detallada del sistema axiomático no la incluiré en la redacción de este proyecto

debido a estas razones72:

1) Su extensión alargaría excesivamente la redacción y remitiré a fuentes externas al igual que

he hecho con otros temas relacionados con el proyecto.

2) Al ser de mi propia invención, aunque haya estado basada en publicaciones anteriores y

haya quedado demostrada por teorías paralelas, me reservo el derecho de ocultar su

desarrollo hasta su posible publicación. En cualquier caso daré todas las referencias en las

que me he basado para su desarrollo y aquéllas en las que se demuestra su credibilidad. Daré

también alguna referencia para que la persona interesada pueda ponerse en contacto

conmigo.

3) Seguramente, en el momento de entrega del proyecto, dicha teoría no estará aún redactada

en su totalidad, probablemente tampoco estará desarrollada en su totalidad y mucho menos

publicada.

En un artículo de Joan Girbau73, del cual parte mi teoría axiomática, hay una explicación

detallada y matemática de los axiomas que definen la escala pitagórica y los axiomas que definen los

temperamentos iguales. La explicación axiomática del resto de escalas se basa en una generalización de

dichos axiomas tomando como punto de partida un modelo de rayas espectrales.

Para el caso concreto de los temperamentos, mi teoría axiomática toma un punto de vista

diferente al que propone Joan Girbau en su artículo con el que pretendo relacionar más estas escalas con

las otras y también generalizar el procedimiento para los temperamentos mesotónicos. De todas maneras,

también contemplo el punto de vista que da Joan Girbau y demuestro su equivalencia para los casos

concretos que coinciden con mi punto de vista.

4. TEORÍA DE LA DISONANCIA

4.1 Definición y contextualización del término

4.1.1 Teoría tradicional74 de la consonancia

Como teoría tradicional de la consonancia y la disonancia entiendo la parte de la teoría de la

música que clasifica los intervalos en consonantes o disonantes y que constituye nuestra concepción

actual. Evidentemente, los aspectos auditivos que han influido en esa tradición vendrán determinados por

los conceptos físicos de la consonancia que después detallaré. Incluso, esta clasificación ha variado en

72 Véase la nota adjunta al final de la bibliografía (apartado VIII). 73 Joan Girbau: “Les matemàtiques i les escales musicals”, Butlletí de la Secció de Matemàtiques SCCFQM (IEC) nº 18, octubre

1985. 74 Entendido el término como la tradición que rige la teoría de la música actual que, de hecho, proviene de una época tan tardía

como el siglo XIX.

Page 32: SpecMusic Libre

32

cada época dependiendo del tipo de afinación que regía. También pueden influir razones estéticas y de estilo que se reflejarán sobretodo en su tratamiento musical75.

Entonces, según esta teoría tradicional, clasificaremos los intervalos armónicos de la siguiente manera76:

a) Intervalos consonantes perfectos: octava justa, quinta justa, cuarta justa. b) Intervalos consonantes imperfectos: terceras mayores y menores y sextas mayores y

menores. c) Semiconsonancias: quinta disminuida y cuarta aumentada. d) Disonancias absolutas: segundas mayores y menores y séptimas mayores y menores. e) Disonancias condicionales: el resto de intervalos aumentados y disminuidos. Las consonancias perfectas o invariables se refieren a los intervalos consonantes que sólo

admiten una dimensión como tales, es decir, si dicha dimensión es modificada, el intervalo deja de ser consonante. Corresponde a los intervalos clasificables como justos.

Las consonancias imperfectas o variables se refieren a los intervalos consonantes que admiten dos dimensiones como tales, es decir, dos dimensiones diferentes del intervalo producen intervalos consonantes. Corresponde a los intervalos clasificables como mayores y menores (de entre los consonantes).

La disonancia es absoluta, física o diatónica cuando, si se enarmoniza cualquiera de las notas del intervalo, el resultado es otro intervalo disonante. Si el resultado es un intervalo consonante, entonces la disonancia es condicional, aparente, artificial o cromática.

Esta clasificación se refiere simplemente a un criterio estético ya que no tiene en cuenta ninguna afinación. No obstante, se trata de una clasificación adoptada en los últimos siglos cuando ya imperaba la afinación temperada (igual, mesotónica o irregular).

En este sentido, también cabe destacar que, en la música medieval, las terceras y sextas se consideraban disonancias y tal fenómeno venía dado por la afinación pitagórica que imperaba en aquel momento.

4.1.2 Definición de consonancia

El concepto de consonancia y disonancia es diferente según el contexto que consideremos. De entrada, a lo largo de la historia podemos encontrar diferentes definiciones del mismo término. Junto con su significado y su aplicación práctica, podemos encontrar también diversas explicaciones del fenómeno físico, especialmente en los dos últimos siglos. No obstante, todas ellas, aunque están basadas en principios diferentes, conducen a una misma teoría coherente. James Tenney, en History of ‘Consonance’

and ‘Disonance’, 1988, expone las diversas definiciones del término a lo largo de la historia y los clasifica en cinco definiciones identificadas como CDC-n (n = 1, ..., 5)77:

1) Consonancia melódica (CDC-1): ésta es la concepción más antigua y con una connotación esencialmente melódica. Se refiere a un sentido de afinidad o relación de frecuencias entre dos sonidos que forman un intervalo melódico, o sea, dos notas que suenan sucesivamente.

2) Consonancia polifónica (CDC-2): éste es un concepto más cercano al nuestro ya que hace referencia a la relación de frecuencias entre los dos sonidos que forman un intervalo armónico, o sea, dos notas que suenan simultáneamente. Este concepto ya considera un intervalo en sí mismo, sin tener en cuenta su contexto. De esta definición resulta una clasificación de los intervalos según se consideren más o menos agradables al oído78.

3) Disonancia contrapuntal79 (CDC-3): es un concepto similar al anterior pero tiene en cuenta la aplicación de los intervalos en la realización de varias partes (vocales o instrumentales) en

75 No trata de la misma manera un intervalo armónico de segunda Giovanni Pierluigi da Palestrina (1525 o 1526 – 1594) que

Olivier Messiaen (1908). En este último, el contexto puede hacer reconocer esa segunda como una consonancia e, incluso, un acorde perfecto mayor podría considerarse como una disonancia.

76 Para aclaraciones sobre los conceptos de teoría musical véanse las referencias citadas en el apartado 8 de la bibliografía, o bien, cualquier otro libro corriente de teoría musical.

77 Abreviación de Consonance and Dissonance Concept. Estas cinco definiciones están expuestas de forma resumida en W. A. Sethares: “Consonance and dissonance of harmonic sounds”, en Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, capítulo 4, pp. 73-76; y en Gonzalo Fernández de la Gándara: “Curso de acústica para músicos”, Acústica musical, ICCMU, Madrid, 1998.

78 Los teóricos de los siglos XIII y XIV, refiriéndose a estas prácticas, ya hablan de intervalos agradables y desagradables asociándolos a los términos de consonancia y disonancia respectivamente. R. Crocker, en Discant, counterpoint and harmony, 1962, hablando de estos teóricos dice lo siguiente:

“Estos autores dicen, en resumen, que el oído nota placer en la consonancia, y cuanto mejor es la consonancia, más agradable es el sonido; por esta razón deberían usarse principalmente consonancias”.

La divergencia entre los teóricos se encontraba en la explicación del fenómeno físico que causaba el efecto de la disonancia. Algunos de ellos argumentaban la fusión como explicación de la consonancia y otros la simplicidad de las fracciones.

79 He tomado este adjetivo como la traducción del término Contrapuntal Dissonance el cual es usado por el autor.

Page 33: SpecMusic Libre

33

una polifonía tratada de forma más horizontal, lo que entendemos por contrapunto. La principal novedad se encuentra a la hora de considerar disonante el intervalo armónico de cuarta si se encuentra en ciertas condiciones80.

4) Consonancia funcional (CDC-4): concepto que hace referencia, más que al intervalo armónico formado por dos sonidos simultáneos, a la nota en sí misma integrada dentro del contexto de un acorde o función armónica. Así, pues, cualquier nota asociada a una tríada sobre el bajo81 (o sea, la fundamental, la tercera o la quinta) es una consonancia (o nota consonante) mientras que cualquier nota no relacionada con tal tríada es una disonancia (o nota disonante).

La principal connotación de este concepto es, más que la calidad sonora, la estabilidad o inestabilidad creada. La idea de inestabilidad asociada a una disonancia implica una tendencia o movimiento dada por su obligación a resolver en una consonancia. Este tipo de idea es la base del estudio tradicional de la armonía aún en el siglo XX.

5) Consonancia sensorial (CDC-5): este es el concepto más reciente y se debe a Hermann von Helmhlotz. Considera también los intervalos y acordes en sí mismos, fuera de su contexto y haciendo referencia a sus sensaciones producidas. Identifica la disonancia con términos como aspereza o dureza y que depende del timbre y de la intensidad, además de las frecuencias. Ésta es el concepto que más se ajusta al vocabulario usado actualmente por los músicos y a la definición dada en los tratados actuales82.

La idea de consonancia sensorial ha sido atacada por N. Cazden83, en el sentido de que ésta no considera la idea funcional a la que se refiere el concepto de disonancia funcional. En este momento, es responsabilidad del compositor imponer el movimiento desde la disonancia sensorial a la consonancia sensorial.

La consonancia sensorial también es atacada por D. F. Keisler84 quien concluye que los batidos no son un factor significante ya que los músicos prefieren las terceras y quintas temperadas antes que las justas. Esta idea es apoyada también por J. Vos85.

4.1.3 Contextualización histórica e influencia de la afinación

La definición CDC-1 procede de la época de la monodia medieval, antes del advenimiento de la polifonía que se produce alrededor del siglo IX. En especial, nos referimos a la música religiosa del canto llano y gregoriano y la monodia profana. El canto gregoriano siguió prevaleciendo hasta el siglo XII o XIII y, aún después, ha sido recuperado y restaurado. La monodia profana prevaleció aún durante más tiempo. Incluso, la definición podría aplicarse a cualquier música monódica posterior o a una parte vocal o instrumental de cualquier obra tratada de forma independiente.

En particular, en CDC-1, las consonancias eran aquellos intervalos directamente afinables: la 4ª, 5ª y 8ª justas, o sea los que se relacionaban con cocientes de números enteros entre longitudes de cuerdas según la tradición pitagórica que entonces regía. Todos los demás intervalos se consideraban disonantes, incluidas las terceras. Pero la verdadera implicación del concepto estaba en la consideración del intervalo de cuarta aumentada o trítono que se forma entre el Fa y el Si. Esto llevó a su prohibición, tanto del intervalo en sí, como de la misma nota. Este hecho, en la práctica se reflejaba en el uso del bemol (de be

mol, b blando) en el Si para evitar el trítono. El sistema de solmisación ideado por Guido de Arezzo en el siglo X tampoco incluía esta nota, de hecho, se trabajaba con un sistema de solfeo hexacordal. Tal bemol constituiría el origen del uso de alteraciones. Piénsese que, esta música era totalmente diatónica a excepción del bemol que evitaba el intervalo disonante de cuarta aumentada. Incluso, tal intervalo, se le conocía como diabulus in musica, dada su extremada disonancia. Hoy en día también se considera un intervalo de difícil entonación pero se utiliza, al igual que el resto de intervalos aumentados y disminuidos, con un tratamiento especial (al menos, dentro de ciertos estilos). Cabe destacar que, en otros cantos monódicos precedentes a la imposición del canto gregoriano, este intervalo no recibía la misma consideración y, por ejemplo, era muy característico del canto mozárabe.

80 Me refiero a la cuarta que se forma entre las dos voces inferiores de una realización polifónica. 81 La nota del bajo no tiene porqué coincidir con la fundamental ya que el acorde puede estar en inversión y considerarse el

concepto de disonancia o consonancia para tal estado concreto. 82 Gonzalo Fernández de la Gándara en Curso de acústica para músicos en Acústica musical, ICCMU, Madrid, 1998, en un

resumen sobre el mismo tema basado también en J. Tenney, sugiere la siguiente terminología para los cinco conceptos de consonancia o disonancia estudiados: consonancia monofónica o melódica (CDC-1), diafónica (CDC-2), polifónica o contrapuntística (CDC-3), triádica (CDC-4) y timbral (CDC-5).

83 N. Cazden: “Musical consonance and dissonance: a cultural criterion” en J. Aesthetics 4, 3-11 (1945). 84 D. F. Keisler: “The relevance of beating partials for musical intonation”, Proceedings of the ICMC, Montreal 1993. 85 J. Vos: “Subjective acceptability of various regular twelve-tone tuning systems in two-part musical fragments”, Journal of

Acoustical Society of America 83(6), 2383-2392 (1988).

Page 34: SpecMusic Libre

34

El advenimiento de la polifonía se produce de una forma clara en el siglo XII con las obras polifónicas de Leonín y Perotín (organum y discanto) de la Escuela de Nôtre Dame en París aunque ya se reconocen obras anteriores en Santiago de Compostela (Codex Calixtinus) o en Inglaterra (Tropario de

Winchester) e, incluso, tratados anteriores que hacían referencia a un uso más improvisado (Musica

enchiriadis y Scholia enchiriadis) hacia los siglos IX y X. Por otro lado, el advenimiento de la polifonía, hablando de la tradición occidental, no se produjo de una manera generalizada hasta bien entrado el siglo XIII.

En esta época continuaba prevaleciendo la afinación pitagórica y las terceras resultaban intervalos disonantes. Por otro lado, las quintas eran justas y, por lo tanto, de más consonancia. Es por ello que la polifonía de esta época está basada en las hoy llamadas consonancias perfectas, las terceras se trataban como intervalos disonantes. Cabe destacar el hecho consecuente de que todos los finales son conjuntos de notas formando intervalos de quintas justas y octavas, lo que hoy diríamos acordes sin tercera.

No obstante, con el aumento de la independencia de las distintas voces en los primeros siglos X, XI y XII, las terceras primero y las sextas después, van adquiriendo cierta independencia lo que llevará a considerar diversos grados de consonancia y disonancia. Por ejemplo, Juan de Garlandia en el siglo XIII, distinguía seis grados de consonancia y disonancia entre los dos extremos formados por las consonancias perfectas (unísono y 8ª) y las disonancias perfectas (2ª menor, 7ª mayor y trítono). Por otro lado, tratados posteriores del siglo XIV ya hablan sólo de tres grados de consonancia hablando de consonancias perfectas (5ª y 8ª), consonancias imperfectas (3ª y 6ª) y disonancias (las demás, incluida la 4ª). No obstante, hasta Zarlino (siglo XVI), las terceras no podrán considerarse realmente como consonancias.

La definición CDC-3 tiene su verdadera contextualización a partir del siglo XVI después del tratado de J. J. Fux86, aunque podría aplicarse a toda la música polifónica anterior de los siglos XIII y XIV donde las voces ya tienen una gran independencia melódica, término que define el contrapunto. De hecho, los tratados suelen ser posteriores a la realización práctica y vienen a explicar prácticas anteriores87. Los tratados nombrados en el párrafo anterior ya demuestran esa tendencia.

Tales tendencias llevarán a la creación de nuevas afinaciones con el propósito de establecer los intervalos de terceras como consonancias. A partir del siglo XVI, con G. Zarlino, las terceras quedan consagradas como consonancias. Ésta es la época del auge de la justa entonación y de la creación de complicados artilugios para su realización práctica sobre teclado y que nunca llegaron a usarse. Serán los temperamentos, en concreto, los mesotónicos e irregulares los que comenzarán a ganar terreno y tendrán su auge más importante en los siglos XVII y XVIII.

Pero no será hasta el tratado de Rameau en el siglo XVIII88 cuando se defina el acorde como tal89 y comience a hablarse de funciones tonales, aunque su uso ya era anterior. Es en este momento cuando puede aplicarse la definición CDC-4. Ya con el auge del lenguaje del bajo cifrado del siglo XVII se establece un antecedente de la presente definición de consonancia.

Otro hecho que influye en la definición CDC-4 es el tratamiento de la disonancia. Las notas que causan disonancia son tratadas como puras notas de paso ornamentales con un estricto tratamiento que incluye su preparación. Tales intervalos, a partir de Monteverdi, comienzan a tratarse con más libertad, sin las restricciones dadas por las preparaciones. Aunque en esta época, no existía todavía el concepto de acorde, sí puede explicarse la evolución y los antecedentes en las prácticas anteriores y, en concreto, en el caso de Monteverdi puede comenzar a tratarse el concepto de estabilidad e inestabilidad ya que los acordes disonantes comienzan a constituir entidades en sí mismas y a las cuales se les puede asociar un concepto de inestabilidad. Tal concepto podría aplicarse antes pero sólo a los intervalos dentro de una adaptación de CDC-4 en CDC-3.

86 Johann Joseph Fux: Gradus ad Parnassum, Viena (s. i.), 1725. 87 De allí surge la problemática del cumplimiento de las normas establecidas en ellos y de su consideración como tales. 88 Jean-Phillipe Rameau: Traité de l´harmonie réduite à son principe naturel, París, 1722. Por otro lado, W. Piston, teórico más

reciente, dice lo siguiente: “Un intervalo consonante suena estable y completo. Un intervalo disonante suena inestable y pide su resolución en un intervalo

consonante. Ciertamente, estas cualidades son subjetivas, pero está claro que en la práctica común la clasificación siguiente se tiene por válida: [Clasificación anterior]. [...]

La música sin intervalos disonantes es a menudo floja y carente de interés, ya que es el elemento disonante el que proporciona la mayor parte el movimiento progresivo y la energía rítmica. [...]. No se podría hacer suficiente hincapié en que la cualidad esencial de la disonancia es su sentido de movimiento y no, como a veces se cree erróneamente, su nivel de desagrado al oído.”

W. Piston: Harmony, W. W. Norton & Co. Inc., New York, 1987 (5th edition). Existen traducciones españolas: Walter Piston: Armonía, revisada y ampliada por Mark De Voto, traducción de Juan Luis Milán Amat, Idea Books, Col. Idea

Música, Barcelona, 2001. De esta referencia se ha extraído la cita anterior (capítulo 2, p. 14). Walter Piston: Armonía, Labor, Col. Enfoques, Barcelona, 1993. 89 Véase una explicación más detallada en el apartado dedicado a la definición de la estructura de una partitura en este mismo

trabajo. Para más información, consúltense las referencias citadas en el apartado 9 de la bibliografía.

Page 35: SpecMusic Libre

35

A partir del siglo XIX, en respuesta al aumento cromático del lenguaje armónico a principios del XIX, al aprovechamiento de los timbres de todos los instrumentos de la orquesta y la frecuencia de sus contrastes, ganará terreno la definición CDC-5 debida a Hermann von Helmholtz (1862). Él es quien realiza los primeros estudios sobre la consonancia sensorial. Basándose ya en causas físicas para dar una explicación del fenómeno de la consonancia, el concepto resultante, más relacionado con la percepción, se aplica a una música cercana a la nuestra actual en lo referente a su afinación y a su estilo más cercano al nuestro, en el que la teoría de la música de los tratados modernos tiene más sentido. No obstante, tal concepto podría aplicarse al resto de épocas teniendo en cuenta las discrepancias por afinación que cuestionarían algunos calificativos de intervalos, el que más, evidentemente, las terceras de la época medieval. En esta época ya rige el temperamento igual, el mismo que usamos hoy en día de forma generalizada.

En lo referente a la definición del concepto de consonancia, ésta es la definición que hoy en día tiene más sentido aunque el resto de definiciones siguen teniendo su aplicación. Lo que puede haber cambiado es la consideración de la disonancia dentro del contexto de un estilo concreto y generalizarse el término para otros elementos del lenguaje musical y, a la vez, para todas las épocas de la historia de la música, lo que he identificado como contextualización estilística.

Por otro lado, lo que sí ha evolucionado, y parte de ello pretende ser este proyecto, es la explicación física del fenómeno. La creación de nuevas escalas que han variado el concepto de consonancia dentro de músicas de carácter experimental han surgido a partir del estudio del fenómeno físico pero también los experimentos realizados en cuanto a la justa entonación durante los siglos XVII y XVIII y los temperamentos mesotónicos constituyen un antecedente de este hecho.

4.1.4 Contextualización estilística

A parte de las consideraciones anteriores podemos añadir una definición más que se refiera ya no tanto al intervalo o acorde en sí sino al efecto de éste dentro de su contexto. Consideremos el caso de autores contemporáneos que trabajan habitualmente con intervalos o acordes disonantes. O sea, éstos son parte de su lenguaje musical y de su estilo. Incluso utilizan un lenguaje basado en escalas modales diferentes de las tradicionales mayor y menor. Los acordes disonantes pasan a tener una función jerárquica diferente y el concepto de estabilidad ya no funciona de la misma manera. En este momento, aunque por razones físicas debidas al concepto de disonancia sensorial, tales acordes o intervalos sean disonantes, su consideración como tales pasa a ser relativa dado el contexto en el que se encuentran. Llega un punto que el oído se habitúa al estilo e, incluso, podemos llegar a decir que un acorde perfecto mayor (el más consonante), puede considerarse disonante al alejarse del estilo. Piénsese en la música, por ejemplo, de A. Schoenberg o O. Messiaen que casi no utilizan los acordes tríadas.

Este concepto también podrá extrapolarse a cualquier estilo y época. No produciría el mismo efecto un acorde de séptima de dominante en G. P. Palestrina que el que produce en C. Monteverdi (no considerado como acorde) o en W. A. Mozart. Otro ejemplo más real puede ser el caso de una tercera en una composición polifónica de Leonín o de Guillaume de Machaut (aunque este hecho ya viene dado por las mismas razones de afinación pero piénsese en la interpretación actual, tema que puede dar, y de hecho, la da, una gran polémica).

Si generalizamos tal concepto a otros elementos del lenguaje musical podemos pensar en disonancias rítmicas, tímbricas, de intensidad e, incluso, de textura. Piénsese, por ejemplo, en un cinquillo dentro de una fuga de J. S. Bach o una composición para piano con un compás orquestal, elementos inconcebibles, al igual que un acorde de novena en G. P. Palestrina. Pero sin llevar el tema a casos extremos, podemos hablar de casos más reales y considerar el efecto que en el barroco hispánico podían tener las típicas hemiolias o los efectos del tutti en un villancico policoral o, incluso, un trémolo. En general, cualquier efecto de contraste típico del barroco y usado, evidentemente en muchos otros estilos. Evidentemente, todos estos efectos deben tener un tratamiento especial para poder ser considerados estéticamente correctos.

Otro problema que influye en el problema de la consonancia y la disonancia es el del registro. Tal efecto tiene una explicación física muy clara debida a la mayor concentración de armónicos por la mayor cercanía en frecuencia de las notas (piénsese que la escala de frecuencias es logarítmica, hecho que viene justificado por la misma percepción del oído) y de la mayor cantidad de armónicos de que constan los sonidos y, consecuentemente, su mayor influencia en los batidos o pulsaciones. Por esta razón, un pasaje en notas graves, especialmente si son extremadamente graves, resulta mucho más disonante y ha de cuidarse su tratamiento.

Hay que tener en cuenta, también que, en los temperamentos mesotónicos del siglo XVII-XVIII, así como en la misma afinación física, un acorde tríada podía resultar disonante, de hecho, estos sistemas de afinación estaban pensados para trabajar dentro de un ámbito más o menos reducido de tonalidades, o sea, dentro de un ámbito del círculo de quintas, sin considerar, los intervalos que podían atravesar la

Page 36: SpecMusic Libre

36

llamada “quinta del lobo”. Por tanto, la consonancia de los intervalos considerados consonantes en teoría ya dependía incluso de la tonalidad en la que se encontraban o del grado de escala al que pertenecían. La ampliación de la armonía a través del círculo de quintas, llevado a su máxima ampliación con el dodecafonismo de A. Schoenberg, llevó a que se tomara como sistema de afinación más práctico el temperamento igual de 12 notas.

La última consideración que he de hacer al respecto es otra cuestión estilística en la que podemos diferenciar la estructura del “color” y de la importancia que la disonancia tiene como efecto expresivo, en realidad, la música necesita de las disonancias para poder tener interés así como de los contrastes. Unas veces de una forma más objetiva que otras, pero siempre necesario. La cuestión está en su tratamiento el cual es diferente dentro de cada estilo. Podríamos decir, como conclusión, que la evolución del concepto de consonancia está más en su tratamiento que en su verdadera consideración teórica o en sus causas físicas.

Piénsese, por ejemplo, en la música para teclado del siglo XVII y XVIII donde muchas veces se usaban acordes fuera de su franja consonante del círculo de quintas buscando un efecto expresivo. Tales obras, tocadas hoy en día en teclados actuales o, simplemente afinados a la manera actual –con el temperamento igual-, pierden ese efecto constitutivo del estilo del autor, es decir, pierden su autenticidad.

Otro ejemplo muy característico y, en este caso más objetivo, es el trémolo de notas graves que realiza el violonchelo del continuo en el recitativo “Und siehe da, der Vorhang im Tempel zerriss in zwei Stück”90, hacia el final de la segunda parte de la Pasión según San Mateo de J. S. Bach91, y que coincide con el momento en que se relata el terremoto ocurrido tras la muerte de Jesucristo en la cruz.

4.1.5 Causas de la disonancia

Muchos fenómenos físicos pueden explicar las causas de la consonancia y la disonancia pero no todos ellos explican todos los casos posibles. De hecho, algunas de las causas están relacionadas con alguna de las definiciones anteriores del concepto de consonancia y tienen sentido dentro de un determinado contexto histórico. También se pude encontrar relación entre muchas de ellas en el momento en que pueden considerarse casos particulares de otras.

a) Simplicidad de fracciones92: esta es la explicación más antigua y simple, y se refiere a la periodicidad que resulta de ellos. Se puede decir que los intervalos de relación numérica simple resultan más placenteros para el oído93. Esta idea ya fue expuesta por Galileo pero, incluso, podemos encontrar antecedentes en Pitágoras94.

b) Periodicidad de la onda resultante: se trata de una exposición más moderna de la misma idea anterior, de hecho, se trata de su consecuencia. Aquí, la consonancia se entiende en términos del período de la onda que resulta cuando suenan dos tonos de diferente frecuencia suenan: el período más pequeño corresponde al intervalo más consonante95. Esta idea, más moderna es presentada por P. Broomsliter, W. Creel96 y H. Partch97.

c) Fusión: La fusión de dos tonos simultáneamente es directamente proporcional al grado al cual los tonos son percibidos como una simple unidad. Cuando los parciales coinciden, los sonidos pierden su individualidad y se fusionan. A su vez, el grado de fusión de los intervalos depende de la simplicidad de las fracciones de sus relaciones numéricas. Esta explicación fue

90 Recitativo del Evangelista del Coro I. 91 Johann Sebastian Bach: St. Matthew Passion in full score, Dover Publications, Inc., New York, 1990, p. 219. 92 Fracciones formadas por números enteros pequeños. 93De esta afirmación podemos deducir que la siguiente serie de números racionales puede expresar el orden de consonancia

ordenada de mayor a menor que es producida por la superposición de ondas con frecuencias relacionadas por los mismos números racionales: 2/1, 3/2, 4/3, 5/4, 5/3, ... ya que son los que tienen, en orden de mayor a menor, más número de coincidencias por unidad de tiempo. Sonidos producidos por interferencias de notas con frecuencias relacionadas mediante fracciones como 256/24393 o mediante números irracionales (como 27/12 93) corresponderán a ondas con un período elevado, o sea, con pocas coincidencias por unidad de tiempo, lo que dará lugar a sonidos disonantes. No obstante, como pasa para este último caso, la relación de frecuencias puede aproximarse a una relación simple y aproximarse de la misma manera a un sonido consonante.

94 “Las consonancias agradables son pares de tonos que estimulan el oído con una cierta regularidad; esta regularidad consiste en el hecho de que los pulsos derivados por los dos tonos, en el mismo intervalo de tiempo, deben ser conmensurables en número.”

95 Tal como se dijo en el apartado II.2.4, el período resultante de una superposición de ondas sinusoidales equivale al mínimo común múltiplo de los períodos de cada componente de la suma. De esto puede deducirse que los intervalos representados mediante fracciones de números enteros pequeños corresponden igualmente a una onda con período reducido y es mejor percibida por el oído según lo que ya se dijo en el apartado II.2.1.

96 P. Broomsliter, W. Creel: “The long pattern hypothesis in harmony and hearing”, Journal of Music Theory 5, nº. 2, 2-30 (1961).

97 H. Partch: Genesis of a music, Da Capo Press, New York, 1974.

Page 37: SpecMusic Libre

37

la más aceptada junto con CDC-2 pero, más tarde, fue estudiada por K. Stumpf98, E. Terhardt99 y J. L. Goldstein100.

d) Tonos diferenciales: la disonancia es proporcional al número de tonos diferenciales producidos y esto, a la vez, depende de la complejidad de las fracciones de las relaciones numéricas de los intervalos. Cuando las fracciones son simples, el número de tonos diferenciales es pequeño ya que sus armónicos coinciden con los armónicos de los sonidos principales. El número de tonos diferenciales aumenta con la complejidad de las fracciones. Esta idea es expuesta por F. Krueger101 en 1904 pero es atacada por R. Plomp102 en 1965 quien demuestra que, en muchos casos, los tonos diferenciales no son suficientemente perceptibles como para que sean relevantes ni formar la base de la teoría de la disonancia.

e) Batidos o pulsaciones: teoría desarrollada por H. Helmholtz103 y seguida por H. Partch104. Atribuye la disonancia a la aparición de los batidos o pulsaciones debida a la interacción entre los parciales del espectro; por otro lado, atribuyen la consonancia a la ausencia de tales batidos debida la coincidencia de parciales. Consideran la existencia de un número infinito de posibles intervalos105. Dos implicaciones novedosas de esta teoría son:

a. Los tonos individuales tienen una disonancia intrínseca o inherente ya que ésta es causada por la interacción de sus parciales. Por lo tanto, cualquier tono con más de un parcial tiene inevitablemente un cierto grado de disonancia.

b. La consonancia depende, además de la relación numérica del intervalo armónico, del espectro de los tonos. Eso sí, hasta ahora sólo se han tratado espectros armónicos.

f) Bandas críticas de la membrana basilar: en estudios posteriores de R. Plomp y W. J. M. Levelt106, basándose en N. H. Fletcher107 y H. von Helmholtz, encuentran disonancia –entendida como desagrado- cuando las frecuencias de dos tonos puros simultáneos están en la misma banda crítica y consonancia cuando están en bandas diferentes. La generalización de este procedimiento a tonos más complejos, armónicos y no armónicos es desarrollada posteriormente por W. A. Sethares108 y en él me baso yo para la realización de este trabajo.

g) Por otro lado, la gran variedad de escalas y afinaciones usadas a través de todo el mundo es evidencia de que el contexto cultural juega un papel importante en las nociones de consonancia y disonancia. La explicación de este fenómeno vendrá dada también por los estudios de W. A. Sethares.

4.2 Experimentos posteriores

4.2.1 Hermann von Helmholtz

Hermann von Helmholtz (1821-1894), físico alemán que investigó sobre el tema de la consonancia y disonancia de los intervalos109, introduce por primera vez el concepto de consonancia sensorial como una explicación fisiológica. La disonancia sensorial está basada en el fenómeno de los batidos. Si dos tonos puros suenan casi a la misma frecuencia, puede escucharse el batido debido a la interferencia. El batido se ralentiza si los dos tonos se juntan y desaparece si los dos tonos son totalmente iguales. Típicamente, los batidos lentos son percibidos de una forma apacible mientras que los batidos

98 K. Stumpf: “Konsonanz und dissonanz”, Beitr. Akust. Musikwiss 1, 1-108 (1898). 99 E. Terhardt: “Pitch, consonance and harmony”, Journal of Acoustical Society of America 55, 1061-1069 (1974). Allí atribuye

la propiedad de fusión del oído humano al aprendizaje. 100 J. L. Goldstein: “An optimum processor theory for the central formation of the pitch of complex tones”, Journal of

Acoustical Society of America 54, 1496-1516 (1973). Allí explica el fenómeno de la fusión mediante un mecanismo inherente al sistema neuronal.

101 F. Krueger: “Differenztone und konsonanz”, Arch. Ges. Psych. 2 (1904), pp. 1-80. 102 R. Plomp: “Detectability threshold for combination tones”, Journal of the Acoustical Society of America 37 (1965), pp 1110-

1123. 103 H. von Helmholtz: Die Lehre von den Tonempfindungen, Longmans & Co., 1877. Traducción inglesa por A. J. Ellis: On the

sensations of tone (Sobre las sensaciones sonoras), 1877, Dover, New York 1954. Véase el aparatado II.4.2.1 donde hago más referencia a dicha teoría.

104 Harry Partch: Genesis of a music, Da Capo Press, New York, 1974. Véase el apartado II.4.2.2 donde hago más referencia a dicha teoría.

105 Hasta ahora sólo se había hablado de los intervalos específicos de las escalas musicales tradicionales en Occidente. 106 R. Plomp, W. J. M. Levelt: “Tonal consonance and critical bandwidth”, Journal of the Acoustical Society of America 38

(1965), pp. 548-560. Véase el aparatado II.4.2.3 donde hago más referencia a dicha teoría. 107 N. H. Fletcher: Review of Modern Physics, 12 (1940), pp. 47-65. 108 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, 1977. Véase el apartado II.4.3 donde hago más referencia a dicha teoría. 109 H. von Helmholtz: Die Lehre von den Tonempfindungen, Longmans & Co., 1877. Traducción inglesa por A. J. Ellis: On the

sensations of tone (Sobre las sensaciones sonoras), 1877, Dover, New York 1954.

Page 38: SpecMusic Libre

38

rápidos son percibidos de una forma molesta como aspereza o rugosidad. Helmholtz ya considera un tono compuesto de varios parciales y teoriza en que la disonancia entre dos tonos es causada por la aspereza producida entre los parciales y la consonancia corresponde a su ausencia.

El experimento realizado por Helmholtz amplía la idea de la consonancia al conjunto infinito de todos los intervalos posibles. Para ello utiliza dos violines, uno de ellos tocando una nota fija y el otro aumentando lenta y progresivamente en frecuencia. Los resultados fueron reflejados por el siguiente gráfico:

Ilustración 4: Representación gráfica de la disonancia sensorial calculada por H. von

Helmholtz110. El eje horizontal del gráfico representa el intervalo formado entre los tonos armónicos del violín.

El sonido fijo corresponde a la frecuencia etiquetada como c’ y el margen de frecuencias entre el cual se desliza el otro violín corresponde al margen comprendido entre c’ y su octava c’’. El eje vertical es proporcional a la aspereza producida por la interacción de cada par de parciales. Tales interacciones son designadas por su fracción correspondiente en un gráfico diferente superpuesto y que será sumado para calcular la aspereza total del intervalo. Se puede observar la existencia de picos y valles en el gráfico formados por los batidos producidos por los diversos pares de parciales que interactúan entre sí. Los picos representan máximos de aspereza y los valles, ausencia de batidos. Como ejemplo, los picos que rodean el valle en g’ son formados por interacciones entre:

a) El segundo parcial de l nota en g’ y el tercero de c’ (etiquetado 2:3). b) El cuarto parcial de la nota en g’ y el sexto de c’ (4:6). c) El sexto parcial de la nota g’ y el noveno de c’ (6:9). Por otro lado, para dibujar estas curvas, Helmholtz consideró tres suposiciones: a) Que el espectro de las notas es armónico ya que usa dos violines parta su experimento. b) Que la aspereza producida por las diversas interacciones entre los parciales puede sumarse. c) Que 32 Hz de batido corresponde al efecto de máxima aspereza. Su gráfico tiene mínimos (intervalos en los cuales se produce mínimo batido) cerca de muchos

de los pasos de escala de la escala justa, eso sugiere una conexión entre el batido y la aspereza de las ondas sinusoidales con las nociones de consonancia y disonancia. Una vez más se concluye que los intervalos descritos mediante fracciones simples son más consonantes ya que están calculados para el caso de un espectro armónico como es el de los violines. Lo que sí varía es la explicación de su causa que produce el efecto de la consonancia y las disonancia.

De todos modos, hay que considerar que el experimento de H. Helmholtz se basa únicamente en espectros armónicos (el de los violines), eso sí, era consciente de que su curva sería muy diferente para otros sonidos. Ello será tema de investigación de otros autores posteriores.

4.2.2 Harry Partch

Harry Partch es un compositor y teórico que no sólo creó una escala musical justa de 43 tonos por octava, sino que también creó una familia de instrumentos para tocar en esa escala. En Genesis of a

music111, detalla cómo afinar por oído su chromelodeon112:

110 H. von Helmholtz: Die Lehre von den Tonempfindungen, Longmans & Co., 1877. Traducción inglesa por A. J. Ellis: On the

sensations of tone (Sobre las sensaciones sonoras), 1877, Dover, New York 1954, figura 60 A, p. 193; W. A. Sethares: Tuning,

Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 4.2, p. 82.

Page 39: SpecMusic Libre

39

“Para ilustrar la verdadera mecánica de afinación asumiremos que el intervalo representado como 3/2 está ligeramente desafinado, ya que se escuchan batidos, quizás dos o tres por segundo entre el segundo parcial del “3” y el tercero del “2” [...]. Por lo tanto, tomaremos como referencia el extremo del órgano y examinaremos de forma continuada hasta que los batidos desaparezcan completamente – eso es, hasta que las dos pulsaciones sean “conmensurables en número” [...]. La experiencia en la afinación del chromelodeon ha demostrado de forma conclusiva que no sólo las fracciones de 3 y 5, sino también los intervalos de 7, 9 y 11 son afinables mediante la eliminación de batidos.”

La principal conclusión del experimento de H. Partch es que utiliza los batidos como referencia para la afinación de los instrumentos y también mantiene la idea de que la consonancia es el resultado de aplicar fracciones simples. También afirma eso en términos del periodo de la onda resultante: cuanto más pequeño es el periodo, más consonante es el intervalo. Esto constituye una referencia importante a la teoría de Galileo (la que hace referencia a la simplicidad de fracciones)113.

Usando el chromelodeon, clasificó y categorizó todos los 43 intervalos de su escala en términos de su disonancia comparada. De ello resultó el “One-Footed Bride: A Graph Of Comparative

Consonance”, el cual se reproduce a continuación:

Ilustración 5: Representación gráfica de la disonancia sensorial calculada por Harry Partch

(“One-Footed Bride”)114. Se puede observar que es muy similar al gráfico creado por H. Helmholtz. De hecho es el mismo

invertido: donde H. Helmholtz dibuja un valle de consonancia, H. Partch dibuja un pico. De igual manera, también están presentes todos los intervalos justos típicos.

Partch, al igual que H. Helmholtz, observó que no había correlación entre la escala temperada y la consonancia. La escala temperada puede ser una aproximación de algunos de los radios justos pero H.

111 Harry Partch: A genesis of a music, Da Capo Press, New York, 1974. Existen también diversas páginas Web de Internet

dedicadas a este autor así como una fundación que lleva su nombre (Harry Partch Foundation). Otra referencia impresa sobre su obra es Bob Gilmori: Harry Partch: a biography, Yale University, 1998.

112 Chromelodeon reed organ, una especie de órgano rojo. 113 Véase el apartado II.4.1.5. 114 H. Partch: A genesis of a music, Da Capo Presss, New York, 1974; W. A. Sethares: Tuning, Timbre, Spectrum, Scale,

Springer-Verlag, figura 4.3, p. 84.

Page 40: SpecMusic Libre

40

Partch no era partidario de aproximaciones y creó la música y los instrumentos para realizar su visión de una música justa “que no atormentara el oído”.

Como compositor, observó que “cada consonancia es una pequeña estrella en su universo alrededor de la cual se agrupa la disonancia de los satélites”. Por otro lado, clasificó los intervalos en cuatro grupos: potencia, incertidumbre, emoción y acercamiento115. Los intervalos de potencia corresponden a las consonancias perfectas típicas; los de incertidumbre corresponden a los intervalos situados entre la cuarta y la quinta y que generalizan la función del trítono; los de emoción corresponden a la variedad de terceras y sextas asociadas a una generalización de los calificativos de mayor y menor; y los de acercamiento corresponden al resto de intervalos reservados para notas de paso y otras inflexiones melódicas.

Al igual que H. Helmholtz, H. Partch trabajó con espectros armónicos pero se dio cuenta de que debería modificar si consideraba diferentes octavas y timbres. Sus conclusiones en referencia a las causas físicas de la disonancia son similares a las de H. Helmholtz pero aporta una nueva concepción a la afinación de la escala y a la teoría de la música.

4.2.3 R. Plomp y W. J. M. Levelt

A mediados de los años 60, R. Plomp y W. J. M. Levelt116 realizan una serie de experimentos relacionados con la percepción de la consonancia sensorial para los cuales utilizan un equipo electrónico. El experimento consistió en evaluar la sensación producida por diversos pares de tonos puros o sinusoides. La principal aportación fue el hecho de trabajar con gente no educada musicalmente para evitar el reconocimiento de ciertos intervalos que la gente educada musicalmente ya tienen asumidos como disonantes. Veremos que, de entrada, estos conceptos asumidos teóricamente, no tienen que coincidir con los resultados de este experimento.

El experimento se realizo mediante un equipo electrónico que generaba pares de tonos puros, uno de ellos con una frecuencia fija y el otro con una frecuencia variable que se incrementa lentamente partiendo del valor de la frecuencia fija. El resultado fue el siguiente:

Existe un mínimo de disonancia cuando las frecuencias de los dos tonos son iguales, es decir, en el unísono. A medida que aumenta la distancia entre los dos tonos, la disonancia aumenta hasta un cierto nivel máximo a partir del cual vuelve a disminuir sin llegar nunca al mínimo del producido por el unísono. El aumento de disonancia se produce rápidamente mientras que la disminución posterior se efectúa más lentamente.

Gráficamente, una media de los resultados obtenidos puede expresarse mediante el siguiente gráfico que identificaremos con el nombre de curva de disonancia117:

Ilustración 6: Representación gráfica de la disonancia sensorial de dos ondas sinusoidales118. Los efectos que se perciben en el proceso son los descritos en el apartado dedicado a las

interferencias: batidos, aspereza y, después, dos tonos claramente distinguibles y cada vez más separados.

115 Traducciones de power, suspense, emotion y approach respectivamente. 116 R. Plomp, W. J. M. Levelt: “Tonal consonance and critical bandwhith”, Journal of Acoustical Society of America 38, 548-

560 (1965). Los autores presentaron un trabajo preliminar en “Musical consonance and Critical Bandwidth”, Fourth International

Congress on Acoustics, Copenhagen, 1962. 117 Traducción del término dissonance curve empleado por W. A. Sethares en Tuning, Timbre, Spectrum, Scale, Springer-

Verlag, New York, 1997. 118 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, figura 2.18, p. 44.

Page 41: SpecMusic Libre

41

El hecho más sorprendente consiste en que en esta curva no pueden distinguirse los intervalos considerados tradicionalmente consonantes o disonantes. A partir del momento en que comienzan a distinguirse dos tonos separados la disonancia disminuye progresivamente hasta el infinito. Eso no se corresponde a lo que conocíamos previamente de la teoría musical. Ya que debería producirse un aumento del valor de la disonancia para intervalos como la séptima o la novena.

Por otro lado, R. Plomp y W. J. M. Levelt observaron que en casi todos los rangos de frecuencia, el punto de máxima aspereza ocurre sobre ¼ de la anchura de banda crítica de la membrana basilar. Esto significa que dos sinusoides que excitan la misma banda y sus neuronas tienen que reaccionar a la vez produciendo cierta confusión en el cerebro. Este efecto se percibe como una aspereza que se identifica con la disonancia. La dependencia de la aspereza con la banda crítica requiere una modificación del criterio de Helmholtz que asumía la máxima aspereza para dos sinusoides de 32 Hz de diferencia. No obstante, los criterios coinciden par frecuencias alrededor de los 500 Hz119.

Para generalizar el proceso a tonos más complejos se analizaron tonos simples en varios rangos de frecuencia y los resultados se redujeron a una sola curva estándar. Esta curva se aplicó después a todos los posibles batidos que pueden detectarse entre pares de parciales y se asume que la dureza o disonancia total es igual a la suma de la disonancia de todos los pares de parciales. De nuevo, el experimento se realizó para espectros armónicos.

La conclusión es confirmar la explicación dada por H. Helmholtz según la cual la falta de disonancia en dos sonidos complejos simultáneos cuya relación de frecuencias está dada por fracciones simples se debe a la ausencia de batidos entre los armónicos próximos120. La curva obtenida tendrá ahora una forma más complicada formada por un conjunto mayor de máximos y mínimos que podrán explicar mejor la teoría clásica de la consonancia:

Ilustración 7: Representación gráfica de la curva de la disonancia sensorial calculada por R.

Plomp y W. J. M. Levelt121. Será posteriormente, con los estudios de W. A. Sethares cuando se modelarán las curvas

matemáticamente y se generalizará el proceso para espectros de cualquier tipo. Ello permitirá extraer conclusiones acerca de cualquier tipo de escala e instrumento y aplicarlos resultados a la creación de nuevas escalas de afinación variable.

4.2.4 Opiniones posteriores

En contradicción al resto de teorías, Roberts (1986), en un estudio acústico de acordes de 3 y 4 notas escuchados tanto por músicos como por personas sin educación musical, concluyó que, si bien el acorde mayor era juzgado más consonante que el menor, los acordes del temperamento igual eran más consonantes que los justos. Esto no debiera ser así, ya que en el temperamento igual el acorde mayor es proporcional a 4:5.04:5.99, no basado en fracciones simples.

119 Véase el apartado anterior dedicado a las bandas críticas. 120 El número total de contribuciones puede calcularse mediante un problema de combinatoria entre todos los parciales de un

sonido con todos los del otro. El resultado es de 1/2nm. 121 R. Plomp, W. J. M. Levelt: “Tonal consonance and critical bandwhith”, Journal of Acoustical Society of America 38, 548-

560 (1965). W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1977, figura 4.4, p. 86.

Page 42: SpecMusic Libre

42

Otra opinión posiblemente más clarificadora, integradora de las teorías sensoriales y las del aprendizaje, es la de Burns (1982) quien cree que los intervalos justos, precisamente por su menor aspereza, han influido en la evolución de las escalas de varias culturas aunque sin imponerse totalmente; en cuanto a las personas particulares sienten la consonancia por el parecido de los intervalos que cantan con los que han aprendido.

4.3 Teoría desarrollada por W. A. Sethares122

4.3.1 Cálculo de la curva de disonancia

Las curvas de R. Plomp y W. J. M. Levelt se pueden parametrizar mediante un modelo de la forma:

donde x representa la diferencia de frecuencia entre dos sinusoides, y b1 y b2 representan las constantes según las cuales la función aumenta o disminuye. A partir de la minimización del gradiente del error cuadrático entre la media de los datos empíricos y los de la curva d(x) se obtienen los valores siguientes:

b1 = 3.5 y b2 = 5.75 La función de disonancia d(x) debe ser escalada de tal manera que las curvas con diferentes

frecuencias base y con diferentes amplitudes se puedan representar convenientemente. Después de esta transformación, la disonancia entre sinusoides de frecuencia f1 y amplitud a1 y sinusoides de frecuencia f2 y amplitud a2 (para f1 < f2) es

donde

y

La variable x* representa el punto de máxima disonancia obtenido a través de la función derivada123. Tomando los valores escogidos para las constantes b1 y b2, se obtiene x* = 0.24.

El parámetro s permite interpolar las curvas de diferentes frecuencias arrastrándolas a través del eje de frecuencia empezando en f1 y comprimiéndolas de tal manera que el máximo de disonancia ocurra en la frecuencia adecuada. Aplicando de nuevo un algoritmo de minimización del error cuadrático medio pueden determinarse los valores s1=0.021 y s2=19.

El parámetro a12, por otro lado, permite que las componentes más suaves contribuyan a la disonancia total menos que las más fuertes (entendidas en menor o mayor amplitud). Esto se reflejará en el aumento de la disonancia en proporción a la amplitud de los parciales.

Generalizando la curva de disonancia para un sonido F de frecuencia fundamental f1 y con una colección de n tonos parciales con frecuencias f1<f2<…<fn y amplitudes aj para j=1,2,…,n, su disonancia se puede calcular como la suma de las disonancias de todos los pares de parciales:

Llamaremos a esta expresión disonancia intrínseca o inherente del sonido F. Cuando dos notas de F son tocadas simultáneamente a un intervalo con relación numérica α, el sonido resultante tiene una disonancia equivalente a la de un sonido con frecuencias fi y αfi y amplitudes aj . Consideraremos, pues, otro sonido αF con un espectro que contiene las frecuencias αf1, αf2, …, αfn (con amplitudes aj) y calcularemos la disonancia de F a un intervalo α como

122 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1977. Existen trabajos anteriores del autor

citados en el apartado 6 de la bibliografía y, además, existe una página Web del autor: http://eceserv0.ece.wisc.edu/~sethares/index.html . Por otro lado, téngase en cuenta que las teorías que he expuesto previamente constituyen antecedentes del presente desarrollo. Igualmente, las escalas de más de 12 notas por octava que se han definido a lo largo de la historia de la música occidental, constituyen una antecedente del algoritmo adaptativo del mismo autor y que está expuesto dentro de este mismo apartado (tal como ya anuncié en el apartado II.3.8).

123 Véase el siguiente apartado dedicado a las propiedades de las curvas de disonancia.

Page 43: SpecMusic Libre

43

donde es la curva de disonancia generada por F sobre todos los intervalos de interés α124.

Para el caso de un intervalo con espectros diferentes para cada nota, la disonancia puede calcularse así:

donde F y G son los espectros y ai y bi sus respectivas amplitudes. La disonancia de un acorde de tres notas a intervalos 1, r y s también podría calcularse de manera

similar añadiendo las disonancias entre todos los pares de parciales que se pueden combinar:

donde es la disonancia de F en el intervalo r, la disonancia de F en el intervalo s, y

la disonancia entre rF y sF. En este caso obtenemos una función de dos variables y

hablaremos de superficie de disonancia para referirnos a su representación gráfica. La generalización para m sonidos, cada uno de ellos con su propio espectro, sigue la misma filosofía de cálculo sumando las disonancias entre todos los parciales que suenen simultáneamente.

4.3.2 Propiedades de las curvas de disonancia

Para estudiar las propiedades de las curvas de disonancia, propiedades que luego servirán para extraer los resultados oportunos, tomaremos un modelo más simplificado en el que, para un espectro F con parciales f1, f2, …, fn, la disonancia intrínseca es

donde puede considerarse realmente como una función de una sola variable, eso es,

(tal como se definió la primera vez), con y donde todas las

amplitudes toman un valor igual a la unidad. Debido a la variable x, , y

para cualquier α. En otras palabras, la simplificación implica la eliminación de la

dependencia con la frecuencia absoluta de la medida de la disonancia. Usando estas notaciones, la curva de disonancia se convierte en la siguiente ecuación:

Hay varios aspectos importantes de las curvas de disonancia que deben considerarse antes de estudiar sus propiedades. Expongo algunos de ellos a continuación.

a) Derivando la expresión anterior, igualando a cero y resolviendo la ecuación,

encontramos el valor del punto de máxima disonancia:

.

b) Se dice que dos parciales fi y fj están separados por x* si

.

c) La variación de disonancia en x = 0 es

.

d) La máxima variación de disonancia en la derivada corresponde al punto x** donde d’(x**) es mínimo (para x>x*). Entonces, ya que

124 En W. A. Sethares: “How to draw dissonance curves”, Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997,

apéndice E, pp. 299-302, se encuentra la realización de un programa en MATLAB y BASIC para calcular y dibujar la curva de disonancia. Yo, en la realización de este proyecto he realizado los cálculos en lenguaje C++.

Page 44: SpecMusic Libre

44

,

en aparece el mínimo y, después de algunas simplificaciones, el valor de

la máxima variación es

.

Cuando sea necesario, deberán usarse los valores b1=3.5 y b2=5.75 que se han justificado en el apartado anterior. En ese caso, obtenemos los siguientes resultados: , ,

, y .

A continuación expondré los teoremas que definen las propiedades de las curvas de disonancia125:

Teorema 1: Sea F un espectro con parciales f1<f2<…<fn separados al menos x*. Entonces α = 1

es un mínimo de .

Esto significa que el unísono se corresponde siempre con un mínimo de la curva de disonancia. Cualquier sonido tiene una disonancia intrínseca debida a la interacción de sus parciales y, precisamente, la disonancia del unísono equivale a la disonancia intrínseca. El resto de intervalos contienen, además, de esa disonancia intrínseca, las interacciones entre los parciales no alineados de los dos sonidos. W. A. Sethares reconoce este mínimo como el mínimo global de la curva de disonancia caracterizando el resto de posibles mínimos como mínimos locales.

Teorema 2: Para cualquier timbre F con parciales en f1, f2, …, fn, .

Esto significa que si un intervalo aumenta, su disonancia disminuye convergiendo hacia el valor de la disonancia intrínseca. Si el intervalo es lo suficientemente grande, todos los parciales del sonido grave están por debajo de la frecuencia fundamental del sonido agudo y la interacción de los parciales es mínima.

Teorema 3: Sea F un espectro con parciales en f1 y f2 separados al menos x*. La curva de

disonancia tiene un mínimo en .

Esto significa que se producen mínimos locales cada vez que un parcial del primer sonido coincide con otro parcial del otro sonido.

Teorema 4: Sea F un espectro con parciales en f1 y en f2. Existe un ε > 0 tal que, para

, el punto deja de ser un mínimo de .

Esto significa que si los parciales f1 y f2 están excesivamente cerca, más o menos la mitad del intervalo x*, el mínimo en f2/f1 desaparece.

Teorema 5: Sea F un espectro con parciales en f1, f2, f3. Existe un c1>0 y c2>0 tal que, cuando f1 y f2 están separados al menos por x*+c1 y f2 y f3 al menos por x*+c2, se producen mínimos locales de la

curva disonancia en , y .

Teorema 6: Sea F un espectro con parciales en f1, f2, …, fn. Entonces la curva de disonancia generada por F tiene como mucho 2n2 mínimos locales.

De este teorema se deducen dos corolarios: Corolario 1: En una curva de disonancia pueden producirse dos tipos de mínimos locales: los

causados por la coincidencia de parciales (como se deduce de los teoremas 3 y 5) y los causados por una separación suficiente entre ellos. Identificaremos el primer tipo como mínimos locales debidos a la coincidencia de parciales y el segundo como mínimos amplios126. Todos ellos pueden ser enmascarados debido a lo que se demuestra en el teorema 4, de hecho, las curvas de disonancia típicas suelen presentar

125 La demostración de estos teoremas se encuentra en W. A. Sethares: “Properties of dissonance curves”, Tining, Timbre,

Spectrum, Scale, Springer-Verlag, New York, 1997, apéndice F, pp. 303-307. 126 Traducción del término inglés broad y que el mismo W. A. Sethares nombra entre comillas. La justificación del término se

explica por la apariencia de la curva para este tipo de mínimos y en oposición al aspecto de los otros. Los mínimos debidos a coincidencia de parciales son muy abruptos, de hecho, implican una discontinuidad en la derivada debido a la modelización del espectro mediante rayas espectrales y a la definición de la curva de disonancia mediante una función que se define a partir de un cierto punto (para x≥0). El valor absoluto (en el caso de la definición con dicha función) también provoca una discontinuidad en la derivada para el punto x=0. En cambio, los mínimos amplios no son debidos a la coincidencia de parciales y la derivada en ese punto es continua. Debido a esa continuidad, este tipo de mínimo es menos abrupto (más suave) observándose en la curva correspondiente un valle más ancho o amplio, aspecto que le da el nombre.

Page 45: SpecMusic Libre

45

muchos mínimos menos del número máximo posible (2n2, donde n el número de parciales). De esto podemos deducir que:

1) El número de mínimos debidos a la coincidencia de parciales aumenta con el número de éstos.

2) Los mínimos tienden a desaparecer en las zonas donde los parciales están más densamente agrupados.

3) Los mínimos tienden a desaparecer cuando el número de parciales es lo suficientemente elevado debido a que este hecho provoca una mayor densidad en su agrupación. Por tanto, lo afirmado en el apartado a) será cierto dentro de un límite.

4) El número de mínimos amplios tiende a desaparecer antes que el número de mínimos debidos a la coincidencia de parciales ya que la distancia de separación necesaria para su existencia es mayor. Por tanto, los mínimos amplios tienden a desaparecer cuando el número de parciales es lo suficientemente elevado aunque éstos estén uniformemente agrupados (éste es el caso más habitual en la práctica).

Corolario 2: En una curva de disonancia cuyo número de mínimos locales sea menor que el máximo posible, o sea, en el caso habitual, el número máximo de mínimos de un mismo tipo no puede ser mayor que el número máximo de mínimos posibles. O sea, no pueden haber más de n2 mínimos de un mismo tipo en una curva de disonancia.

4.3.3 Curva de disonancia para múltiples espectros

Supongamos que las dos notas que forman un intervalo tienen diferente espectro. Entonces, el cálculo de la curva de disonancia debe modificarse de la siguiente manera:

donde F y G son los espectros de cada una de las notas que forman el intervalo α en cuestión; el espectro F tiene n picos y amplitudes ai y el espectro G tiene m picos y amplitudes bi.

Igualmente existen diferencias en las propiedades de las curvas de disonancia para múltiples espectros con referencia a las de un solo espectro. Los teoremas expuestos en el apartado anterior quedan modificados de la siguiente manera:

1) La primera propiedad no se cumple siempre, es decir, no siempre el unísono se corresponde con un mínimo.

2) La tercera propiedad se modifica de tal manera que los mínimos locales de la curva de

disonancia se producen para o

3) La sexta propiedad queda modificada de tal manera que la curva de disonancia tiene como mucho 2nm mínimos locales.

4) Siguen cumpliéndose las propiedades segunda, cuarta y quinta.

4.3.4 Relación entre escalas y espectros

Hemos definido la curva de disonancia como una función del intervalo que depende del espectro y que pretende modelar la disonancia sensorial para cada intervalo. También hemos visto que la curva contiene un número de mínimos que dependen del número de parciales de los sonidos que formen las notas del intervalo. Estos mínimos corresponden a intervalos para los cuales existe un máximo de consonancia (mínimo de disonancia) en relación con el resto de intervalos posibles. Por lo tanto, resulta obvio pensar que tales intervalos serán candidatos para formar una escala musical apta para trabajar con el espectro con el cual se ha calculado la curva. Si identificaremos tales puntos de la curva como las posiciones de la escala, podemos decir que “un espectro y una escala están relacionados si la curva de disonancia para aquél espectro tiene mínimos en las posiciones de la escala”127.

Puede aplicarse también el camino inverso que consistiría en crear un instrumento, o sea, sintetizar un sonido con un espectro que sea un conjunto concreto de parciales que estén relacionados con una escala arbitraria que hayamos escogido. Este proceso consiste en aplicar un algoritmo a una escala128.

Puede demostrarse que los intervalos considerados históricamente consonantes coinciden con mínimos de la curva de disonancia para un espectro armónico129. También puede observarse como una

127 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997. 128 Este algoritmo no está programado en el proyecto por lo cual omitiré su explicación. Ésta puede encontrarse en W. A.

Sethares: “Local consonance and the relationship between timbre and scale”, Journal of Acoustics Society of America, vol. 38, págs. 548-560 (1965). Un estudio más detallado se encuentra en W. A. Sethares: “From tuning to scale”, Tuning, Timbre, Spectrum,

Scale, Springer-Verlag, New York, 1997, capítulo 10. pp. 211-233.

Page 46: SpecMusic Libre

46

pieza basada en las consonancias habituales (y afinada como tal) sonará disonante si se reproduce con un instrumento de espectro no armónico ya que los intervalos correspondientes a los mínimos de su curva de disonancia no coincidirán con los intervalos consonantes de la escala justa. Habría que adaptar la afinación de los intervalos a la nueva curva e, incluso, las escalas musicales correspondientes, su teoría musical.

4.3.5 Algoritmo adaptativo de W. A. Sethares

Consideremos ahora una curva de disonancia concreta que vendrá dada a partir de un espectro concreto, el espectro del instrumento que pretendamos usar. Los mínimos de dicha curva determinarán los puntos de máxima consonancia.

Supongamos que en un determinado punto de una partitura se deben interpretar dos notas que forman el intervalo α1, entonces la consonancia puede ser incrementada haciendo el intervalo más pequeño. En cambio, si se interpretan dos notas con un intervalo α2, la consonancia podrá ser aumentada haciendo el intervalo más grande. En cualquier caso, la consonancia puede aumentarse arrastrándose a través de la curva pero siempre hacia abajo, o sea, hacia un punto de equilibrio estable, un mínimo de la curva de disonancia. Tal procedimiento puede explicarse mediante el siguiente gráfico:

Ilustración 8: Representación gráfica del principio de funcionamiento del algoritmo adaptativo

de W. A. Sethares130. Ya que los mínimos de la curva de disonancia definen la escala relacionada, la estrategia de

moverse siempre hacia abajo proporcionará una manera para tocar automáticamente en la escala relacionada. Éste es el principio básico de los algoritmos adaptativos.

El algoritmo debe tener acceso al espectro del instrumento para ajustar la afinación ya que las curvas de disonancia dependen de él. Esta información puede estar ya incluida o puede calcularse a través de algoritmos apropiados.

El algoritmo ajusta la frecuencia de cada nota para disminuir la disonancia hasta el mínimo más cercano. Este conjunto de frecuencias modificadas se podrá enviar a una unidad de generación de sonido. Cada vez que se produzca un nuevo evento musical, el algoritmo calculará las afinaciones óptimas tales que produzcan una disonancia mínima.

Existen varias maneras para calcular los ajustes necesarios. La manera más simple consistiría en aplicar el siguiente procedimiento:

Supongamos que tenemos un intervalo formado por dos notas de frecuencias f1 y f2 (con f1 < f2),

calcularemos la disonancia de los intervalos para varios valores de ε (los valores adecuados

para tal variable podrían ser determinados mediante el método de bisección, por ejemplo). El punto de mínima disonancia estaría dado por aquel valor de ε para el cual la disonancia fuera más pequeña. Se

129 Véase la Ilustración 7 del apartado II.4.2.3. Por otro lado, en el apartado V se presentarán diversas aplicaciones mediante las

cuales quedará demostrado el citado fenómeno. 130 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1977, figura 7.3, p. 152.

Page 47: SpecMusic Libre

47

reajustarían entonces los valores de las frecuencias de las notas del intervalo. Este método resulta muy ineficiente, sobretodo cuando es necesario calcular la disonancia de varias notas simultáneas131.

El método del gradiente descendente constituye una mejor manera de encontrar los mínimos locales más cercanos de la curva de disonancia. Su desarrollo es el siguiente:

Sean las frecuencias fundamentales de las notas a las que se ha de ajustar

su afinación para conseguir la máxima consonancia. Definimos una función de coste como la suma de las disonancias de todos los intervalos en un instante dado:

.

Se aplica entonces una iteración que actualiza los fi moviéndose hacia abajo sobre la m-dimensional superficie D. Esto es:

Nuevos valores de las frecuencias = valores anteriores de las frecuencias – stepsize * gradiente donde el gradiente es una aproximación a la derivada parcial del coste con respecto a la frecuencia de índice i. El signo menos indica que el algoritmo desciende buscando mínimos locales (y no ascendiendo hacia un máximo local). Más concretamente, el algoritmo es:

Adaptative Tuning Algorithm

do for i=1 to m

endfor

until

donde k es un contador para las iteraciones y µ el stepsize. De esta manera las frecuencias de todas las notas son modificadas en proporción al cambio en el coste y al stepsize hasta la convergencia. Esta convergencia significa que el cambio en todas las frecuencias es menor que un cierto valor δ especificado.

Algunas consideraciones son: 1) δ debería ser escogido en base a la resolución de la afinación de la unidad de generación del

sonido. 2) Puede ser ventajoso en ciertas ocasiones fijar la frecuencia de una de las frecuencias fi y

permitir que el resto de las se adapten en relación a esa frecuencia fijada. 3) Es aconsejable calcular la adaptación con un stepsize logarítmico, esto es, aquél que, en

realidad, actualiza la distancia entre frecuencias (cents en vez de hercios). 4) Es posible generalizar el algoritmo para ajustar la afinación de cualquier número de notas,

cada una con su propia estructura espectral. 5) El cálculo detallado de la derivada está hecho más adelante. 6) Existen diversos caminos para calcular la minimización del coste D. Se propone un

algoritmo iterativo ya que el cálculo de expresiones cerradas para el valor mínimo sólo son posibles en los casos más simples.

7) Si se desea, la adaptación puede ser ralentizada decrementando el valor del stepsize.

4.3.6 Principio del algoritmo

En este apartado calcularé las expresiones concretas para la actualización de los valores del algoritmo adaptativo de W. A. Sethares a partir de la función de coste definida en el apartado anterior y las expresiones de la disonancia sensorial también expuestas en los apartados anteriores132.

La función de coste

puede ser rescrita como

131 El número de operaciones necesarias se incrementa como 2m donde m es el número de notas. 132 Este desarrollo se ha extraído de W. A. Sethares: “Behavior of adaptative tunings”, en Tuning, Timbre, Spectrum, Scale,

Springer-Verlag, New York, 1997, apéndice G, pp. 309-311.

Page 48: SpecMusic Libre

48

.

Sólo los términos en D que incluyen fi necesitan ser considerados cuando se calcula el gradiente

. Es decir:

ya que y la derivada conmuta con las sumas. Calcular la derivada de los

términos individuales es complicado debido a la presencia del valor absoluto y de la

función min. La función no es diferenciable en f=g, y los cambios dependen de si f>g o si g>f. Siendo x* el punto en el cual se produce máxima disonancia, se define

que es una aproximación cerrada a la derivada deseada. Entonces una aproximación al gradiente es realmente calculable como una triple suma de elementos de esta forma.

Expondré dos teoremas, el primero demuestra el principio del algoritmo cuando se adaptan dos notas, cada una con un simple parcial; el segundo demuestra el mismo principio para dos notas, una con un espectro de dos parciales y otra de uno.

Teorema 1: Sean f0 y g0 las frecuencias de dos sinusoides, con f0<g0. Aplicaremos el algoritmo de afinación adaptativa. Entonces

a) ,

b) .

Demostración:

De la expresión obtenida para , pueden calcularse las actualizaciones para f y

g:

Los términos entre corchetes son positivos siempre y cuando

Arreglando da

Page 49: SpecMusic Libre

49

.

Ya que el lado izquierdo es igual a x*, esto se puede rescribir

.

Esto es, implica que . De forma similar, , el cual

juntos muestran (a). Por otro lado, si , un idéntico argumento muestra que

y para todo k.

Teorema 2: Consideremos dos notas F y G. Supongamos que F consiste en dos parciales fijados a frecuencias f y αf con α>1, y que G consiste en un simple parcial de frecuencia g0 el cual se permite adaptar por medio del algoritmo de afinación adaptativa. Entonces:

a) Hay tres puntos de equilibrio estable en , y .

b) .

c) .

Demostración: La disonancia total para este caso incluye tres términos:

Ya que α y f son fijas, es constante, y minimizando DT es los mismo que minimizar

. Usando la primera expresión dada para la disonancia y asumiendo ,

la actualización para g es:

Esto tiene un equilibrio cuando , esto es, cuando . El cálculo

de la segunda derivada muestra que es positivo en este punto tan grande como , el

cual tiende para todo f y α razonable. Por tanto, este es un punto de equilibrio estable. [Nótese que si se usa el modelo completo, entonces un mucho más complejo actualización surge para g. Esto tendrá un equilibrio cerca, pero no en .

Debido a la no diferenciabilidad de la función de disonancia en , no podemos tomar la

derivada en este punto. La estrategia a mostrar que es estable es mostrar que si para

algún pequeño entonces la actualización decrece g, mientras si para algún pequeño

entonces la actualización incrementa g. Suponiendo que , y asumiendo que

, el gradiente es aproximadamente

Ya que b2 es sobre dos veces el tamaño de b1, esto es positivo. De forma similar, para , el gradiente es aproximadamente

el cual es negativo. Consecuentemente, es un punto local estable. El punto donde se

analiza de forma similar. Análogos argumentos a aquellos usados en el teorema G.1 muestran que para , g decrece, mientras para , g se incrementa.

4.3.7 Partituras de disonancia133

La partitura de disonancia consiste en una medida de la disonancia sensorial aplicada a una partitura concreta. Esta medida de evaluación también ha sido ideada por W. A. Sethares y constituye un método de evaluación de cualquier tipo de escala dentro del contexto práctico de una obra musical

133 Traducción del término dissonance scores que W. A. Sethares da en Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New

York, 1997.

Page 50: SpecMusic Libre

50

concreta. Debe tenerse en cuenta que la afinación de las notas de la partitura requiere considerar una escala concreta.

Para la medida de la disonancia sensorial causada por esa escala utilizaremos la definición dada en los apartados anteriores. Tal definición se aplica a cada uno de los acordes de una partitura, entendidos en la manera en que se definen para este proyecto134. Esto puede aplicarse, pues, a cualquier secuencia MIDI que reciba el tratamiento correspondiente, o sea, que se transforme en un conjunto de acordes.

Por otro lado, la medida de la disonancia requiere la información espectral por lo que también habrá que asociar a cada partitura un modelo espectral del instrumento para el cual haya sido pensada.

También podrá aplicarse esta medida a una onda WAVE que corresponda a una interpretación concreta de una obra musical que haya sido grabada y digitalizada135. Ello permitirá sacar conclusiones, no sólo desde el punto de vista de la disonancia teórica, sino desde el punto de vista del intérprete concreto y teniendo en cuenta un modelo espectral más real. También puede solucionar el problema para los casos en los que no exista una partitura de la obra musical (éste es el caso típico de las músicas étnicas).

Para ello, la pieza digitalizada se fragmenta en pequeños segmentos y se calcula la disonancia sensorial en cada uno de ellos. En este caso, la medida de la disonancia se realiza a través de la información espectral que se tenga de cada uno de esos segmentos. Se calcula la transformada de Fourier de todo el segmento, se aplica un algoritmo de detección de picos y se calcula la disonancia sensorial asociada a un sonido que contenga el mismo conjunto de parciales obtenido. Se trata de aplicar la definición de disonancia intrínseca de un sonido.

Vemos que la medida de la disonancia es una función dependiente del tiempo, además del espectro. Es por ello que deberá definirse, para el caso de las partituras, un valor asociado a cada acorde y que corresponda a su duración. Para el caso de las secuencias MIDI; tal valor deberá extraerse de la información que aporten los DeltaTime. En cambio, para el caso de la onda WAVE, el valor temporal corresponderá a la definición de un intervalo de muestras que equivalgan a un intervalo de tiempo lo suficientemente exacto dependiendo de su correspondencia con el ritmo de la partitura correspondiente.

La partitura de disonancia, a parte de representarse mediante una serie numérica, puede representarse de una forma más clara gráficamente. El eje horizontal representa el tiempo, indicado en una unidad de tiempo o, simplemente en compases, mientras que el eje vertical es la disonancia sensorial calculada136.

Un segmento válido para el cálculo de la partitura de disonancia en una onda WAVE puede ser de 8K muestras que, a una frecuencia de muestreo típica de 44.1 kHz, corresponde aproximadamente a 0.2 segundos137.

4.3.8 Disonancia total

Vamos a definir la disonancia total como un parámetro que da una idea global de la disonancia de toda una partitura dependiendo de la afinación que se le haya aplicado y del espectro del instrumento para el cual se ha pensado.

Para ello recordemos que la que la sensación de disonancia DF entre dos notas con fundamentales fi y fj es la suma de las disonancias entre todos sus pares de parciales. Entonces, la disonancia total TD de un pasaje musical de m notas se define como la suma de las disonancias producidas por los intervalos formados por cada par de notas combinadas entre sí. Además, las disonancias son ponderadas por el tiempo en que ese par de notas suenan simultáneamente. Matemáticamente tenemos:

donde t (i, j) es el tiempo total para el cual las cuales notas i y j suenan simultáneamente; y el término

corresponde a la disonancia del intervalo entre las notas i y j y especifica la dependencia

de la disonancia total con la afinación. Siendo m el número de notas de la escala y el sumatorio corresponde a todas las posibles combinaciones entre ellos.

Hay que tener en cuenta el efecto de disminución de la amplitud, especialmente para los instrumentos de teclado. Mientras que en uno de estos instrumentos, la amplitud de una nota sostenida disminuye en el tiempo, se incrementa significativamente cada vez que se toca una nueva nota ya que ésta

134 Véase el apartado IV.4.1. 135 Tal procedimiento no se ha implementado en la versión actual del programa quedando pendiente para trabajos futuros. 136 Se debe normalizar el punto de máxima disonancia a 1. Pueden verse ejemplos de estas curvas en al apartado 0 y en el

apéndice 8, así como en la misma obra de W. A. Sethares. 137 8.192 muestras / 44.100 muestras / segundo = 0,185 segundos.

Page 51: SpecMusic Libre

51

refuerza a la anterior por efecto de resonancia. Entonces, en pasajes suficientemente rápidos, tal distribución rectangular constituye una buena aproximación.

Dentro de un contexto histórico, la medida de la disonancia total puede proporcionar razones para rechazar afinaciones para las cuáles hay demasiada disonancia (si se obtiene un valor alto en la medida) o, en cambio, reconsiderar aquéllas que den poca disonancia (si se obtiene un valor bajo en la medida). Aunque tales afirmaciones deben realizarse con cierta perspicacia, es decir, no pueden ser hechas mecánicamente, tal método sí puede constituir una buena pista.

No obstante, deberemos de considerar algunas limitaciones de este procedimiento. Si tenemos en cuenta que la música no consta exclusivamente de consonancias y que, precisamente, las disonancias juegan un papel muy importante, éstas influirán negativamente en la medida haciendo que se desvíe de su valor óptimo que correspondería al obtenido en ausencia de esas disonancias. Para subsanar este problema debería analizarse previamente la partitura y eliminar las disonancias, es decir, quedarnos únicamente con la estructura armónica. Pero esto ya será tema para otro proyecto. De momento, nos limitaremos a estudiar las aplicaciones que esta medida nos puede proporcionar y, en todo caso, buscar los elementos que pueden desviarnos de la solución exacta.

Lo que sí hay que tener en cuenta es que la diferencia entre los valores de la disonancia total para diferentes afinaciones es bastante pequeña, menos del 1% entre las afinaciones musicales usuales138; es por eso que buscaremos expresiones más adecuadas para los resultados de disonancia total calculada. Podemos considerar las siguientes soluciones:

1) Expresar el resultado en partes por mil de la diferencia entre la medida obtenida aplicando la escala considerada y la medida obtenida aplicando el temperamento igual139:

La diferencia de una parte por mil en contextos musicales típicos es claramente audible para un oído musicalmente entrenado. 2) Aplicar logaritmos y sustituir la resta por la división (igualmente en partes por mil)140:

Esta medida proporciona una mayor diferenciación entre los diferentes resultados por lo que permite extraer conclusiones de una manera más clara. En las ecuaciones anteriores, TD expresa la disonancia total calculada mediante la fórmula dada

y TTD representa la expresión modificada. Por otro lado, TD0 se refiere a la disonancia total calculada aplicando el temperamento igual. Así, pues, TD0 puede considerarse un valor de referencia que provocará que, para el caso del temperamento igual y aplicando la expresión modificada, se obtenga el valor 0.

En la implementación de mi proyecto utilizaré la segunda de estas opciones por las razones ya argumentadas.

4.3.9 Predicción de la afinación óptima141

Dada la dependencia de la disonancia total con la afinación a través de DF, esta medida constituye un criterio para escoger una afinación apropiada tanto dentro de un cierto pasaje musical como en un conjunto de piezas de forma globalizada. De entre varias afinaciones posibles, puede escogerse como más apropiada la que de un valor más bajo de la disonancia total lo que significará que la pieza o conjunto de piezas musicales sonarán, en su conjunto, más consonantes. Por otro lado, aplicando un algoritmo de optimización también puede encontrarse la afinación óptima para una obra o pasaje musical.

Así que el problema de escoger la afinación que maximiza la consonancia puede plantearse como un problema de optimización. Si identificamos la disonancia total con el “coste” asociado a la composición, podemos aplicar un algoritmo adaptativo para minimizarlo escogiendo los intervalos que definen la afinación. El problema de optimización puede ser resuelto usando una variedad de técnicas pero, quizás, la más simple es usar otra vez el método del gradiente descendiente, de forma similar al método de la afinación adaptativa. La diferencia es que la disonancia total es la que proporciona la “historia” de la pieza a través de los términos t(i, j). Este cálculo constituye una solución alternativa a la aplicación de una afinación adaptativa.

138 Por esta razón, una precisión numérica de 9 decimales o mejor es aconsejable para el cálculo de la disonancia total. 139 Ésta es la solución propuesta por W. A. Sethares. Por otro lado, hay que tener en cuanta que el número de notas del

temperamento igual debe ser el mismo que el de la escala en la cual se base la composición de la obra musical. Tal número es 12 para la mayoría de ejemplos musicales de la música occidental pero puede ser diferente en otros tipos de música.

140 Ésta es la solución propuesta por mí. 141 La implementación de este procedimiento quedará pendiente para versiones futuras del programa.

Page 52: SpecMusic Libre

52

Los pasos a seguir para encontrar la afinación óptima para una pieza o conjunto de piezas musicales basándose en un algoritmo de gradiente descendiente son:

1) Especificar el espectro de cada sonido que aparezca en la partitura. Como primera aproximación tomamos un espectro único en una pieza tocada por un solo instrumento.

2) Contar el número de apariciones de cada uno de los posibles intervalos que aparezcan y ponderarlo por sus duraciones.

3) Escoger una afinación inicial para la optimización del algoritmo142. 4) Implementar el algoritmo de gradiente descendiente (u otro algoritmo de optimización) para

encontrar el conjunto de intervalos que constituyan la afinación óptima. Sea I0 el “vector de afinación” inicial que contiene una lista de los intervalos que definen la

afinación. Entonces, puede encontrarse un nuevo vector óptimo I* por iteración:

hasta convergencia, donde µ es un stepsize pequeño y positivo y k es el contador de la iteración. El algoritmo converge cuando la variación de frecuencia tiene el mismo signo para todos los elementos del vector de afinación en una determinada iteración.

A parte de esto, para aplicar este problema a una secuencia MIDI, ésta debe modificarse mediante un patch143 que permita sintetizar el sonido del espectro escogido.

142 Normalmente se inicializa con el temperamento igual. 143 Programa utilizado por el dispositivo multimedia para la síntesis del sonido del instrumento al cual se refiere. Típicamente se

usan los 128 programas proporcionados por el estándar MIDI. El considerar sonidos diferentes requiere un trabajo adicional de síntesis.

Page 53: SpecMusic Libre

53

III. DISEÑO DE LA APLICACIÓN

Después de los estudios realizados en las páginas anteriores, vamos a plantear la manera de ponerlos en práctica a través de un software capaz de simular los algoritmos estudiados y trabajar con los elementos descritos.

1.1 Diagrama de bloques

El proyecto que he diseñado puede describirse mediante el siguiente diagrama de bloques:

Ilustración 9: Diagrama de bloques del programa implementado en el proyecto. El cuerpo principal del proyecto es un sistema que modifica una secuencia MIDI de tal manera

que pueda escucharse después con otra afinación, ya sea fija o variable. Por tanto, la entrada del sistema será la secuencia MIDI a modificar y su salida, la secuencia MIDI modificada. Tal modificación, como veremos, consiste en añadir varios eventos que varían la afinación de las notas existentes dentro de ella.

En el procedimiento del sistema pueden distinguirse dos casos principales: la aplicación de una afinación fija o la aplicación de una afinación variable. Por otro lado, el sistema tomará dos parámetros que consistirán en una escala y en un espectro144. Según el caso a aplicar, tendremos lo siguiente:

• Para el caso de afinación fija, el sistema sólo tomará como parámetro la escala que aplicará a la secuencia MIDI para modificar su afinación.

• Para el caso de afinación adaptativa, el sistema tomará los dos parámetros, la escala que para tomarla como afinación inicial y el espectro necesario para aplicar el algoritmo que modificará las frecuencias de las notas de la secuencia MIDI.

Hasta ahora tenemos tres tipos de datos: la secuencia MIDI, el espectro y la escala. En este momento se nos presenta un problema añadido de carácter práctico que consiste en el tratamiento de estos datos por parte del usuario antes y después de aplicar el algoritmo de cambio de afinación. En concreto, se presentan estos problemas:

a) Edición o visualización de los datos. b) Entrada y obtención de los datos. c) Almacenamiento de los datos. d) Conversión entre diferentes representaciones de los datos. e) Evaluación de los datos. f) En el caso del espectro, representación gráfica de los datos. g) En el caso de la secuencia MIDI, audición de los datos. El almacenamiento de los datos exige la definición de un formato específico para los ficheros en

los que se guarden. Para el caso de las secuencias, eso ya está solucionado pero debe estudiarse el formato de los ficheros MIDI. Por otro lado, la edición y entrada de datos requiere la definición de otro formato de texto asociado que permita la visualización del documento de una forma inteligible para el usuario. Eso requiere la implementación de un conversor de cada dato a formato de texto. También deberán implementarse los algoritmos de conversión de la representación de los datos así como añadir las prestaciones necesarias para el resto de funcionalidades.

Esto es lo que realmente va a complicar la implementación del proyecto, incluso, deberán definirse nuevos tipos de datos para poder tratar los ya existentes de una forma más práctica. También

144 Me refiero a un modelo de rayas espectrales que es la información que utilizan los algoritmos de afinación variable. No

obstante, podría seguirse la investigación generalizando los algoritmos para aplicarlos a un espectro real por lo que, entre otras cosas, debería cambiarse los sumatorios por integrales.

Page 54: SpecMusic Libre

54

hay que considerar la necesidad de implementar los algoritmos que conviertan entre las diferentes formas de representación de los datos.

1.2 Otros tipos de datos

Según la descripción realizada de los algoritmos adaptativos, vemos que, en el fondo, consisten en una afinación especial en la cual, las frecuencias de las notas de la escala resultante son diferentes según el contexto en el que se encuentren. Es decir, la frecuencia de una nota concreta depende del resto de notas que suenan simultáneamente con ella. Esto implica que el algoritmo se aplica a un conjunto de notas simultáneas y que cada vez que existe un cambio (cualquiera que venga dado por los eventos Note

on o Note off), debe aplicarse el algoritmo de nuevo. Tal procedimiento obliga a adaptar la estructura de la secuencia MIDI a una serie de “acordes”145 sobre la que podrá aplicarse los algoritmos adaptativos. Por otro lado, la cantidad de información que existe en un fichero MIDI y la complejidad de su estructura complican excesivamente su edición, aunque continúe siendo el teclado MIDI la manera más práctica de editar el fichero conviene inventar otra manera más exacta de introducir los datos más necesarios de cara a la aplicación de un algoritmo de afinación. Estos datos son únicamente las notas (correspondientes a los eventos de Nota on y Nota off)146.

Debido a estas dos razones, definiré un nuevo tipo de dato que identificaré como partitura y que, por ahora, solamente contendrá la información de las notas y de las duraciones. Esta partitura también se utilizará para poder visualizar los resultados de los algoritmos. Esto hecho tendrá dos implicaciones:

1) Una conversión previa de la secuencia MIDI para aplicarle los algoritmos de afinación adaptativa.

2) Los algoritmos adaptativos así como el algoritmos para el caso de las escalas de afinación fija, podrá aplicarse tanto a la secuencia MIDI como a este nuevo dato.

Será necesario, pues, definir funciones de conversión entre los dos tipos de datos y en los dos sentidos: de secuencia MIDI a partitura y de partitura a secuencia MIDI. Debe remarcarse que, la conversión necesaria para el cálculo de afinaciones adaptativas para secuencias MIDI no tiene que corresponder exactamente con el algoritmo de conversión entre los dos tipos de datos. En este caso, la conversión puede integrarse con la aplicación del algoritmo para cada acorde147.

Por otro lado, cuando sea posible, puede resultar mucho más práctico obtener el espectro a partir de una onda muestreada (onda WAVE). Para ello será necesario un conversor que obtenga el espectro a partir de la secuencia de la onda muestreada. Este conversor se basará en la transformada de Fourier y en un algoritmo de detección de picos.

Implementaremos también el conversor que realice el procedimiento inverso, o sea, obtener una onda WAVE a partir de un espectro. Este algoritmo constituirá una especie de sintetizador. En este se convertirá el espectro en una secuencia (mediante la convolución de picos más reales) y se le aplicará la transformada de Fourier inversa.

La importancia de esta prestación está en la posibilidad de aplicar los cálculos para espectros reales aunque sea dentro de las limitaciones que produzcan la modelización posterior del espectro resultante. Pero la dificultad estará en la implementación del algoritmo de detección de picos ya que esto no es una tarea simple. Suponiendo que, en este proyecto, tal algoritmo llegue a funcionar con un mínimo de garantías en los casos más típicos, no estará de más el proponer otro proyecto que se dedique exclusivamente a la mejora de este apartado.

1.3 Prestaciones añadidas

A todo esto debe añadirse la implementación de algunas prestaciones añadidas que ayudarán al estudio del fenómeno de la consonancia al estudio de las diferentes afinaciones fijas y variables:

• La implementación del algoritmo que convierte un espectro en su escala relacionada y el caso inverso, o sea, la creación de un espectro que esté relacionado con una escala concreta148.

• La representación de la curva de disonancia para un espectro. • La posibilidad de reproducir auditivamente una secuencia MIDI así como poder

grabarla a través de un teclado149.

145 Véase la definición de las partituras en el apartado IV.4.1. 146 Más tarde veremos que, de cara a la evaluación de los resultados a través de la partitura de disonancia, será necesario

introducir también información referente a la duración. Véase el apartado IV.4.1. 147 En las páginas siguientes explicaré estos procedimientos con más detalle. 148 Este último caso, debido a cuestiones prácticas, quedará pendiente para otra versión posterior. 149 En esta primera versión del programa, la posibilidad de grabación quedará reducida un reproductor a través del teclado con

la posibilidad de cambiar la afinación para los casos de escalas de afinación fija. Ello permitirá la demostración auditiva en tiempo real del efecto de las diferentes afinaciones. El resto de prestaciones quedarán pendientes para versiones futuras.

Page 55: SpecMusic Libre

55

• La posibilidad de reproducir auditivamente una onda WAVE así como poder grabarla a través de un micrófono.

• La creación de escalas a partir de sus definiciones axiomáticas150. • La evaluación de escalas151. • Un programa adicional que sea capaz de realizar cálculos de frecuencias e intervalos

para cualquier tipo de escala. • La posibilidad de presentación de los datos de diversas maneras que puedan resultar

útiles en ciertos momentos: o Diferentes representaciones de las escalas expuestas en el apartado teórico152. o Normalización de espectros y de ondas WAVE. o Diferentes representaciones de las notas para el caso de las partituras y de las

secuencias MIDI. • La posibilidad de guardar los resultados de los cálculos y de las conversiones anteriores

en ficheros de texto que puedan editarse en un procesador de textos normal. Para ello será necesario la creación de otro tipo de documento que consistirá en un simple fichero de texto153.

1.4 Evaluación de resultados

Para evaluar los resultados nos basaremos en las definiciones sobre consonancia y disonancia expuestas en el apartado teórico y que están extraídas de la teoría desarrollada por W. A. Sethares154. Él mismo ya propone la partitura de disonancia como medida apta para la evaluación de su algoritmo adaptativo. Esta partitura de consonancia consiste en la medida de la consonancia sensorial para cada acorde155 teniendo en cuenta su duración temporal.

Ya que la aplicación de esta medida requiere la organización en acordes, al igual que para la aplicación de los algoritmos de afinación variable, utilizaremos también la partitura para realizar los cálculos de evaluación. Además, la dependencia temporal de esta medida es la razón que hace que tengamos que incluir en la partitura la información temporal.

De cara a la evaluación, será posible aplicar esta medida tanto a la partitura de entrada como a la de salida; en definitiva, consistirá en una simple herramienta de cálculo aplicable a cualquier dato del tipo partitura. Esta partitura de disonancia se representará numérica y gráficamente.

Completaremos los cálculos de evaluación con una tabla gráfica que representará la posición de las frecuencias de las notas constitutivas para cada acorde de la partitura. Esta tabla requerirá una escala como parámetro. Por otro lado, aplicada a la salida del sistema y tomando como parámetro la afinación aplicada a la partitura de entrada y su afinación inicial, tendremos una tabla que representará gráficamente la variación de frecuencias que se ha desarrollado en la partitura.

El cálculo de la partitura de disonancia se completa con el cálculo de la disonancia total, otro dato calculado por W. A. Sethares que resulta muy útil de cara a extraer conclusiones relacionadas con la afinación aplicada a esa partitura.

Otra medida interesante puede ser el cálculo de cualquiera de las otras definiciones de consonancia modeladas matemáticamente. En especial, el cálculo de batidos presentado por primera vez por H. L. F. von Helmholtz constituye una medida también interesante pero ello requerirá otro estudio más exacto del fenómeno, una modelización matemática y, posteriormente, una implementación adecuada para poder aplicarse a las partituras tanto de entrada como de salida.

150 En esta primera versión del programa implementaré los cuatro modelos principales (escala pitagórica, escala física,

temperamento igual y temperamentos mesotónicos). Evidentemente, este apartado tendrá muchas posibilidades de ampliación en referencia al número de modelos propuestos y a las diferentes versiones de su parametrización. Precisamente, el programa permitirá el estudio de nuevas escalas que después podrán añadirse al código del programa.

151 Considero muy importante este apartado de cara a redactar los resultados de las investigaciones realizadas con el programa pero el tiempo no ha permitido implementar esta opción. Los cálculos correspondientes los realizaré a mano o con la ayuda de cálculos ya expuestos en los estudios existentes sobre la afinación de la escala. Futuras versiones del programa han de proporcionar tal prestación de cara a facilitar la tarea. No obstante, y al igual que para el caso de las funciones para la creación de escalas, la implementación de esta opción podrá ser ampliada a medida que se realicen más investigaciones con el programa.

152 Véase el apartado II.3.5. 153 En futuras versiones podemos añadir la misma prestación para el caso de los gráficos guardados como mapas de bits y así

depender lo mínimo posible de software adicional. 154 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997. 155 La medida puede aplicarse también a cierto intervalo de tiempo el cual puede incluir varios de los acordes que he definido

para la estructura identificada como “partitura”.

Page 56: SpecMusic Libre

56

1.5 Secuencias MIDI

La secuencia MIDI corresponde a la secuencia de bytes que se guarda en un SMF (Standard

Midi Files). Estos ficheros, definidos por el estándar MIDI, pueden editarse mediante un programa secuenciador adecuado. También pueden editarse mediante algún editor de música que, típicamente, ya contiene un conversor a formato MIDI. De todos modos, para tener que depender lo mínimo posible de software adicional, la secuencia MIDI debería poder obtenerse desde el mismo programa. Las posibles opciones son:

1) Editar un fichero MIDI existente mediante un formato de texto preestablecido. 2) Entrar manualmente los datos siguiendo el mismo formato de texto. 3) Entrar los datos a través de la entrada MIDI estándar, o sea, a través de un teclado MIDI. 4) Obtener la secuencia a partir de una partitura existente. Para poder realizar estas operaciones será necesario definir el formato de texto en el que deberá

representarse la secuencia MIDI de una manera inteligible para el usuario. Además, deberán implementarse los siguientes algoritmos:

• Conversor de formato MIDI a formato texto. • Conversor de formato texto a formato MIDI, inverso al anterior. • Conversor de partitura a secuencia MIDI. • Grabador de secuencias MIDI a través del teclado.

De todas maneras, debe tenerse en cuenta que la entrada manual de una secuencia MIDI resulta poco práctica por la razón que antes hemos apuntado y, de cara a una primera versión del programa omitiré esta opción.

Las secuencias MIDI podrían representarse gráficamente mediante una partitura musical pero esa opción está fuera de alcance para un proyecto de final de carrera y, además, no aporta nada novedoso por lo que quedará pendiente para futuras versiones. La secuencia MIDI no tendrá gráfico asociado.

Lo que sí tendrá es un reproductor multimedia a través del cual pueda escucharse tanto la secuencia original como la secuencia modificada por aplicación de algún tipo de afinación. No obstante, veremos que tal reproductor tendrá ciertas limitaciones que llevarán a plantear nuevas expectativas de cara a la definición de otro proyecto.

1.6 Escalas

La escala podrá obtenerse únicamente a través del mismo programa ya que se trata de un dato específico de él y no de ningún estándar156. Por esta misma razón, será necesario definir la estructura y formato del fichero donde se guardará. Las opciones para poder obtener una escala son:

1) Editar un fichero de escala existente mediante un formato de texto preestablecido. 2) Entrar manualmente los datos siguiendo el mismo formato de texto. 3) Entrar los parámetros de alguno de los tipos de escalas predefinidos que pueda soportar el

programa. 4) Obtener la escala a partir de un espectro con el que esté relacionada. Para poder realizar estas operaciones será necesario definir el formato de texto en el que deberá

representarse la escala de una manera inteligible para el usuario. Además, deberán implementarse los siguientes algoritmos:

• Conversor de formato escala a formato texto. • Conversor de formato texto a formato escala, inverso al anterior. • Conversor de espectro a escala. • Programa que edite escalas a través de sus parámetros.

Las escalas podrían representarse mediante diversos gráficos que dependen de su propia definición pero esa opción no es imprescindible para la evaluación de su aplicación a una partitura por lo que quedará pendiente para futuras versiones. La escala no tendrá gráfico asociado.

Lo que sí se añadirá es una función que evalúe sus características principales de cara a poder realizar un estudio de cada una de ellas en lo referente a su aplicación práctica.

1.7 Espectros

El espectro podrá obtenerse únicamente a través del mismo programa ya que se trata de un dato específico de él y no de ningún estándar. Por esta misma razón, será necesario definir la estructura y formato del fichero donde se guardará. Las opciones para poder obtener un espectro son:

156 No obstante, existe algún programa por la red que utiliza escalas como datos y que proporciona una gran cantidad de ellas en

ficheros que tienen la misma extensión que los de mi programa. Sería interesante ampliar el programa con una función de conversión entre los dos tipos de ficheros para poder aprovechar toda la información proporcionada por esos ficheros existentes.

Page 57: SpecMusic Libre

57

1) Editar un fichero de espectro existente mediante un formato de texto preestablecido. 2) Entrar manualmente los datos siguiendo el mismo formato de texto. 3) Obtener el espectro a partir de una onda WAVE existente. 4) Obtener el espectro a partir de una escala con la que esté relacionada. Para poder realizar estas operaciones será necesario definir el formato de texto en el que deberá

representarse el espectro de una manera inteligible para el usuario. Además, deberán implementarse los siguientes algoritmos:

• Conversor de formato espectro a formato texto. • Conversor de formato texto a formato espectro, inverso al anterior. • Conversor de ondas WAVE a espectros. • Conversor de escala a espectro157.

Los espectros pueden representarse mediante un gráfico que visualice las rayas espectrales en un eje de frecuencias. También puede aplicársele funciones para calcular y dibujar su curva de disonancia así como una secuencia muestreada que se corresponda con el modelo de rayas espectrales del espectro. En este caso, las tres opciones están programadas.

1.8 Partituras

La partitura podrá obtenerse únicamente a través del mismo programa ya que se trata de un dato específico de él y no de ningún estándar. Por esta misma razón, será necesario definir la estructura y formato del fichero donde se guardará. Las opciones para poder obtener una partitura son:

1) Editar un fichero de partitura existente mediante un formato de texto preestablecido. 2) Entrar manualmente los datos siguiendo el mismo formato de texto. 3) Obtener la partitura a partir de una secuencia MIDI existente. Para poder realizar estas operaciones será necesario definir el formato de texto en el que deberá

representarse el espectro de una manera inteligible para el usuario. Además, deberán implementarse los siguientes algoritmos:

• Conversor de formato partitura a formato texto. • Conversor de formato texto a formato partitura, inverso al anterior. • Conversor de secuencias MIDI a partituras.

Las partituras son los datos que se utilizarán para la evaluación que se realizará a través de dos gráficos:

1) Un gráfico que presente las afinaciones de entrada y salida mediante una tabla 2) Otro gráfico correspondiente a la partitura de disonancia. También podrá aplicársele a las partituras algún otro procedimiento de medida de la consonancia

y disonancia de entre los estudiados en las páginas anteriores. Esto resultaría útil de cara a un estudio comparativo.

1.9 Ondas WAVE

La onda WAVE corresponde a la secuencia de muestras de una onda digitalizada que se guarda en un fichero WAVE (abreviatura de Waveform). Estos ficheros tienen una estructura estándar, al igual que los ficheros MIDI que es un tipo específico de un formato más genérico conocido como formato Riff. Estos ficheros también pueden editarse mediante programas adecuados de procesado de audio. De todos modos, y de la misma manera que para el caso de las secuencias MIDI, para tener que depender lo mínimo posible de software adicional, la onda WAVE debería poder obtenerse desde el mismo programa. Las posibles opciones son:

a) Editar un fichero de onda WAVE existente mediante un formato de texto preestablecido.

b) Entrar manualmente los datos siguiendo el mismo formato de texto. c) Entrar los datos a través de la entrada de audio estándar, o sea, a través de un

micrófono. d) Obtener la onda WAVE a partir de un espectro existente.

Para poder realizar estas operaciones será necesario definir el formato de texto en el que deberá representarse la onda WAVE de una manera inteligible para el usuario.

Además, deberán implementarse los siguientes algoritmos: • Conversor de formato WAVE a formato texto. • Conversor de formato texto a formato WAVE, inverso al anterior. • Conversor de espectros a ondas WAVE.

157 Este algoritmo quedará pendiente.

Page 58: SpecMusic Libre

58

• Grabador de ondas WAVE a través del micrófono. De todas maneras, debe tenerse en cuenta que la entrada manual resulta poco práctica por la

razón que antes hemos apuntado pero, a diferencia de las secuencias MIDI, no resulta excesivamente problemático el añadirla al programa.

Las ondas WAVE pueden representarse gráficamente como una simple onda digitalizada que dará una idea más clara de cara al usuario que los propios números con los que se habrá editado.

El programa también tendrá un reproductor multimedia a través del cual se podrá escuchar la onda, cosa que también será de particular interés.

Otra opción interesante sería poder obtener una onda WAVE desde un fichero MAT obtenido desde MATLAB ya que es un programa bastante adecuado para la edición y tratamiento de este tipo de datos y que, cada día más, trabaja conjuntamente con el lenguaje C++. No obstante, por razones prácticas, esta opción quedará pendiente para próximas versiones del programa.

1.10 Textos

El texto corresponde simplemente a una secuencia de caracteres o bytes que se guarda en un fichero con extensión “txt”. Se trata del mismo tipo de fichero que puede abrirse con el Bloc de notas de Windows o con cualquier otro editor de textos. Por tanto, estos ficheros no tienen ninguna estructura específica y de hecho pueden abrirse como tal cualquier fichero que se le ponga la extensión “txt”. La función de este tipo de documento es, como ya he dicho antes, guardar cualquier resultado del programa en forma de texto de cara a su posterior utilización en un procesador de textos. Esto, sin depender de software adicional. De todos modos, desde el programa, los textos pueden obtenerse de dos maneras:

1) Mediante la orden Guardar como texto del menú Archivo aplicada a cualquier dato numérico del programa, cualquier secuencia MIDI convertida a texto o a cualquier resultado numérico de las conversiones que permite el programa.

2) Editando el texto desde el mismo editor de textos del programa entrando los datos manualmente de la misma manera en que se haría en el Bloc de notas de Windows.

No habrá que definir ningún formato de fichero ni de representación. Tampoco habrá que definir ningún algoritmo de conversión ni ningún tipo de representación gráfica.

Page 59: SpecMusic Libre

59

IV. DESARROLLO DE LA APLICACIÓN

Para alcanzar el objetivo propuesto decidí desarrollar un software con toda la funcionalidad necesaria para poder realizar los trabajos de investigación así como todo lo necesario para entrar datos y evaluar resultados y también lo suficientemente abierto como para poder ser ampliado fácilmente en el futuro.

1. ESTRUCTURA GENERAL

1.1 Arquitectura de la aplicación

Teniendo en cuenta el diagrama expuesto necesitaré trabajar con los siguientes tipos de datos: escalas, espectros, partituras, secuencias MIDI, ondas WAVE y textos. Para ello implementaré una aplicación MDI que soporte seis tipos de documentos que asociaré respectivamente a cada uno de los tipos de datos. Cada uno de estos documentos soportará la funcionalidad necesaria para trabajar con cada uno de los respectivos tipos de datos. Para ello me basaré en lo que he expuesto en al apartado anterior. Además, siguiendo la estructura habitual de un programa de Windows, cada documento tendrá un menú propio para acceder cada una de sus funciones.

Teniendo en cuenta los seis tipos de documentos y la estructura habitual de una aplicación basada en las MFC158, crearemos las siguientes clases que formarán la estructura de la aplicación:

CSpecMusic

CMainFrame

CChildFrame

CSpecMusicDocEscala

CSpecMusicDocEspectro

CSpecMusicDocPartitura

CSpecMusicDocSecuenciaMIDI

CSpecMusicDocOndaWAVE

CSpecMusicDocTexto

CSpecMusicViewEscala

CSpecMusicViewEspectro

CSpecMusicViewPartitura

CSpecMusicViewSecuenciaMIDI

CSpecMusicViewOndaWAVE

CSpecMusicViewTexto

Las clases que soportan la funcionalidad de cada tipo de dato y que estarán incluidas en cada tipo de documento serán:

CEscala

CEspectro

CPartitura

CSecuenciaMIDI

COndaWAVE

CTexto

Las clases CGraphView (derivada de CView) y CchildSplitterFrame (derivada de la clase CMDIChildWnd) completan la estructura de la aplicación de tal manera que se crea una ventana divisible para los gráficos en los documentos que los requieren (espectros, partituras y ondas WAVE). Por otro lado, el resto de clases que se utilizan para las diversas representaciones gráficas son las siguientes:

CDibujo

CFigura

CCurva

CEjes

CNumeros

CRayas

CRed

CTabla CGrafico

CPuntero

158 Microsoft Fundation Classes. Para cualquier aclaración sobre las clases necesarias para la estructura de la aplicación

consúltense las referencias citadas en el apartado 1 de la bibliografía.

Page 60: SpecMusic Libre

60

Las clases principales son CDibujo y CFigura y de ésta última derivan el resto, las dos últimas no se usan por el momento.

En general, he intentado mantener al máximo posible un criterio y estructuras unificadas para cada uno de los tipos de documentos que he trabajado (especialmente para las funciones comunes relacionadas con las funciones de edición y conversión) aunque cada uno de ellos, evidentemente, tendrá sus propias particularidades.

1.2 Criterio de denominación de funciones

Teniendo en cuenta la estructura más o menos unificada para los tipos de documento expondré, a modo de resumen, las denominaciones de las principales funciones dedicadas las tareas comunes de edición, almacenamiento, conversión y representación gráfica. Seguidamente, estudiaré cada tipo de documento por separado y expondré con más detalle las particularidades de cada una de estas funciones en cada tipo de documento así como su implementación. Más que nada, se trata de concretar la terminología a usar en la posterior exposición de las funciones de los documentos.

En referencia a las funciones necesarias para el almacenamiento de datos o gestión de ficheros, tenemos lo siguiente:

a) La función Abrir es la encargada de abrir el fichero de almacenamiento de datos. Se trata de una función, a veces sobrecargada, que actúa de manera diferente según el argumento que se le pase. Si se pasa un argumento entero se abre un fichero asociado a él y que ha sido escogido entre los documentos que el programa da por defecto; si se pasa un string, se abre el fichero con el nombre indicado por el argumento. Para el primer caso, una vez que se tiene el nombre del fichero escogido, éste se toma como parámetro de la segunda función y se le llama automáticamente. Esta segunda función llama a la función Serialize en modo load.

b) La función Serialize es la encargada de serializar los datos de un fichero aprovechando la estructura de aplicación que proporcionan las MFC. Esta función también es llamada cuando ha de salvarse el documento, en este caso, es llamada en modo store. Es en esta función donde queda reflejada la estructura del fichero de datos.

En referencia al almacenamiento de datos debe recordarse que, para cada uno de ellos, deberá definirse el formato que deberá tener el fichero a no ser que utilicemos algún tipo de fichero estándar (como es el caso de las secuencias MIDI, las ondas WAVE y los ficheros de texto).

En referencia a las funciones de conversión tenemos lo siguiente: a) La función Conversion será la encargada de realizar las conversiones entre las diferentes

representaciones que puedan aplicarse a cada tipo de documento. También hay que tener en cuenta que, la aplicación de los algoritmos de afinación las he considerado como una función de conversión para los documentos partitura y secuencia MIDI. Cada resultado de cada tipo de conversión tendrá una manera adecuada para ser representado en forma de texto. Después de realizarse el cálculo deberán editarse los resultados adecuadamente.

Las funciones de conversión se llaman a partir de la orden del menú Conversión y los parámetros son introducidos mediante un diálogo que se presenta seguidamente.

En referencia a las funciones de edición tenemos lo siguiente: a) La función Editar se encarga de convertir los datos guardados en la estructura del

documento a un formato de texto más inteligible para el usuario y que después será utilizado por las funciones de la clase vista para poder ser visualizado en la caja de texto del editor. Esta función es llamada después de abrir un fichero o después de aplicar una función de conversión y actúa de manera diferente según el caso. Para el primer caso toma una representación por defecto y para el segundo toma la representación que vendrá dada por los parámetros de la función de conversión.

b) La función Entrar se encargue del proceso inverso al de la función Editar, o sea, convierte un texto introducido por el usuario a través de la caja de texto del editor en el formato adecuado que los datos introducidos puedan guardarse en las variables de la clase que define la estructura del documento.

En referencia a las funciones de edición de los datos debe recordarse que, para cada uno de ellos, deberá definirse el formato adecuado para cada tipo de representación que nos interese. Una vez se ha obtenido el texto del documento, éste se guarda en el buffer de texto de la clase correspondiente y, más tarde, es leída por la vista159.

159 La función Visualizar, miembro de la clase vista correspondiente, se encarga de visualizar el texto obtenido en la caja de

texto del editor.

Page 61: SpecMusic Libre

61

Siguiendo la estructura habitual de los programas para Windows, el menú de cada documento proporciona las funciones de edición típicas: Deshacer, Copiar, Cortar y Pegar, funciones que son controladas por la clase vista correspondiente al documento.

En referencia a las funciones de representación gráfica tenemos lo siguiente: a) Para dibujar los gráficos, la función OnDibujar de la clase derivada de CDocument, la cual

es llamada desde la clase vista correspondiente, crea un puntero a la clase CGraphView, inicializa sus variables para determinar qué gráfico ha de dibujar (dependiendo del tipo de documento y su representación), le pasa los datos necesarios del documento y llama a la función OnGrafico, miembro de la clase CGraphView. Ésta función realiza ciertas operaciones para posibilitar la visualización de los gráficos y crea el gráfico utilizando el resto de clases establecidas para ello (las que he numerado en el apartado anterior) en función de los parámetros que ha recibido la clase CGraphView.

Todos los tipos de documento tienen varios tipos de constructor además del constructor por defecto que no tiene parámetros. No obstante, muchos de estos constructores no se usarán por ahora pero pueden ser de utilidad en futuras aplicaciones160. En los apartados sucesivos enumeraré los constructores concretos que he programado para cada tipo de documento.

1.3 Otras funciones

Cada tipo de documento tendrá, además, otras funciones específicas que comentaré para cada caso concreto en los apartados siguientes. A modo de resumen, las enumeraré a continuación:

1) Funciones de cálculo: a. Diversas funciones de cálculo específicas de cada caso concreto y que son llamadas

por el resto de funciones. 2) Funciones de conversión entre diferentes tipos de documento:

a. Conversión entre espectros y escalas161. b. Conversión entre ondas WAVE y espectros. c. Conversión entre partituras y secuencias MIDI.

3) Funciones de evaluación: a. Partituras de disonancia. b. Evaluación de escalas162.

4) Funciones de creación de documentos nuevos. a. Creación de escalas.

5) Funciones multimedia. a. Grabación y reproducción de secuencias MIDI. b. Grabación y reproducción de ondas WAVE.

También se ha añadido un pequeño programa para realizar cálculos comunes con frecuencias e intervalos de escalas y que comentaré oportunamente dentro del apartado dedicado a las escalas.

Otras funciones que se podrían añadir pero que quedarán pendientes para otras versiones futuras son, por ejemplo, conversiones entre diversos formatos de ficheros de audio y música a través de los cuales podrían obtenerse ondas WAVE y secuencias MIDI.

Por otro lado se han añadido algunas funciones de carácter general y que corresponden a características habituales de los programas de Windows. En realidad, consisten en puros problemas de programación de las MFC y, por ello, las enumeraré sin entrar en más detalle:

• Ayuda del programa y diálogo Acerca de. • Funciones asociadas a las ventanas, proporcionadas por la misma estructura de la aplicación

(Nueva ventana, Cascada, Mosaico y Organizar iconos). • Ventana de presentación y programa de instalación. • Impresión de los textos y gráficos de los documentos. • Opciones del programa (ubicación de archivos, tipo de letra, colores...). • Guardar datos como mapas de bits. De todas estas funciones, en esta primera versión he implementado las tres primeras ya que son

las que proporciona la misma estructura de la aplicación MFC. El resto de ellas quedarán pendientes para futuras versiones del programa.

160 El criterio de unificación adoptado para todos los tipos de documento me ha llevado en algún caso, especialmente para las

secuencias MIDI, a especificar prototipos de constructores no programados dada su dificultad y su poca utilidad en esta versión del programa.

161 Sólo implementada la función de conversión de espectro a escala. 162 No implementada en esta versión.

Page 62: SpecMusic Libre

62

1.4 Asignación dinámica de memoria

En todos los algoritmos que creen un nuevo tipo de documento utilizaremos la asignación dinámica de memoria para aprovechar al máximo la memoria del sistema y evitar posiciones de memoria innecesarias o falta de memoria al tener que asignase una dimensión preestablecida. De esta manera pueden obtenerse documentos de cualquier tipo de dimensión.

Para ello se han creado una clase CLlse que soporta la funcionalidad de una lista de datos simplemente enlazada163 y que se corresponde perfectamente con cualquiera de los datos que hemos de tratar. La implementación para este procedimiento está expuesta en el apartado siguiente.

Falta comentar que en el caso de las secuencias MIDI no se usará este procedimiento ya que las mismas funciones que se usan para la creación de nuevas secuencias ya utilizan el procedimiento de asignación dinámica de memoria y lo hacen de una forma más complicada dada la existencia de diversos tipos de datos dentro del tipo de secuencia MIDI. No obstante crearé también la clase correspondiente de asignación dinámica de memoria que será utilizada para cuando se requiera la representación en forma de secuencia de bytes164.

En las funciones específicas para leer ficheros no será necesario este procedimiento ya que el mismo fichero acostumbra a dar la dimensión de los datos (así ocurre en los ficheros WAVE y así lo estableceré en los formatos de los ficheros de datos específicos de mi programa). En el caso de los ficheros de texto, la dimensión de los datos coincidirá con la dimensión del fichero la cual es fácilmente calculable si se usan las MFC. Para el caso de las secuencias MIDI el procedimiento es más complicado.

1.5 Implementación de las clases para la asignación dinámica de memoria

Se ha creado una clase CLlse que soporta la funcionalidad de la lista de datos simplemente enlazada. Para cualquier información adicional sobre la clase CLlse consúltese el fichero fuente y la bibliografía dada.

Para la creación de una lista de elementos nuevos de un cierto tipo tipo_documento correspondientes a un nuevo objeto de la clase de cualquiera de los documentos del programa que he implementado, he creado una clase adicional CLlseObjeto que se usará para obtener los nuevos elementos de cada tipo. Dicha clase debe contener al menos una variable del tipo CLlse y otra de tipo entero que haga referencia a la dimensión de la lista de elementos del nuevo objeto. La estructura de esta clase es la siguiente (a la que puede añadirse más funciones y variables si son necesarias como para el caso de la escala):

class CLlseObjeto { // Variables public: CLlse elemento; int dim; // Funciones generales public: CLlseObjeto::CLlseObjeto(); CllseObjeto::~CLlseObjeto(); void LiberarMemoria(); tipo_elemento *asignar (); private: void MostrarLista(); } Deben programarse también las funciones LiberarMemoria, asignar y MostrarLista. La función

asignar simplemente toma todos los valores de la lista creada y los asigna a los datos del nuevo objeto. El valor de la dimensión se toma de la variable dim. La función LiberarMemoria libera la memoria de la

163 Esta clase es una adaptación del programa ejemplo de lista lineal que se encuentra en F. J. Ceballos: “Estructuras

dinámicas”, en C/C++. Curso de programación, RA-MA Editorial, Madrid, 2002, pp. 493-499. El hecho de no haber usado una clase predefinida de las MFC se basa en el hecho de no corresponderse exactamente la funcionalidad obtenida con la que se necesitada.

164 Véase el apartado IV.5.11.

Page 63: SpecMusic Libre

63

lista creada cuando ya no es necesaria, o sea, cuando ya se han asignado los datos al nuevo objeto. La función MostrarLista muestra la lista completa de los valores165.

Para crear un nuevo objeto de una clase específica desde una función miembro de la clase del objeto en cuestión (actuar consecuentemente si se hace desde una función no miembro) debe seguirse el procedimiento que se expone a continuación:

Debe definirse un puntero dato a un valor del tipo de los elementos de la lista a crear (tipo_datos) inicializado a un valor nulo y un objeto NuevoObjeto de la clase CLlseObjeto cuya dimensión también se inicializará a cero.

Dentro de un bucle donde se irán procesando los nuevos datos debe incluirse: 1) Se asigna la memoria suficiente para el nuevo elemento de la lista. dato = (tipo_datos *)malloc(sizeof(tipo_datos)); if (dato == NULL) AfxMessageBox("Memoria insuficiente");

2) Se obtienen los datos correspondientes al elemento de la lista. 3) Se asigna el valor obtenido al nuevo elemento. dato = funcion (parametros);

4) Se añade el nuevo elemento a la nueva lista creada. NuevoObjeto.elemento.AnyadirAlFinal (dato);

5) Se aumenta de la dimensión de la lista. NuevoObjeto.dim++;

Una vez añadidos todos los datos nuevos (fuera del bucle): 6) Se asignan los valores del resto de variables del objeto. Esta operación, si es conveniente,

puede realizarse en otro momento a excepción de la variable de dimensión que se toma de la variable dim de la nueva lista una vez se conoce ya su valor definitivo, o sea, al final cuando se han obtenido todos los elementos de la lista.

valores = NuevoObjeto.asignar();

7) Se asignan los valores del nuevo objeto al vector del objeto creado al cual se le puede reservar la memoria suficiente ya que ese dato se conoce ahora y viene indicado por la variable dim de la lista nueva.

dim = NuevoObjeto.dim;

8) Se libera la memoria asociada al nuevo objeto que ya no es necesaria, los valores obtenidos están guardados en el nuevo objeto y se puede acceder a ellos de una forma más cómoda que a través de la lista.

NuevoObjeto.LiberarMemoria();

Para cada tipo de dato concreto, este procedimiento puede complicarse más o menos según su estructura y según la operación concreta que para cada uno deba realizarse pero el procedimiento general es el mismo. En consecuencia, para algunos tipos de datos se han tenido que añadir algunas funciones a la clase CLlseObjeto, por ejemplo para el caso de la escala, se han añadido estas funciones, se ha tenido que tener en cuenta la existencia de dos tipos de elementos, uno de tipo CRacional y otro de tipo double.

2. ESCALAS

2.1 Creación de escalas

El programa permite crear las escalas a través de su definición axiomática usando los algoritmos correspondientes y entrando los parámetros necesarios166. Esta operación se realiza mediante un diálogo al que se puede acceder mediante a través del menú. Los modelos de escalas que el programa soporta en el momento de su entrega son:

- Escala pitagórica. - Escala física. - Temperamento igual. - Temperamento mesotónico. Además, todo modelo de escala permite escoger un espectro sobre el cual se basará la

construcción de la escala. Esta funcionalidad está soportada por la clase CCreacion, derivada de CLlseEscala.

165 Para más información acerca de la implementación de estas funciones, consúltese la referencia en la que me he basado y que

está citada en la nota 163. 166 Se hace referencia a la definición de estos axiomas en el apartado II.3.9.

Page 64: SpecMusic Libre

64

2.2 Estructura

Las variables de la clase CEscala son las siguientes BOOL tipo; int dim; char *cabecera; CString szNomFichero; CString szNomEscala; CString szDatos[6]; double *valores; double *aux; CRacional *valores_rac; CRacional *aux_rac; char *texto_escala; static double nFrecLa3;

La variable booleana tipo indica si la escala es de tipo decimal o de tipo racional en cuyos casos

toma los valores 0 y 1 respectivamente. El constructor por defecto construirá una escala racional. La variable entera dim indica la dimensión de la escala o sea, el número de notas que compone

una octava o seudo-octava. La variable cabecera se usa para la lectura de los ficheros y corresponde a su cabecera. Las variables szNomFichero y szNomEscala contienen respectivamente el nombre del fichero y

de la escala. La variable szDatos[6] contiene la información necesaria para actualizar los datos representados

en la barra de diálogo de la ventana principal del programa. Las variables valores, aux, valores_rac y aux_rac son los punteros que contienen los valores de

la escala. La variable valores contiene los valores iniciales167 en el caso de una escala decimal y la variable valores_aux lo mismo para el caso de las escalas racionales. Las variables aux y aux_rac se utilizan para guardar valores convertidos utilizando una u otra según el tipo de dato que resulte (decimal o fracción respectivamente). La variable auxiliar racional sólo se usará para las escalas racionales pero la variable auxiliar decimal se usará para los dos tipos ya que las escalas racionales también pueden representarse mediante intervalos decimales o mediante frecuencias y distancias, las cuales se representan siempre por valores decimales.

La variable texto_escala es la variable que contiene el texto editado de una escala, tanto para los valores originales como para los valores convertidos. Es la variable que usa la clase vista para visualizar la escala en la caja de texto y en ella escribe el texto correspondiente la función de edición.

La variable estática nFrecLa3 contiene el valor de la frecuencia del la 3, tomada como referencia para todos los cálculos de frecuencias. Puede cambiarse a petición del usuario en diversos diálogos del programa por lo que se ha tomado una variable estática en vez de una constante. Por esta misma razón, será necesario asegurar su valor antes de ser usada ya que puede haber sido cambiada por el mismo o por otro objeto escala previamente. Su valor por defecto es el de 440 Hz.

2.3 Constructores

Aunque básicamente sólo se usa el constructor por defecto, he programado otros constructores para poder dar al programa más posibilidades de cara a una posible ampliación. Expongo a continuación los prototipos de sus funciones y un breve comentario:

CEscala::CEscala ()

Constructor por defecto, que crea una escala de dimensión cero, tipo 1 (racional) y con sus punteros nulos.

CEscala::CEscala (int d, BOOL t)

Constructor que crea una escala de dimensión d y tipo t (1 o racional por defecto) CEscala::CEscala (double a[], int d)

Crea una escala de tipo 0 (decimal) y de dimensión d desde un vector en estilo C que contiene los valores decimales.

CEscala::CEscala (CRacional a[], int d)

Crea una escala de tipo 1 (racional) y de dimensión d desde un vector en estilo C que contiene los valores racionales.

167 Entenderé por valores iniciales los que contiene la escala al crearse y que corresponden a los valores expresados según su

representación por defecto, es decir, intervalos referidos a una nota de referencia (decimales o fracciones según el tipo de escala).

Page 65: SpecMusic Libre

65

CEscala::CEscala (const CEscala& esc)

Constructor copia, crea una escala con los valores de otro objeto escala. void CEscala::VaciarEscala()

Vaciar escala, libera la memoria ocupada por los punteros e inicializa las variables a los valores por defecto (dimensión 0 y tipo 1).

CEscala::~CEscala()

Destructor, libera la memoria ocupada por el objeto escala. Añadiré la definición de dos operadores especiales para la clase CEscala: double &CEscala::operator() (int i)

Operador paréntesis: permite el acceso a los valores por vía de un índice en el caso de escalas decimales.

Ejemplo: a(1) = 2*b(2). CRacional& CEscala::operator[] (int i)

Operador corchete: permite el acceso a los valores por vía de un índice en el caso de escalas racionales.

Ejemplo: a[1] = 2*b[2]. CEscala &operator=(const CEscala &);

Operador de asignación: permite inicializar un nuevo objeto con los valores de otro de la misma clase ya existente.

Funciones para inicializar valores por defecto (versiones para los dos tipos de escala): void CEscala::set(double value) void CEscala::set(CRacional &value)

2.4 Asignación dinámica de memoria

La estructura concreta para la asignación dinámica de memoria para el caso de la escala corresponde a la clase CLlseEscala. Su implementación es la siguiente:

class CLlseEscala { // Variables public: CLlse intervalos; int dim; // Funciones generales public: CLlseEscala::CLlseEscala(); CLlseEscala::~CLlseEscala(); void LiberarMemoria(); CRacional *asignar_rac (); double *asignar (); private: void MostrarLista(); }

2.5 Obtención del documento

Una escala puede obtenerse abriendo un fichero existente mediante la opción Abrir del menú Archivo.

Además, la opción Nuevo del menú Archivo abre un diálogo que da a escoger entre las posibles maneras de obtener una escala:

1) Entrando los datos manualmente desde el editor. 2) A partir de un espectro existente guardado en un fichero. 3) Mediante los parámetros de definición en un diálogo creado para crear cualquier tipo de

escala de entre unos cuantos modelos propuestos. Para el primer caso, el usuario deberá introducir los datos siguiendo las normas establecidas por

el formato de edición por defecto para que la función Entrar pueda interpretar el texto introducido en la caja de texto del editor.

La obtención de la escala a partir de un espectro requiere este dato como parámetro y puede ser escogido entre los espectros que el programa da por defecto o entre los ficheros existentes que pueden haber sido creados por el usuario previamente.

Page 66: SpecMusic Libre

66

El programa editará la escala obtenida siguiendo el algoritmo propuesto por W. A. Sethares y que está expuesto brevemente en el apartado teórico168. La forma de edición es la representación por defecto, o sea, intervalos referidos a una nota de referencia.

La obtención de una escala a través de sus parámetros se realiza a través de un diálogo específico donde pueden introducirse todos los parámetros necesarios para el modelo de escala escogido. Éste pretende ser el editor de escalas por defecto donde el usuario puede introducir los datos de una forma más cómoda. Si la escala a entrar no coincide con ninguno de los modelos propuestos, a través del editor normal se podrá introducir cualquier tipo de escala.

Los prototipos de las funciones utilizadas son los siguientes: bool Serialize (CArchive &ar); bool AbrirFichero (int IdEscala); bool AbrirFichero (CString NombreFichero); void EntrarEscala (CString Texto); CEscala *CEspectro::ObtenerEscala(); CEscala *CCreación::ObtenerEscala ( CEspectro *pEsp, int TipoEscala, int nNivel, int nOrg1 = -3, int nOrg2 = -1, int nCoefOctava = -2, int nCoefQuinta = 4, CString sVSint = "4, 3",

double nPendiente = 0.5, double nDistancia = 3.5, int nDimBase = 2, int nDimSet = 12, int *pVectores = NULL);

2.6 Formato del fichero

El fichero de escala tiene una extensión “scl” y su formato es el siguiente: 1) Una cabecera formada por los cuatro caracteres “Scal” (4 bytes). 2) Un valor booleano (4 bytes) que representa el tipo de escala: racional (valor 1) o decimal

(valor 0). 3) Un valor entero (4 bytes) que representa la dimensión de la escala (o sea, el número de

notas). 4) Los datos de la escala (intervalos) guardados mediante valores reales (double o 8 bytes) para

el caso de los temperamentos o mediante dos valores enteros (4 bytes) correspondientes al numerador y denominador de la fracción que representa cada intervalo en el caso de una afinación.

Por tanto, teniendo en cuenta que, tanto en un caso como en otro, cada intervalo ocupa 8 bytes, el fichero tiene una extensión en bytes que viene dada por la expresión

, siendo dim la dimensión de la escala.

El programa lee los datos del fichero teniendo en cuenta los dos parámetros y después de comprobar que se trata de un fichero válido si los primeros 4 bytes corresponden con la cabecera. Cualquier dato que haya después del número de bytes que la expresión anterior determina es ignorado por el programa.

2.7 Formatos de edición

Según lo que he expuesto en el apartado teórico acerca de las escalas, cualquier tipo de escala puede representarse de diversas maneras:

1) Mediante frecuencias, opción que requiere fijar el valor de la frecuencia del la 3. 2) Mediante intervalos referidos a una nota más grave. 3) Mediante intervalos consecutivos. 4) Mediante distancias, opción que requiere un parámetro adicional para la unidad de medida. Por otro lado, hay que tener en cuenta que las escalas racionales podrán representarse tanto por

fracciones como por números decimales; en cambio, las escalas decimales sólo podrán representarse mediante números decimales o mediante su expresión exacta, si existe o se conoce. Las distancias

168 Véase el apartado II.4.3.4.

Page 67: SpecMusic Libre

67

también son números irracionales y también pueden representarse mediante números decimales o mediante su expresión exacta.

Para poder representar fracciones he tenido que crear una clase adicional para trabajar y operar con ellas y que he llamado clase CRacional169. Para el caso de los números irracionales, no he implementado ninguna clase que soporte las expresiones exactas que, normalmente, incluyen las raíces n-ésimas y los logaritmos para el caso de las distancias.

Entonces, para las tres últimas de las opciones propuestas al principio, debe existir otra opción exclusiva de las escalas racionales que permita representarlas en forma de fracciones o de números decimales.

El primer problema que se plantea es el de decidir qué tipo de representación debe tomarse por defecto, o sea, la que debe aplicarse en el momento de la creación del documento. Escogí la opción de los intervalos referidos a una nota más grave por ser la manera más común y la más cercana a la definición. Además, como que la representación mediante la expresión exacta, a parte de ser exacta, es la que da una idea más cercana a la definición, decidí utilizarla por defecto para el caso de las escalas racionales. La función de conversión se encargará de visualizar el resto de representaciones posibles y que pueden ser útiles para el usuario en ciertos momentos.

Para el caso de las distancias, el programa soporta las siguientes unidades de medida: Octavas, tonos temperados, semitonos temperados, tercios de tono, cuartos de tono, sextos de

tono, merides (Sauveur), commas de Holder, Savart (savarts), heptamerides (Sauveur), centitonos (Yasser), milioctavas (Herschel) y logaritmos de Savart, cents (Ellis), decamerides (Sauveur), commas pitagóricas, commas sintónica y schismas.

Una posible ampliación podría incluir una opción en el menú que diera la posibilidad al usuario de escoger el tipo de representación por defecto, la unidad por defecto tomada para la representación de las distancias e, incluso, poder añadir alguna medida de distancia definida por él mismo.

Además de todo esto, las escalas pueden representarse en cualquier octava y transportarse a cualquier tonalidad y modalidad170. También es posible cualquier combinación de estos cambios con las opciones anteriores. Las representaciones por defecto corresponderán a la octava de índice 3 y al modo y tono de do.

La función Editar se encargará de obtener el texto correspondiente a la opción por defecto o a otra que se haya escogido y la función Entrar se encargará de interpretar el texto introducido por el usuario en el formato por defecto. Los datos se guardarán en las variables de la estructura de la clase CEscala según su representación por defecto, o sea, intervalos referidos a una nota grave y en forma de fracción si la escala es racional.

2.8 Entrada de datos

La representación de la escala consiste en una columna de números decimales o fracciones separados por el carácter Enter y terminados por el mismo carácter. Debe tenerse en cuenta que la edición de fracciones requiere la edición de dos números enteros separados por el carácter de barra inclinada. El caso de las fracciones es exclusivo para la representación de intervalos de escalas racionales.

Para entrar manualmente una escala debe tenerse en cuenta que la representación por defecto es la de los intervalos referidos a una nota grave y, para el caso de las escalas racionales, su representación con fracciones. Entonces, según lo expuesto en el párrafo anterior, el usuario debe introducir cada intervalo en una línea distinta (pulsando la tecla Enter para cambiar de línea), sin dejar ninguna línea en blanco y terminando con una línea en blanco (o sea, pulsando la tecla Enter). El programa determinará automáticamente el tipo de escala y su dimensión. El tipo de escala lo determina comprobando la existencia o no de algún carácter ‘/’ (barra inclinada) en la primera línea y su dimensión la determina contando el número de líneas. El editor, en principio, acepta cualquier tipo de carácter pero el programa dejará de funcionar correctamente si se introduce algún carácter falso o bien no se siguen estas normas.

Los únicos caracteres que se podrán introducir serán: • Caracteres numéricos (‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’). • Punto (‘.’) (decimal) o barra inclinada (‘/’) pero no los dos a la vez (los números racionales se

definen como cociente de números enteros). • Guión (‘-‘) (sólo para el caso de las distancias después de la correspondiente función de

conversión). • Carácter Enter.

169 Esta clase es una adaptación de la clase CRacional propuesta como ejemplo en F. J. Cevallos: “Operadores sobrecargados”,

en Programación orientada a objetos con C++, RA-MA Editorial, Madrid, 1997, capítulo 5, pp. 170-175. 170 Para cualquier aclaración sobre el tema, consúltense las referencias citadas en el apartado 8 de la bibliografía.

Page 68: SpecMusic Libre

68

2.9 Implementación de la función de conversión

En el apartado previo sobre conceptos ya he definido las posibles maneras de representación de las escalas y he calculado también las expresiones que convierten de un tipo de representación a otra. Todas estas operaciones estarán controladas por una función de conversión que podrá ser llamada desde el menú de la aplicación. Los parámetros de la conversión podrán introducirse desde un diálogo que se abrirá después de dar la orden al menú. El diálogo tendrá unos parámetros por defecto para evitar posibles errores y permitir más comodidad y rapidez en los cálculos comunes. Será entonces, desde la clase vista (clase CSpecMusicViewEscala) cuando se llamará a otra función implementada en la propia clase CEscala y que será la encargada de realizar los cálculos. Una llamada posterior a las funciones de edición permitirá editar el resultado obtenido.

Los valores de la escala que se han obtenido inicialmente están guardados en las variables normales (valores y valores_rac, dependiendo del tipo de escala). Los resultados de cualquiera de las operaciones de conversión se guardarán en las variables auxiliares (valores_aux y aux_rac). Todos estos valores son números reales o racionales por lo que sea han tomado punteros a vectores de tipo double y CRacional respectivamente.

El prototipo de dicha función de conversión será la siguiente: int CEscala::conversion (int octava, int modo, int tono, int

opcion1, int opcion2, int opcion3);

La variable opcion1 indica el tipo de conversión a realizar dependiendo de su valor. El criterio adoptado es el siguiente:

Valor 0: representación en frecuencias, Valor 1: representación en relaciones numéricas (números decimales), Valor 2: representación en distancias, Valor 3: representación en fracciones.

La variable opcion2 indica si la conversión es a intervalos referidos a una nota (valor 0) o intervalos consecutivos (valor 1).

La variable opcion3 indica la unidad de medida para las distancias, también según el valor que tome. Éste es su criterio:

Caso 0: Octavas; Caso 1: Tonos temperados; Caso 2: Semitonos temperados; Caso 3: Tercios de tono; Caso 4: Cuartos de tono; Caso 5: Sextos de tono; Caso 6: Merides (Sauveur); Caso 7: Commas de Holder; Caso 8: Savarts (Savart); Caso 9: Heptamerides (Sauveur); Caso 10: Centitonos (Yasser); Caso 11: Milioctavas (Herschel); Caso 12: Cents (Ellis); Caso 13: Decamerides (Sauveur); Caso 14: Commas pitagóricas; Caso 15: Commas sintónicas; Caso 16: Schismas.

Las variables octava, modo y tono indican los cambios de octava, modo y tono respectivamente. Sus valores por defecto son 3, 0 y 0 que indican octava de índice 3, modo y tono de do respectivamente.

El funcionamiento de la función de conversión es el siguiente: 1) Toma los valores de las variables principales, en la forman es que están guardados en la

estructura de la clase CEscala, es decir, en la representación por defecto. 2) Realiza los cambios referentes a las variables de octava, modo y tono y guarda los valores

en las funciones auxiliares desde donde se leerán y guardarán de nuevo para hacer las conversiones referentes al resto de representaciones.

3) Realiza todas las conversiones relativas a la forma de representación en frecuencias171, intervalos (consecutivos o referidos a una nota más grave) o distancias (incluyendo la medida escogida para el cálculo de la distancia) y vuelve a guardar el resultado en las variables auxiliares.

171 Para el cálculo de las frecuencias es necesario fijar el valor de la frecuencia del La 3 lo cual puede hacerse también a través

del diálogo pero no es necesario pasarla como parámetro en las funciones de conversión porque se trata de una variable estática. Su valor por defecto es de 440 Hz. Véase el apéndice 3.

Page 69: SpecMusic Libre

69

4) Devuelve un valor entero que depende de la conversión que se ha hecho y que será usado por la función de edición para conocer la manera en que ha de crear el texto correspondiente.

Para la conversión de octava, modo y tono, la función comprueba primero si los valores de las variables son los valores por defecto en cuyo caso se limitará a hacer una copia de los datos en las variables auxiliares y ya no realizará ninguna conversión de octava, modo o tono. En caso contrario, se realizarán las conversiones siguiendo las expresiones matemáticas que las definen y que se han expuesto en el apartado teórico. Los datos convertidos se guardarán en las variables auxiliares. En los dos casos, se ha comprobado el tipo de escala (números racionales o decimales) para tomar unas variables u otras.

Para la representación de los intervalos, frecuencias o distancias se llama a otra función de que también devuelve un valor entero que se usará para la edición de los valores calculados. Su prototipo es:

int CEscala::conversion (int opcion1, int opcion2, int opcion3)

Esta función comprueba que la conversión de fracciones a relaciones numéricas decimales no se realice para escalas que no sean representables por fracciones ya que ésa es su representación por defecto. En caso de error, cambia el valor de la opción de 1 a 3. También calcula el valor que ha de devolver la función y que será usado por la función de edición según se hayan de representar números decimales o fracciones.

La variable opcion3 se usa sólo para las funciones de conversión a distancias y representa la unidad de medida.

Las funciones que se llaman según los valores de las variables opcion1 y opcion2 son: if (opcion1 == 0) conversion_frecuencias (); else if (opcion1 == 1 && opcion2 == 0) conversion_relaciones (); else if (opcion1 == 1 && opcion2 == 1) conversion_relaciones_pequenas(); else if (opcion1 == 2 && opcion2 == 0) conversion_distancias (opcion3); else if (opcion1 == 2 && opcion2 == 1) conversion_distancias_pequenas (opcion3); else if (opcion1 == 3 && opcion2 == 0); else if (opcion1 == 3 && opcion2 == 1) conversion_intervalos_pequenos ();

Describiré mínimamente los cambios que realiza cada una de estas funciones. Todas estas

funciones toman la información de las variables auxiliares ya que pueden haber sido ya modificados los valores originales. Tras esta operación, se vuelven a guardar los resultados en las mismas variables. Para todas estas operaciones se aplican los algoritmos expuestos en el apartado teórico.

La función void CEscala::conversion_intervalos_pequenos ()

convierte los intervalos representados en referencia a una nota en intervalos representados consecutivamente.

La función void CEscala::conversion_relaciones ()

comprueba que la escala sea representable por fracciones y convierte sus valores a intervalos representados por números decimales.

La función void CEscala::conversion_relaciones_pequenas ()

realiza las dos operaciones anteriores juntas: conversion_intervalos_pequenos (); conversion_relaciones ();

La función void CEscala::conversion_frecuencias ()

aplica el algoritmo apropiado a las variables auxiliares guardando el resultado en forma de números decimales tanto si las escalas son representables por fracciones o no.

La función void CEscala::conversion_distancias (int opcion)

aplica la función de distancia a los valores de los intervalos. Igual que en el caso anterior, los resultados se guardan en forma decimal independientemente del tipo de escala. Esta función tiene como parámetro la variable que indica la unidad de medida de la distancia.

Page 70: SpecMusic Libre

70

La función void CEscala::conversion_distancias_pequenas (int opcion)

realiza las siguientes operaciones seguidas: conversion_intervalos_pequenos (); conversion_distancias (opcion);

Cada una de estas funciones realiza el algoritmo de conversión dentro de su propia implementación y sólo la función que convierte a distancias utiliza una función de cálculo adicional cuyo prototipo es:

double CEscala::distancia (double intervalo, int opcion)

2.10 Implementación de la función de edición

El prototipo de la función de edición es el siguiente: void EditarEscala (int manera);

Se presenta ahora un problema que consiste en saber qué tipo de representación tiene que aplicarse en el momento de la edición de los datos ya que esta se puede producir después de la creación del documento (por apertura de un fichero), en cuyo caso se edita según la representación por defecto, o bien después de una función de conversión.

Para solventar dicho problema, se ha añadido a la función de edición un parámetro manera que determina la manera en que se ha de editar o representar la escala y que dependerá del tipo de escala además de la operación que se haya realizado previamente. De la misma manera, las funciones de conversión devolverán un valor entero que se tomará como parámetro de la función de edición.

Así pues, definiremos una correspondencia entre los valores del parámetro manera y el tipo de representación que deberá adoptar la función de edición. El criterio adoptado es el siguiente:

Si manera = 0, editar valores (valores decimales por defecto). Si manera = 1, editar valores_rac (valores racionales por defecto). Si manera = 2, editar aux (valores decimales convertidos, frecuencias o distancias). Si manera = 3, editar aux_rac (valores racionales convertidos). Esta función convierte los datos de los punteros correspondientes en una cadena de caracteres

guardada en la variable texto_espectro creada para tal fin y que después será usada por la clase vista para presentarla en la caja de texto del editor.

Siempre se termina el texto con un carácter nulo para evitar que el programa añada caracteres indeseados al final del texto editado.

2.11 Otras funciones de cálculo

A parte de las funciones de conversión se han programado otras funciones para cálculos de frecuencias, relaciones numéricas o distancias que se usan desde otros lugares. La diferencia es que no actúan sobre todos y cada uno de los valores de la escala sino que se realiza el cálculo para un solo intervalo o nota que toman como parámetro. Sólo la función de distancia es utilizada por las funciones de conversión. Sus prototipos y descripciones son las siguientes:

La función estática void CEscala::CambiarFrecLa3 (double frec)

cambia el valor de la frecuencia del la 3 si así es indicado por el usuario. Este valor se usa para todos los cálculos de frecuencias y se guarda también en una variable estática.

La función double CEscala::frecuencia (int nota, int octava)

calcula la frecuencia de una nota que toma como parámetro (la nota queda definida por su nombre y octava).

La función double CEscala::relacion (int nota1, int nota2, int octava1, int

octava2)

calcula la relación numérica de un intervalo tomando como parámetros las dos notas que lo forman. El cálculo se realiza directamente calculando las frecuencias de las dos notas y dividiéndolas después.

La función CRacional CEscala::fraccion (int nota1, int nota2, int octava1,

int octava2)

toma de los valores originales de la escala la fracción correspondiente al intervalo que tiene como parámetro. Previamente se comprueba que la escala sea del tipo adecuado.

La función double CEscala::distancia (double intervalo, int opcion)

Page 71: SpecMusic Libre

71

calcula la distancia a partir del intervalo que tiene por parámetro (en forma de relación numérica decimal) y en función del parámetro de medida.

2.12 Representación gráfica

No se ha implementado ninguna función de representación gráfica para este documento.

2.13 Aplicación añadida para cálculos con escalas

Un pequeño programa, basado en un diálogo y accesible desde cualquier tipo de documento permite hacer los cálculos comunes para cualquier tipo de escala de afinación fija:

Los cálculos que puede realizar son: 1) Entrando una nota172 (nombre y octava), calcular su frecuencia. Este cálculo depende de la

frecuencia de referencia del la 3, valor que también podrá cambiarse con el diálogo. Su valor por defecto es de 440 Hz.

2) Entrando dos notas, calcular la relación numérica y la distancia. La relación numérica se dará siempre en forma decimal y, para el caso de las escalas racionales, se dará también su valor en forma de fracción.

Para estos cálculos será necesario escoger una escala, también mediante el mismo diálogo. La escala por defecto es el temperamento igual de 12 notas.

La implementación de este programa está basada en las funciones de cálculo ya descritas.

3. ESPECTROS

3.1 Conversión a secuencia

Falta definir las operaciones para el cálculo de una secuencia muestreada asociada a un modelo de rayas espectrales:

1) Escoger una función x[n] para modelar los picos. Tal función debe cumplir que y

. Es aconsejable que su ancho de banda BWP sea par.

Por defecto se ha tomado una función triangular pero, en un futuro, el usuario debería poder escogerla de entre varias existentes. Entonces

2) Escoger una frecuencia de muestreo, típicamente fm = 44 100 kHz173. Debe cumplirse

para evitar problemas de aliasing. BW corresponde al ancho de banda

del espectro que, a su vez, corresponde con la frecuencia de su último parcial fN. 3) Escoger un número de muestras M en función de la resolución que queramos conseguir.

Debe tenerse en cuenta que M ha de corresponder a una potencia entera de 2. 4) Obtener la secuencia de muestras como un “tren de deltas” equivalente al espectro

modelado. La posición de las deltas dentro de la secuencia es:

172 El programa permite cualquiera de los formatos de notas planteados. Véase el apartado IV.4.10 y los apéndices 1 y 2. 173 En el programa se han tomado las siguientes posibilidades para el valor de la frecuencia de muestreo:

a) 48 kHz (DAT). b) 44.1 kHz (CD). c) 32 kHz (DAT Long Play). d) 22.05 kHz (radio). e) 11.025 kHz. (Teléfono). f) 8 kHz (Teléfono).

Page 72: SpecMusic Libre

72

donde fk es la frecuencia de cada pico. La amplitud de cada pico es la misma que la raya espectral correspondiente.

5) Escoger un ancho de banda BWP para los picos modelados mediante la función escogida antes. Debe evitarse cualquier efecto de aliasing entre los picos. Para ello:

donde N es la dimensión del espectro, o sea, el número de picos que lo componen

y .

6) Aplicar el filtro mediante una operación de convolución:

.

3.2 Obtención desde una onda WAVE

La obtención del espectro a partir de una onda WAVE requiere este dato como parámetro que puede ser obtenido de entre los ficheros existentes. El programa abrirá y leerá el fichero obteniendo la correspondiente secuencia de la onda muestreada. Para ello usará las variables y las funciones de la clase COndaWAVE donde se guardará. Entonces, se aplicarán las siguientes operaciones:

1) Transformada de Fourier de la onda muestreada a partir de la cual se obtendrá la secuencia correspondiente al espectro muestreado.

2) Modelado espectral de la secuencia del espectro obtenida aplicándole un algoritmo de detección de picos.

La frecuencia de muestreo de la onda está incluida dentro de los datos del fichero WAVE. Tal parámetro corresponderá también a la frecuencia de muestreo del espectro obtenido en forma de secuencia y también será usado por el algoritmo de detección de picos. Los valores de las amplitudes y de la frecuencia fundamental serán obtenidas a partir de los datos de la onda. Será después cuando podrán normalizarse.

Para el cálculo de la transformada de Fourier he tomado un algoritmo existente y que he obtenido a través de Internet174. Tal algoritmo usa una clase CMatrix que simula una matriz que puede tener cualquier dimensión en donde se guardan los datos de las secuencias de entrada y salida del algoritmo de la transformada. El algoritmo para el cálculo de la transformada de Fourier es, lógicamente, la FFT175.

El algoritmo de detección de picos es el que se ha descrito en el apartado ¡Error!No se encuentra el origen de la referencia..

3.3 Estructura

Las variables de la clase CEspectro son las siguientes: int NPicos; int dim_aux; double *frecuencias; double *amplitudes; double *frec_aux; double *amp_aux; double *valores; char *cabecera; char *texto_espectro; CString szNomFichero; CString szNomEspectro; CString szDatos[6]; static int nFk;

La variable entera NPicos indica la dimensión del espectro o sea, el número de parciales de que

se compone. La variable entera dim_aux indica el tamaño de la curva de disonancia o de la secuencia de

muestras, según sea el caso. La variable cabecera se usa para la lectura de los ficheros y corresponde a su cabecera.

174 El código de este algoritmo se encuentra en ftp://ftp.mathworks.com/pub/books/garcia/edition2/Cpp/fft2.cpp . 175 Fast Fourier Transform.

Page 73: SpecMusic Libre

73

Las variables szNomFichero y szNomEscala contienen respectivamente el nombre del fichero y de la escala.

La variable szDatos[6] contiene la información necesaria para actualizar los datos representados en la barra de diálogo de la ventana principal del programa.

Las variables frecuencias, amplitudes, frec_aux y amp_aux son los punteros que contienen los valores del espectro. La variable frecuencias contiene los valores iniciales176 de las frecuencias de los parciales del espectro y la variable amplitudes contiene los valores iniciales de sus amplitudes. Las variables frec_aux y amp_aux se utilizan para guardar respectivamente los valores de las frecuencias y de las amplitudes cuando cualquiera de éstos ha sido convertido mediante la función de normalización. La variable valores se utiliza para guardar los valores de la secuencia que resulta de aplicar ciertas operaciones al espectro. Es el caso de los valores para su curva de disonancia y de los valores del espectro cuando es convertido a una secuencia muestreada.

La variable texto_espectro es la variable que contiene el texto editado del espectro, tanto para los valores originales como para los valores convertidos (normalizados, secuencia muestreada o curva de disonancia). Es la variable que usa la clase vista para visualizar la escala en la caja de texto y en ella escribe el texto correspondiente la función de edición.

La variable estática nFk contiene el valor de la frecuencia de muestreo del espectro usada para su conversión en secuencia muestreada o para su obtención desde una señal de audio. Puede cambiarse a petición del usuario en diversos diálogos del programa por lo que se ha tomado una variable estática en vez de una constante. Por esta misma razón, será necesario asegurar su valor antes de ser usada ya que puede haber sido cambiada por el mismo o por otro objeto escala previamente. Su valor por defecto es el de 44.100 kHz.

3.4 Constructores

Aunque básicamente sólo se usa el constructor por defecto, he programado otros constructores para poder dar al programa más posibilidades de cara a una posible ampliación. Expongo a continuación los prototipos de sus funciones y un breve comentario:

CEspectro();

Constructor por defecto, que crea una espectro de dimensión cero y con sus punteros nulos. CEspectro (int n);

Constructor que crea una espectro de dimensión n. CEspectro (int n, double a[], double b[] = NULL);

Crea un espectro de dimensión n desde dos vectores en estilo C que contienen los valores de las frecuencias y las amplitudes de cada raya espectral.

CEspectro (const CEspectro& esp);

Constructor copia, crea un espectro con los valores de otro objeto espectro. void VaciarEspectro ();

Vaciar espectro, libera la memoria ocupada por los punteros e inicializa las variables a los valores por defecto (dimensión 0).

virtual ~CEspectro();

Destructor, libera la memoria ocupada por el objeto espectro. Añadiré la definición de dos operadores especiales para la clase CEspectro: double &operator() (int i);

Operador paréntesis: permite el acceso a los valores de las frecuencias por vía de un índice. Ejemplo: a(1) = 2*b(2). double &operator[] (int i);

Operador corchete: permite el acceso a los valores de las amplitudes por vía de un índice. Ejemplo: a[1] = 2*b[2]. CEspectro &operator=(const CEspectro &);

Operador de asignación: permite inicializar un nuevo objeto con los valores de otro de la misma clase ya existente.

Función para inicializar valores por defecto: void set (double a[], double value);

3.5 Asignación dinámica de memoria

La estructura concreta para la asignación dinámica de memoria para el caso del espectro corresponde a la clase CLlseEspectro. Su implementación es la siguiente:

176 Entenderé por valores iniciales los que contiene el espectro al crearse ya sean o no normalizados.

Page 74: SpecMusic Libre

74

class CLlseEspectro { // Variables public: CLlse frec; CLlse amp; int dim; // Funciones generales public: CLlseEspectro::CLlseEspectro(); CLlseEspectro::~CLlseEspectro(); void LiberarMemoria(); double *asignar_frec (); double *asignar_amp (); private: void MostrarLista(); };

3.6 Obtención del documento

Un espectro puede obtenerse abriendo un fichero existente mediante la opción Abrir del menú Archivo.

Además, la opción Nuevo del menú Archivo abre un diálogo que da a escoger entre las posibles maneras de obtener un espectro:

a) Entrando los datos manualmente desde el editor. b) A partir de una onda WAVE existente guardada en un fichero. c) A partir de una escala existente guardada en un fichero. Para el primer caso, el usuario deberá introducir los datos siguiendo las normas establecidas por

el formato de edición por defecto para que la función Entrar pueda interpretar el texto introducido en la caja de texto del editor.

La obtención del espectro a partir de una onda WAVE requiere este dato como parámetro y puede ser escogido entre las ondas que el programa da por defecto o entre los ficheros existentes que pueden haber sido creados por el usuario previamente.

El programa editará el espectro obtenido siguiendo las técnicas habituales de procesado y que han sido expuestas brevemente al comienzo de este apartado. La forma de edición es la representación por defecto, o sea, modelo de rayas espectrales sin normalizar.

La obtención del espectro a partir de una escala determinada requiere este dato como parámetro y puede ser escogido entre las escalas que el programa da por defecto o entre los ficheros existentes que pueden haber sido credos por el usuario previamente.

Esta opción estará incluida en el programa pero no estará programada en el momento de su entrega. Ya que no es imprescindible de cara a una primera versión. El programa creará el espectro siguiendo el algoritmo propuesto por W. A. Sethares177.

Los prototipos de las funciones utilizadas son los siguientes: bool Serialize (CArchive &ar); bool AbrirFichero (int IdEspectro); bool AbrirFichero (CString NombreFichero); void EntrarEspectro (CString Texto); CEspectro *OndaWAVE::ObtenerEspectro();

3.7 Formato del fichero

El fichero de espectro tiene una extensión “spt” y su formato es el siguiente: 1) Una cabecera formada por los cuatro caracteres “Scal” (4 bytes). 2) Un valor entero (4 bytes) que representa la dimensión del espectro (o sea, el número de

parciales).

177 Véase W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997; o W. A. Sethares: “Local

consonance and the relationship between timbre and scale” en Journal of the Acoustical Society of America 94, nº 3 (september 1993).

Page 75: SpecMusic Libre

75

3) Los datos del espectro guardados mediante valores reales (double u 8 bytes) en el siguiente orden: primero los datos de las frecuencias y después los de las amplitudes de cada raya espectral.

Por tanto, el fichero tiene una extensión en bytes que viene dada por la expresión ,

siendo NPicos la dimensión del espectro. El programa lee los datos del fichero teniendo en cuenta el parámetro de dimensión después de

comprobar que se trata de un fichero válido si los primeros 4 bytes corresponden con la cabecera. Cualquier dato que haya después del número de bytes que la expresión anterior determina es ignorado por el programa.

3.8 Formatos de edición

Según lo que he expuesto anteriormente acerca de los espectros, a cualquier espectro puede aplicársele diversos cálculos:

a) Normalización de las frecuencias y/o las amplitudes. b) Asignación de una frecuencia y/o amplitud concreta. c) Obtención de una secuencia muestreada equivalente. d) Obtención de su curva de disonancia. La forma de edición por defecto, o sea, la que se edita cuando se obtiene el espectro, es el

modelo de rayas espectrales con o sin normalizar, dependiendo del valor que se haya obtenido para el primer pico.

La función Editar se encargará de obtener el texto correspondiente a la opción por defecto o a otra que se haya escogido y la función Entrar se encargará de interpretar el texto introducido por el usuario en el formato por defecto. Los datos se guardarán en las variables de la estructura de la clase CEspectro, también en su representación por defecto.

3.9 Entrada de datos

La representación por defecto del espectro consiste en dos columnas de números decimales cada una de las filas correspondientes corresponde a los valores de frecuencia y amplitud de cada uno de los parciales.

El usuario debe introducir un parcial en cada línea, sin dejar ninguna línea en blanco. Cada parcial contiene su frecuencia y su amplitud. Para cambiar de línea se usa la tecla Enter. La frecuencia y la amplitud se introducen en forma decimal o entera (si es el caso) en este orden y separados por el carácter de tabulación Tab. Para finalizar debe pulsarse otra vez la tecla Enter y acabar con una línea en blanco. El programa determinará automáticamente la dimensión del espectro contando el número de líneas. El editor acepta, en principio, cualquier tipo de carácter pero el programa dejará de funcionar correctamente si se introduce algún carácter falso o bien no se siguen estas normas.

Hay que tener en cuenta, también, que el usuario puede introducir los datos normalizados o no y el programa los guardará tal cual. Después podrán aplicarse operaciones de normalización.

Los únicos caracteres que se podrán introducir serán: - Caracteres numéricos (‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’). - Punto (‘.’) (decimal). - Carácter de tabulación Tab. - Carácter Enter.

3.10 Implementación de la función de conversión

En el apartado anterior ya he definido las posibles maneras de representación de los espectros y, anteriormente, había calculado también las expresiones que convierten de un tipo de representación a otra. Todas estas operaciones estarán controladas por una función de conversión que podrá ser llamada desde el menú de la aplicación. Los parámetros de la conversión podrán introducirse desde un diálogo que se abrirá después de dar la orden al menú. El diálogo tendrá unos parámetros por defecto para evitar posibles errores y permitir más comodidad y rapidez en los cálculos comunes. Será entonces, desde la clase vista (clase CSpecMusicViewEspectro) cuando se llamará a otra función implementada en la propia clase CEspectro y que será la encargada de realizar los cálculos. Una llamada posterior a las funciones de edición permitirá editar el resultado obtenido.

La forma en que el espectro se ha obtenido inicialmente puede estar o no normalizada y sus valores estarán guardados en las variables normales (frecuencias y amplitudes). Los resultados de cualquiera de las operaciones a) o b) anteriores se guardarán en las variables auxiliares y los resultados de

Page 76: SpecMusic Libre

76

las operaciones c) o d) se guardarán en la variable valores. Todos estos valores son números reales por lo que sea han tomado punteros a vectores de tipo double.

El prototipo de dicha función de conversión será la siguiente: int CEspectro::conversion (int opcion1, int opcion2, double amp,

double frec, int NMuestras, double BWPico);

La variable opcion1 indica el tipo de conversión a realizar dependiendo de su valor. El criterio adoptado es el siguiente:

Valor 0: normalización, Valor 1: asignación de valores, Valor 2: obtención de secuencia muestreada,

La variable opcion2 indica si la normalización o la asignación de valores (dependiendo del valor de opcion1) se realiza para las frecuencias (valor 0), para las amplitudes (valor 1) o para las dos cosas a la vez (valor 2).

Las variables amp y frec se utilizan para los casos 1 y 2 y corresponden a los valores a tomar para la frecuencia y la amplitud respectivamente. Por otro lado las variables NMuestras y BWPico se utilizan para el cálculo de la secuencia. El cálculo de la curva de disonancia, al igual que el de normalización, no requiere parámetro alguno. Para todas estas variables, se han tomado unos valores por defecto para evitar problemas. En el caso de la secuencia, el tipo de pico que se ha usado es el triangular pero futuras versiones del programa pueden incluir la opción de escoger el tipo de pico para realizar la conversión.

La implementación de la función de conversión está hecha de la siguiente manera: 1) Calcula un valor entero que será devuelto por la misma función de conversión para ser usado

como parámetro por la correspondiente función de edición. Tal valor está calculado en función del valor de los parámetros de opción y determina la forma en que se habrá de editar el resultado.

2) Toma los valores de las variables principales, o sea, en al forma en que se crearon originalmente (normalizados o no).

3) Realiza, para cada caso, las siguientes operaciones: a. Normalización: aplicar la función de normalización a las frecuencias, a las

amplitudes o a ambos valores dependiendo del valor de la variable opcion2. b. Asignación: aplicar la función de normalización y, posteriormente, la de asignación

a las frecuencias, a las amplitudes o a ambos valores dependiendo del valor de la variable opcion2.

c. Secuencia: aplicar la función correspondiente para el cálculo de la secuencia. 4) Guarda los resultados en las variables correspondientes: en el caso de normalización o

asignación las guarda en las variables auxiliares frec_aux y amp_aux y, para cada caso de la secuencia, en la variable valores.

Hay que tener en cuenta que las funciones de normalización serán usadas también para otros cálculos de la misma clase CEspectro o de otras clases y por eso se han definido como públicas. En concreto, la función que calcula la curva de disonancia realiza la normalización de frecuencias en algún momento de su implementación. Por otro lado, la función para la obtención de la secuencia así como la función para el cálculo de la curva de disonancia, llamarán a otras funciones de cálculo para realizar sus operaciones178.

Los prototipos de las funciones que son llamadas en cada caso son los siguientes: a) Funciones de normalización: void normalizacion_frecuencia (); void normalizacion_amplitud ();

b) Funciones de asignación: void asignacion_frecuencia (double frec); void asignacion_amplitud (double amp);

c) Obtención de la secuencia: void conversion_secuencia (int NMuestras, double BWPico);

Para el caso de la curva de disonancia no se llama a la función de conversión sino que se llama a esta otra:

void curva_disonancia ();

El resultado es una secuencia de valores que se guardan igualmente en la variable valores. Las funciones que llama son:

double medida_disonancia (double alpha); double CEspectro::minim (double a, double b);

178 Véase el apartado IV.3.12 donde se exponen estas funciones.

Page 77: SpecMusic Libre

77

Por otro lado, la función double medida_disonancia (double *alpha, int N);

se utiliza para realizar el mismo cálculo en el caso de aplicarse a un acorde de N notas.

3.11 Implementación de la función de edición

El prototipo de la función de edición es el siguiente: void EditarEspectro (int manera);

Se presenta ahora un problema que consiste en saber qué tipo de representación tiene que aplicarse en el momento de la edición de los datos ya que esta se puede producir después de la creación del documento (por apertura de un fichero), en cuyo caso se edita según la representación por defecto, o bien después de una función de conversión.

Para solventar dicho problema, se ha añadido a la función de edición un parámetro manera que determina la manera en que se ha de editar o representar la escala y que dependerá del tipo de escala además de la operación que se haya realizado previamente. En el caso de las funciones de conversión, la función devolverá un valor entero que se tomará como parámetro de la función de edición.

Así pues, definiremos una correspondencia entre los valores del parámetro manera y el tipo de representación que deberá adoptar la función de edición. El criterio adoptado es el siguiente:

Si manera = 0, editar frecuencias y amplitudes (valores originales, no se ha normalizado). Si manera = 1, editar frec_aux y amplitudes (se han normalizado sólo las frecuencias). Si manera = 2, editar frecuencias y amp_aux (se han normalizado sólo las amplitudes). Si manera = 3, editar frec_aux y amp_aux (se han normalizado las frecuencias y las amplitudes). Si manera = 4, editar valores (se ha convertido en una secuencia muestreada). Si manera = 5, editar valores (se ha calculado la curva de disonancia). Las funciones que se llaman para cada caso de edición son: a) Para el caso de edición del modelo de rayas espectrales:

void CEspectro::EditarEspectro(double*p_frec, double*p_ampl)

que toma por parámetros los punteros a editar según los que se hayan normalizado. El número de datos viene dado por la dimensión del espectro y no es necesario pasarlo como parámetro. En los otros dos casos, los datos se han guardado en el puntero auxiliar valores por lo que tampoco resulta necesario pasarlo como parámetro.

b) Para los casos de la secuencia muestreada y de la curva de disonancia: void CEspectro::EditarSecuencia ();

Esta función utiliza la variable dim_aux para saber el número de muestras de la secuencia muestreada o de la curva de disonancia.

Todas estas funciones convierten los datos de los punteros correspondientes en una cadena de caracteres guardada en la variable texto_espectro creada para tal fin y que después será usada por la clase vista para presentarla en la caja de texto del editor.

Siempre se termina el texto con un carácter nulo para evitar que el programa añada caracteres indeseados al final del texto editado.

3.12 Otras funciones de cálculo

A parte de las funciones de conversión se han programado otras funciones para cálculos que han de realizar las mismas funciones de conversión (entre las que se incluyen las dos funciones de normalización) o por otras funciones de la propia clase o de otra. Sus prototipos y descripciones son las siguientes:

La función estática static void CambiarFrecMuestreo (int frec);

cambia el valor de la frecuencia de muestreo si así es indicado por el usuario. Este valor se usa para el cálculo de la secuencia y se guarda también en una variable estática.

Funciones usadas en el cálculo de la curva de disonancia: La función double CEspectro::minim (double a, double b);

calcula el mínimo entre dos números reales a y b. La función double medida_disonancia (double alpha);

calcula la disonancia para un intervalo alpha. La función double medida_disonancia (double *alpha, int N);

Page 78: SpecMusic Libre

78

calcula la disonancia para todo el margen de intervalos de interés usando la función anterior. Funciones usadas para el cálculo de la secuencia muestreada: La función void tren_deltas (int NN);

obtiene la secuencia de NN muestras y que representa el tren de deltas al cual se le aplica después la función de convolución.

La función double *funcion (int BW, double (*pfn)(int));

calcula la función que modelará el pico correspondiente a cada raya espectral. La función void filtro (double *buffer, int N2, int N1);

aplica la función de convolución entre el tren de deltas y la función del pico para obtener el espectro muestreado y modelado mediante picos más reales.

3.13 Representación gráfica

Para el caso de los espectros tendremos tres tipos de representación gráfica: 1) El modelo de rayas espectrales, dibujado por defecto con el formato de edición habitual. 2) El espectro modelado por picos, dibujado cuando se convierte el espectro a una secuencia

muestreada. 3) La curva de disonancia, dibujada cuando ésta es requerida. El modelo de rayas espectrales corresponde simplemente a una serie de líneas verticales situadas

en las frecuencias correspondientes. Los identificadores para el modo de dibujo son ESPECTRO_MODELO (4) para el modelo

espectral, ESPECTRO_GRAFICO (5) para la representación del espectro en forma de secuencia muestreada y CURVA_DISONANCIA (6) para la curva de disonancia.

4. PARTITURAS

4.1 Definición

Se trata de una secuencia de acordes. Un acorde, en su definición musical más clásica es una serie de notas (3, 4 o 5 típicamente para acordes tríadas, cuatríadas o quintíadas, respectivamente) que pueden ordenarse mediante terceras sobrepuestas. Tal definición puede aplicarse con propiedad a partir del siglo XVIII después del tratado de Rameau. Antes de esto, lo que después se entendió por acorde sí existía pero era el resultado de la superposición de voces tratadas de forma independiente dentro de una textura más horizontal o pensada como tal. El concepto de acorde no existía. No hablemos ya de épocas anteriores donde la música se basaba en las consonancias perfectas y el intervalo de tercera era disonante.

El concepto que se conocía era el de intervalo armónico que, anteriormente se conocía simplemente como armonía, concepto hoy en día vinculado más a los acordes que a los intervalos armónicos. Es entonces cuando pudo emplearse el concepto de disonancia funcional. Hasta ahora el concepto de disonancia que reinaba era el de consonancia polifónica.

Posteriormente, el concepto de acorde se ha ido ampliando asociándolo más a funciones armónicas basadas en los grados de escala, se ha ampliado en su composición mediante notas extrañas y notas cromáticas. Después, ya más hacia el siglo XX se ha ampliado su concepto a la superposición de notas que forman cualquier intervalo y con él puede también cambiarse el concepto de disonancia, sobretodo el que hace referencia a la disonancia funcional y de contexto. Eso sí, sigue la idea de acorde como función tonal.

Podríamos entrar en otras corrientes musicales del siglo XX como la música serial (iniciada por Arnold Schoenberg), la música aleatoria (Yannis Xenakis) o electrónica (Karlheinz Stockhausen). En estos casos, el concepto de acorde no existe o, por lo menos, es diferente. No así Bela Bartók o Olivier Messiaen (exceptuando su parte de obra dedicada al serialismo integral y que resulta una evolución ampliada de la música serial creada por Schoenberg) cuyos acordes formados por segundas y otros intervalos armónicos disonantes, se basan en una teoría funcional en la que el acorde está definido como tal.

La idea de acorde como función tonal implica su extensión a varias notas, ya no sólo verticalmente, sino horizontalmente formándose varios intervalos armónicos en el transcurso de su realización.

Esto implica que, de cara al estudio de la disonancia sensorial, basada en cada intervalo armónico producido, es decir, basada en la consonancia polifónica, deben tenerse en cuenta todos y cada

Page 79: SpecMusic Libre

79

uno de los intervalos armónicos que se forman. Eso es, cada uno de los componentes de un conjunto de notas simultáneas. Cada vez que una de ellas cambia, al ritmo que sea, debe redefinirse los intervalos armónicos ya que, por lo menos alguno de ellos ha cambiado. Cada vez que se produzca un cambio, consideraremos un conjunto de notas simultáneas diferente, al ritmo que sea y variable. Consideraré, de cara al modelo que aplicaremos a los algoritmos de cálculo de la disonancia, un acorde simplemente como un conjunto de notas simultáneas que habrá de definirse cada vez que una de ellas cambie o cada vez que una de ellas desaparezca o se añada otra, al ritmo que sea.

Una definición más elaborada y más enfocada a la práctica que considere un acorde con una función tonal definida y, por tanto, las disonancias debidas a la ornamentación, notas de paso, etc... requeriría un análisis previo de la partitura que sería muy difícil realizarlo con el ordenador aunque se presenta como una propuesta futura de continuación.

A partir de esto, desde el punto de vista algorítmico definiremos una partitura como un conjunto de acordes (en la definición correspondiente), cada uno de ellos con una duración determinada y que puede estar formado por cualquier número de notas, incluidos los números 0 y 1 correspondientes respectivamente a momentos de pausas o momentos en los que sólo se oye una nota (unísono).

Se presenta otro problema de definición, el de las notas ligadas (o caso de movimiento de sólo alguna de las partes dentro de una textura polifónica). He decidido tomar cada acorde con las notas que está formado en su instante determinado, independientemente de si una de ellas se aguanta más tiempo o si venía ligada de otra igual en un instante (acorde) anterior. Los algoritmos de conversión entre partituras y secuencias MIDI ya tienen en cuenta este efecto a la hora de relacionarlo con los valores de los DeltaTime179. Por otro lado, el algoritmo adaptativo de W. A. Sethares también puede tener en cuenta este efecto a través del sliding pitch180.

Desde el punto de vista algorítmico, conviene definir matemáticamente el concepto de acorde con todas sus posibles representaciones de cara a definir un documento que contenga todas las variables necesarias para su correcto tratamiento informático dentro de la aplicación que estamos tratando.

Ya hemos dicho que un acorde es simplemente un conjunto de notas superpuestas que tiene definido un cierto intervalo de tiempo t correspondiente a su duración, o sea:

acorde = {notai, t, 0 <= i < N} donde N es el número de notas del acorde, valor que se asocia a su dimensión. N puede tomar cualquier valor natural incluido el cero (para las pausas).

Entonces, podemos definir la partitura como: partitura = {acordei, 0 <= i < M}

donde M es el número de acordes de la partitura, valor que se asocia a su dimensión. M puede tomar cualquier valor natural (el cero es, simplemente, una partitura o documento vacío).

Por defecto, un acorde se lee en sentido ascendente por lo que identificaremos la primera nota del acorde, o sea, f0 con el bajo (que no tiene porqué coincidir con su fundamental).

Matemáticamente pueden definirse las notas mediante su frecuencia181 por lo que el acorde puede definirse también así:

acorde = {fi, t, 0 <= i < N} Entonces, teniendo en cuenta la definición de relación numérica podemos realizar los siguientes

cálculos de conversión:

179 Véase el apartado IV.5 dedicado a las secuencias MIDI, en concreto el apartado IV.4.14 donde se expone la función que

obtiene una secuencia a partir de una partitura. Véase también el apartado IV.5.3 donde se expone la función inversa (obtención de una partitura desde una secuencia MIDI).

180 Tal procedimiento consiste en recalcular las afinaciones de las notas que ya han aparecido en el acorde previo provocándose así un efecto de glissando identificado como sliding pitch por W. A. Sethares en la exposición de su algoritmo (véase W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, capitulo 7, pp. 161-162). La opción opuesta consiste en mantener la afinación de la nota del acorde previo y calcular el resto de afinaciones en función de aquélla. Evidentemente, pueden considerarse citaciones intermedias de compromiso.

181 Eso implica la existencia de una frecuencia fundamental definida. En el caso que quisiéramos tratar partituras con instrumentos de sonido indeterminado (tratados como tales ya que pueden buscarse grados de indeterminación basados en una escala correcta) o música aleatoria, deberíamos todos los conceptos y crear una nueva aplicación para su estudio.

Page 80: SpecMusic Libre

80

Me referiré a cada una de la siguiente manera: Relaciones numéricas de los intervalos en referencia con el bajo (ri), relaciones numéricas expresadas de los intervalos considerados entre dos notas consecutivas (ri’) y distancias asociadas a las dos expresiones de las relaciones numéricas (δi y δi’).

Nótese que el acorde, expresado en intervalos, tendrá una dimensión igual a la que tenía expresado en frecuencias (notas) menos uno. Nótese también que la distancia siempre será positiva ya que estamos tratando intervalos armónicos182.

Pueden calcularse funciones de conversión entre ellos de forma similar a como se hizo para las escalas aunque no son utilizadas para el caso de los acordes de una partitura.

Debe remarcarse que todas estas definiciones podrán tenerse en cuenta una vez se haya asociado una afinación concreta para la partitura. También hay que tener en cuenta que, para el caso, de considerar escalas racionales, podrán definirse los intervalos mediante fracciones o mediante números decimales, al igual que para las escalas.

Cuando hay que realizar cálculos deben definirse una escala y un espectro asociados a la partitura. En futuras ampliaciones podrá definirse el espectro con las notas ya que el algoritmo contempla la posibilidad de aplicar dos notas con diferente timbre183.

Por otro lado, la partitura puede ser representada mediante los nombres de sus notas, podrá representarse de diversas maneras según la nomenclatura usada para las notas. En este sentido he definido una nota como su nombre, o sea, la altura, la duración está implicada en el acorde, dada la definición que de él hemos hecho. Las cualidades de intensidad no la contemplamos en nuestro trabajo aunque podríamos incluirla después (sí la incluye el formato MIDI). El timbre viene expresado para toda la partitura como su espectro asociado cuando hay que realizar cálculos.

El nombre de la nota quedará definido como su nombre según varias nomenclaturas y su índice acústico, teniendo en cuenta que, de momento, trabajamos con sistemas musicales basados en ciclos de dos dimensiones, como por ejemplo, nuestro sistema de quintas.

He tenido en cuenta en el proyecto las siguientes nomenclaturas para las notas (con su identificación en el código del programa) 184:

a) Nomenclatura musical (diferente en cada idioma): 1) Inglés (ENGLISH 1). 2) Alemán (GERMAN 2). 3) Francés (FRENCH 3). 4) Español (SPANISH 4). 5) Italiano (ITALIAN 5).

b) Nomenclatura numérica (NOTE 6). c) Nomenclatura MIDI.

1) En formato decimal (MIDI_DEC 7). 2) En formato hexadecimal (MIDI_HEX 8).

He tenido en cuenta en el proyecto las siguientes nomenclaturas para los índices acústicos o las octavas (con su identificación en el código del programa)185:

a) Nomenclatura inglesa (USA). b) Nomenclatura española (Francia-Bélgica). Para el caso de las alteraciones, debido a la existencia de la enarmonía, he considerado los seis

tipos de escala cromática y he asignado el número correspondiente a cada una del 1 al 6. Por defecto, he considerado la más habitual en nuestro ámbito musical, o sea, nomenclatura

musical en español, índices acústicos en español y tercer tipo de escala cromática186. Eso significa tomar los valores de 4, 2 y 3 respectivamente para las variables de edición Sistema, Octava y EscalaCrom.

La nomenclatura numérica o matemática es la que usa el programa por defecto para guardar los datos en la estructura CNota asociada a una nota. Se hace corresponder un número con cada nota de la escala. Esto soluciona problemas de enarmonía y nomenclaturas. Se trata de una nomenclatura estándar ya aplicada al estudio de las diversas escalas modales (no exactamente como aquí) en etnomusicología. Esta es la nomenclatura que he identificado como numérica en los modelos de nomenclatura de edición187.

182 Véase la definición de distancia expuesta en el apartado II.3.3. 183 Véase el apartado II.4.3.1. 184 Véase el apéndice 1. 185 Véase el apéndice 2. 186 El tercer tipo de escala cromática contiene las siguientes notas alteradas: Mi b, Si b, Fa #, Do # y Sol #. Éstas son las notas

usadas originalmente una vez establecida la escala cromática de 12 notas en la Edad Media. 187 Para más detalles sobre las nomenclaturas véase el apéndice donde se expone una tabla para todas ellas.

Page 81: SpecMusic Libre

81

4.2 Algoritmo adaptativo

La siguiente función aplica el algoritmo adaptativo de W. A. Sethares a una partitura: void CPartitura::AlgoritmoAdaptativo (CEspectro &Espectro,

CEscala &Escala)

Esta función necesita el parámetro del espectro a aplicar y una escala que tomará como punto de partida (normalmente el temperamento igual de 12 notas). Su implementación consiste en aplicar el algoritmo a cada acorde de la escala ya que esta operación se define sobre un conjunto de notas que suena simultáneamente. Cada vez que hay un cambio debe aplicarse el algoritmo de nuevo y de allí, la definición que hemos hecho de acorde para la partitura. Es por ello que, en su implementación, se llama a dos funciones de la clase CAcorde cuyos prototipos son:

void CAcorde::calcular_frecuencias (Escala); void CAcorde::algoritmo_adaptativo (Espectro);

La primera función calcula las frecuencias de las notas del acorde para tomarlas como punto de partida del algoritmo. Para ello necesita la escala como parámetro.

La segunda función aplica el algoritmo al acorde usando otras funciones que implementan las expresiones calculadas en el apartado teórico. Sus prototipos son:

1) Para normalizar el espectro: CEspectro::normalizacion_frecuencia();

2) Para calcular el gradiente en cada iteración y para cada intervalo armónico del acorde. double CAcorde::gradiente (int i, CEspectro &Espectro)

3) Para cada componente de la suma: double CAcorde::derivada(double f, double g, double v, double w)

De entrada, para la implementación del algoritmo en el programa se ha seguido el desarrollo expuesto por su autor y que yo he redactado en el apartado II.4.3.5 de este trabajo. No obstante, no ha sido suficiente con programar los cálculos matemáticos que se exponen. En realidad, el algoritmo no converge en los puntos donde se producen mínimos locales debidos a la coincidencia de parciales y en donde se produce una discontinuidad de la derivada188. Es por ello que se han tenido que considerar algunas modificaciones:

a) En el momento que el algoritmo detecta un aumento del valor del gradiente tras producirse en él un cambio de signo, se rebaja el valor del stepsize a su 10 %.

b) Cada intervalo del acorde tiene asignado un valor concreto para el stepsize ya que la situación puede ser diferente para cada uno de los intervalos que componen el acorde al cual se le está aplicando el algoritmo.

c) Igualmente, se ha asignado un valor a cada intervalo que hace referencia a su estado dentro del proceso de convergencia. Sus valores pueden indicar tres situaciones:

i. El algoritmo se aplica de forma normal a un intervalo a la espera de su convergencia. ii. El algoritmo ha detectado un cambio de signo en el gradiente. En esta situación debe

controlarse especialmente su valor ya que si aumenta, debe rebajarse el stepsize. Seguidamente se vuelve a la situación anterior.

iii. El algoritmo ha convergido (teniendo en cuenta el valor escogido para el valor de δ) por lo que debe pararse el proceso para ese intervalo.

iv. En cualquier caso, una vez se haya superado un cierto número de iteraciones, el algoritmo debe pararse de cara a evitar un proceso ilimitado.

d) Como consecuencia, debe conocerse el valor del gradiente obtenido en la iteración previa para cada intervalo del acorde. Es por ello que deberá guardarse en una variable que deberá inicializarse un valor elevado.

e) Así, pues, se han tomado las variables del stepsize, del estado y del gradiente como vectores de dimensión igual al número de intervalos del acorde.

f) Los valores iniciales para el stepsize deben escogerse con relación a los valores de las amplitudes. Por lo tanto, su normalización previa evitará problemas de convergencia.

Los valores tomados para los distintos parámetros son: - µ = 10; - δ = 0.001; - 100 iteraciones como máximo; - Gradiente máximo = 100000.

188 En contra de lo afirmado por el autor en la página 152 del capítulo 7 y en las páginas 310 y 311 del apéndice G de su obra ya

referenciada. Véase también el apartado II.4.3.6 de este trabajo.

Page 82: SpecMusic Libre

82

En versiones posteriores del programa deberían probarse soluciones alternativas a la propuesta así como posibilitar la elección de todos estos parámetros o, en cualquier caso, de adaptarlos a cada situación d una manera más eficiente.

Igualmente, la aplicación de las diversas posibilidades que pueden plantearse en referencia al efecto de sliding pitch189, quedará pendiente para próximas versiones del programa. Por ahora, el programa recalcula las frecuencias de todas las notas del acorde independientemente de si existían o no en el acorde previo.

4.3 Estructura

Teniendo en cuenta la complicada estructura que ha resultado para el caso de las partituras, separaré los conceptos en tres apartados para cada una de las clases que componen la estructura de la partitura: CPartitura, CAcorde y CNota.

4.3.1 Partitura

Las variables de la clase CPartitura son las siguientes: char *cabecera; UINT NAcordes; int dim_aux; CAcorde *Seq_acordes; double *disonancia; char *texto_partitura; CString szNomPartitura; CString szNomFichero; CString szDatos[6];

La variable entera NAcordes indica la dimensión de la partitura o sea, el número de acordes de

que se compone. La variable entera dim_aux indica el tamaño de la partitura de disonancia. La variable cabecera se usa para la lectura de los ficheros y corresponde a su cabecera. Las variables szNomFichero y szNomEscala contienen respectivamente el nombre del fichero y

de la partitura. La variable szDatos[6] contiene la información necesaria para actualizar los datos representados

en la barra de diálogo de la ventana principal del programa. La variable Seq_acordes es el puntero que contienen los acordes de la partitura. Cada

componente del vector apuntado es un objeto de la clase CAcorde a partir de la cual se construye cada acorde que forma la partitura.

La variable texto_partitura es la variable que contiene el texto editado de la partitura, tanto para su representación por defecto como para otra representación. Es la variable que usa la clase vista para visualizar la escala en la caja de texto y en ella escribe el texto correspondiente la función de edición.

4.3.2 Acorde

Las variables de la clase CAcorde son las siguientes: UINT NNotas; int duracion; CNota *notas; double *intervalos; CRacional *intervalos_rac;

La variable entera NNotas indica la dimensión del acorde o sea, el número de notas de que se

compone. La variable duración guarda la información del acorde referida a su duración temporal. Para

mantener la similitud con las secuencias MIDI, esta variable se expresará en ticks, la misma medida usada por las secuencias MIDI190.

189 Véase la nota 180. 190 Véase el apartado IV.5.2 para una explicación más detallada de esta medida.

Page 83: SpecMusic Libre

83

La variable notas es el puntero que contiene las notas del acorde. Cada componente del vector apuntado es un objeto de la clase CNota a partir de la cual se construye cada nota que forma el acorde.

Las variables intervalos e intervalos_rac contienen las relaciones numéricas de los intervalos que forman el acorde. Éstos pueden corresponder tanto a los intervalos referidos al bajo como a los intervalos formados entre cada nota consecutiva del acorde. La variable intervalos se usa para el caso de considerar una escala decimal para la afinación del acorde (y de la partitura) y la variable intervalos_rac, para el caso de una escala racional. Estas variables se usan después de un proceso de conversión ya que, por defecto, la información se guarda en la variable notas, o sea, se guardan los acordes mediante el nombre de las notas que los componen.

4.3.3 Nota

Las variables de la clase CPartitura son las siguientes: int nombre; int octava; double afinacion;

La variable nombre representa el nombre de la nota y se guarda en su representación por defecto

a través de la cual pueden calcularse las demás. Tal operación ya corresponde a la función de edición. La variable octava representa el índice acústico de la nota que se guarda también en su

representación por defecto. Tal operación también corresponde ya a la función de edición. La variable afinacion corresponde a un valor decimal donde se guarda la afinación de la nota si

ésta se calcula. Dependerá entonces de la escala escogida.

4.4 Constructores

Aunque básicamente sólo se usa el constructor por defecto, he programado otros constructores para poder dar al programa más posibilidades de cara a una posible ampliación. Expongo a continuación los prototipos de sus funciones y un breve comentario:

Para la clase CPartitura: CPartitura();

Constructor por defecto, que crea una partitura de dimensión cero y con sus punteros nulos. CPartitura (int n);

Constructor que crea una partitura de dimensión n. CPartitura (const CPartitura& part);

Constructor copia, crea una partitura con los valores de otro objeto partitura. void VaciarPartitura ();

Vaciar partitura, libera la memoria ocupada por los punteros e inicializa las variables a los valores por defecto (dimensión 0).

virtual ~CPartitura();

Destructor, libera la memoria ocupada por el objeto partitura. Añadiré la definición de dos operadores especiales para la clase CPartitura: CAcorde &operator() (int i);

Operador paréntesis: permite el acceso a los acordes de la partitura por vía de un índice. Ejemplo: a(1) = 2*b(2). CNota &operator() (int i, int j);

Operador corchete: permite el acceso a las notas de la partitura por vía de dos índices que se refieren respectivamente al acorde y a la nota.

Ejemplo: a[1] = 2*b[2]. CPartitura &operator=(const CPartitura &);

Operador de asignación: permite inicializar un nuevo objeto con los valores de otro de la misma clase ya existente.

Para la clase CAcorde: CAcorde();

Constructor por defecto, que crea un acorde de dimensión cero y con sus punteros nulos. CAcorde (int n);

Constructor que crea un acorde de dimensión n. CAcorde (const CAcorde& ac);

Page 84: SpecMusic Libre

84

Constructor copia, crea un acorde con los valores de otro objeto acorde. void VaciarAcorde ();

Vaciar acorde, libera la memoria ocupada por los punteros e inicializa las variables a los valores por defecto (dimensión 0).

virtual ~CAcorde();

Destructor, libera la memoria ocupada por el objeto acorde. Añadiré la definición de dos operadores especiales para la clase CAcorde: CNota &operator() (int i);

Operador paréntesis: permite el acceso a los valores de las notas del acorde por vía de un índice. Ejemplo: a(1) = 2*b(2). double &operator[] (int i);

Operador corchete: permite el acceso a los valores de los intervalos del acorde (sus relaciones numéricas) por vía de un índice.

Ejemplo: a[1] = 2*b[2]. CAcorde &operator= (const CAcorde &ac);

Operador de asignación: permite inicializar un nuevo objeto con los valores de otro de la misma clase ya existente.

Función para inicializar valores por defecto (frecuencia, nombre y octava de las notas; relaciones numéricas del intervalo en su forma decimal y racional, esta última expresada mediante sus enteros constitutivos):

void set (double value1, int value2, int value3, double value4, int value5, int value6);

Para la clase CNota: CNota();

Constructor por defecto, que crea una nota con sus valores inicializados a cero. virtual ~CNota();

Destructor, libera la memoria ocupada por el objeto nota.

4.5 Asignación dinámica de memoria

La estructura concreta para la asignación dinámica de memoria para el caso de la partitura corresponde a la clase CLlseEscala y para el caso del acorde, a la clase CLlseAcorde. Sus implementaciones son las siguientes:

class CLlsePartitura { // Variables public: CLlse acordes; int dim; // Funciones generales public: CLlsePartitura(); ~CLlsePartitura(); void LiberarMemoria(); CAcorde *asignar_acordes (); private: void MostrarLista(); }; class CLlseAcorde { // Variables public: CLlse notas; int dim; // Funciones generales public:

Page 85: SpecMusic Libre

85

CLlseAcorde(); ~CLlseAcorde(); void LiberarMemoria(); CNota *asignar_notas (); private: void MostrarLista(); };

4.6 Obtención del documento

Una partitura puede obtenerse abriendo un fichero existente mediante la opción Abrir del menú Archivo.

Además, la opción Nuevo del menú Archivo abre un diálogo que da a escoger entre las posibles maneras de obtener una partitura:

a) Entrando los datos manualmente desde el editor. b) A partir de una secuencia MIDI existente guardada en un fichero. Para el primer caso, el usuario deberá introducir los datos siguiendo las normas establecidas por

el formato de edición por defecto para que la función Entrar pueda interpretar el texto introducido en la caja de texto del editor.

La obtención de la partitura a partir de una secuencia MIDI requiere este dato como parámetro y puede ser escogido entre las secuencias MIDI existentes que pueden haber sido creadas por el usuario previamente.

El programa editará la partitura obtenida siguiendo el algoritmo expuesto en apartados anteriores. La forma de edición es la representación por defecto, o sea, representación de las notas y con las nomenclaturas que estén establecidas también por defecto.

Los prototipos de las funciones utilizadas son los siguientes: Para la clase CPartitura: void CPartitura::EntrarPartitura (CString Texto); bool CPartitura::AbrirFichero (CString NombreFichero); bool CPartitura::Serialize (CArchive &ar); CPartitura *CSecuenciaMIDI::ObtenerPartitura();

Para la clase CAcorde: void CAcorde::Establecer(CString Texto);

Para la clase CNota: int CNota::ObtenerOctava (int octava1); void CNota::EstablecerNumero (CString Texto); void CNota::EstablecerLetra (CString Texto); void CNota::EstablecerHex (CString Texto); void CNota::Establecer(CString Texto); BYTE CNota::ObtenerByte (); void CNota::Obtener (BYTE data);

4.7 Formato del fichero

El fichero de partitura tiene una extensión “prt” y su formato es el siguiente: 1) Una cabecera formada por los cuatro caracteres “Part” (4 bytes). 2) Un valor entero (4 bytes) que representa la dimensión de la partitura (o sea, el número de

acordes que la componen). 3) Los datos de la partitura, objetos de la clase CAcorde, guardados mediante el siguiente

formato: a. Un valor entero (4 bytes) que representa la dimensión del acorde (o sea, el número

de notas que lo componen). b. Las notas del acorde que corresponden a objetos de la clase CNota y que, a su vez,

están guardados mediante el siguiente formato: i. Un valor entero (4 bytes) correspondiente a la variable nota, o sea, el

nombre de la nota. ii. Un valor entero (4 bytes) correspondiente a la variable octava, o sea, el

índice acústico de la nota anterior. c. La duración del acorde expresado mediante un valor entero (4 bytes)

Page 86: SpecMusic Libre

86

Por tanto, el fichero tiene una extensión en bytes que viene dada por la expresión

,

siendo NAcordes la dimensión de la partitura y NNotas(i) la dimensión de cada uno de los acordes que la componen.

El programa lee los datos del fichero teniendo en cuenta los parámetro de dimensión después de comprobar que se trata de un fichero válido si los primeros 4 bytes corresponden con la cabecera. Cualquier dato que haya después del número de bytes que la expresión anterior determina es ignorado por el programa.

4.8 Formatos de edición

Según lo que he expuesto anteriormente acerca de las partituras, cualquier partitura puede representarse de las siguientes maneras (siempre como una secuencia de acordes):

a) Mediante las notas que la componen en sus diferentes tipos de representación y nomenclatura.

b) Mediante las frecuencias de las notas que la componen las cuales dependerán de la afinación escogida.

c) Mediante las relaciones numéricas de los intervalos que forman los acordes que la componen teniendo en cuenta la afinación escogida.

d) Lo mismo que el caso anterior pero considerando los intervalos que se forman entre cada nota consecutiva del acorde.

e) Partitura de disonancia. La representación por defecto será la primera, o sea, la que representa la partitura mediante los

nombres de las notas que componen los acordes de los que está formada la partitura. A la vez, las notas podrán representarse de diversas maneras según se ha expuesto al principio de

este apartado dedicado a las partituras. El problema que se plantea ahora es el de decidir qué tipo de representación debe tomarse por

defecto, o sea, la que debe aplicarse en el momento de la creación del documento. Escogí la opción de la representación de las notas ya que es la queda una idea más clara desde el punto de vista musical. También es la más adecuada ya que las otras representaciones implican cálculos adicionales. De entre las posibilidades de nomenclatura de las notas escogí la más cercana a la nuestra, o sea, la que representa sus nombres en español y los índices acústicos según el sistema franco-belga. También escogí el segundo tipo de escala cromática por tratarse del más adecuado para la tonalidad de do mayor.

La función Editar se encargará de obtener el texto correspondiente a la opción por defecto o a otra que se haya escogido y la función Entrar se encargará de interpretar el texto introducido por el usuario en el formato por defecto. Los datos se guardarán en las variables de la estructura de la clase CPartitura según su representación por defecto, o sea, representación mediante notas en la nomenclatura que se considere por defecto.

Por otro lado, la partitura de disonancia se editará mediante una secuencia de sus valores a los cuales se añadirá en la primera línea el valor de la disonancia total que se calculará a la vez que la propia partitura de disonancia. La función encargada de esta forma de edición es EditarPartituraDisonancia.

4.9 Entrada de datos

La representación de la partitura consiste en una serie de acordes organizados en filas de longitud variable dependiendo del número de notas de que estén formados. A la vez, cada fila puede corresponder al conjunto de notas del acorde o al conjunto de frecuencias o intervalos.

Para entrar manualmente una escala debe tenerse en cuenta que la representación por defecto es la de las notas (nombre e índice acústico). Entonces, según lo expuesto, el usuario debe introducir un acorde en cada línea. Para cada acorde se debe introducir la duración y, después de un carácter de tabulación Tab, las notas que lo constituyen. Puede ocurrir que un acorde no tenga ninguna nota por lo que la línea en cuestión solamente tendría el número correspondiente a su duración y se correspondería con una pausa. Para cambiar de línea se usa la tecla Enter.

Las notas pueden introducirse en cualquiera de los formatos en que pueden representarse pero lo importante es que se separe cada una de ellas mediante un carácter de tabulación Tab. Según la manera en que se quiera introducir los nombres de las notas, debe tenerse en cuenta que:

Page 87: SpecMusic Libre

87

1) En el caso de representar la nota mediante un número y su octava, debe separase los dos valores por una coma y un espacio simple. Ejemplo (el primer número corresponde a la duración191):

240 0, 3 7, 3 0, 4 3, 4 2) En el caso de introducir la nota mediante su nombre (en cualquiera de sus nomenclaturas

posibles), el nombre y el índice acústico, incluido el guión del posible signo negativo, deben introducirse en minúsculas, seguidos y sin espacio alguno. Las alteraciones se indican con los caracteres (o conjunto de caracteres) #, b, x y bb y también se escriben sin espacio ninguno. El becuadro no tiene sentido ya que introduciremos las alteraciones siempre que existan. Ejemplo (el primer número corresponde a la duración):

240 re#3 fax3 la#3 re#4 3) En el caso del formato MIDI se introduce el número en el formato correspondiente y éste ya

comprende el índice acústico. Ejemplo (el primer número corresponde a la duración): 240 32 42 52 102

Para finalizar debe pulsarse otra vez la tecla Enter y acabar con una línea en blanco. El programa determinará automáticamente la dimensión de la partitura y de cada acorde que la compone contando el número de líneas y de espacios en cada una. El editor acepta, en principio, cualquier tipo de carácter pero el programa dejará de funcionar correctamente si se introduce algún carácter falso o bien no se siguen estas normas.

Hay que tener en cuenta, también, que el usuario puede introducir las notas en cualquiera de los formatos en los que pueden representarse y el programa detectará automáticamente el formato usado guardándolo después en su representación por defecto. Después podrán aplicarse operaciones de conversión de nomenclatura o de representación.

Los únicos caracteres que se podrán introducir serán: • Caracteres alfabéticos (‘a’, ‘b’, ‘c’, …, ‘z’), siempre en minúsculas. • Caracteres alfabéticos (‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’) para las cifras hexadecimales, siempre en

mayúsculas. • Caracteres para el sostenido (‘#’). El resto de alteraciones se escriben con los caracteres

alfabéticos normales en minúsculas (‘b’, ‘bb’, ‘x’). • Carácter de espacio (‘ ‘). • Caracteres numéricos (‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’). • Guión para el signo negativo (si es el caso) (‘-’). • Carácter Enter y de tabulación Tab.

4.10 Implementación de la función de conversión

En apartados anteriores he definido los cálculos necesarios para la realización de las conversiones, tanto para las que tienen que ver con funciones de cálculo como las que tienen que ver con la representación.

Todas estas operaciones estarán controladas por una función de conversión que podrá ser llamada desde el menú de la aplicación. Los parámetros de la conversión podrán introducirse desde un diálogo que se abrirá después de dar la orden al menú. El diálogo tendrá unos parámetros por defecto para evitar posibles errores y permitir más comodidad y rapidez en los cálculos comunes. Será entonces, desde la clase vista (clase CSpecMusicViewPartitura) cuando se llamará a otra función implementada en la propia clase CPartitura y que será la encargada de realizar los cálculos. Una llamada posterior a las funciones de edición permitirá editar el resultado obtenido en la representación que también podrá haberse definido desde el diálogo.

Los valores de la partitura que se han obtenido inicialmente están guardados en las variables nombre y octava de notas de Seq_acordes. Los resultados de las operaciones de conversión se guardarán en las variables frecuencias de notas de Seq_acordes, intervalos e intervalos_rac de Seq_acordes. Las variables frecuencias e intervalos son punteros de números reales (tipo double) y la variable intervalos_rac es un puntero de números racionales (clase CRacional). Ésta última se usa para guardar las relaciones numéricas de los intervalos para el caso de escalas racionales mientras que las otras dos se utilizan para guardar las frecuencias de las notas y las relaciones numéricas de los intervalos para las escalas decimales.

El prototipo de dicha función de conversión será la siguiente: void Conversion (

191 El número 240 coincide con el número de ticks correspondientes a una negra con una velocidad metronómica de negra = 60.

Véase el apartado IV.5.2 para más información.

Page 88: SpecMusic Libre

88

int Opcion, // Representación (partitura o intervalos) // Caso de representación partitura: int Notas, // Representación de las notas int Octavas, // Representación de las octavas int EscalaCrom, // Tipo de escala cromática // Caso de representación frecuencias / intervalos:

int OpcionFrec, // Frecuencias / intervalos / distancias int OpcionInt, // Intervalos grandes / pequeños int OpcionDist, // Unidad de medida de las distancias int Afinacion, // Afinación fija (0, 1) o variable (2) // Caso de afinación variable o adaptativa: int Algoritmo, // Tipo de algoritmo double ParamAlg, // Parámetro del algoritmo CEscala &Escala, // Escala (si es el caso) CEspectro &Espectro // Espectro (si es el caso) );

La variable Opcion es la variable que indica el tipo de conversión a realizar dependiendo de su

valor. El criterio adoptado es el siguiente: Valor 0: representación con notas, Valor 1: representación por frecuencias o intervalos;

Las variables usadas como parámetros para la representación por notas (valores que serán pasados a las funciones de edición) son:

Notas: representa la nomenclatura de las notas192. Sus posibles valores son: ENGLISH 1 GERMAN 2 FRENCH 3 SPANISH 4 ITALIAN 5 NOTE 6 MIDI_DEC 7 MIDI_HEX 8 Octavas: Nomenclatura de las octavas193. Sus posibles valores son: USA Francia-Bélgica EscalaCrom: Tipo de escala cromática para representar las notas. Sus posibles valores

comprenden del 1 al 6, o sea, los seis tipos de escala cromática194. La variable opcion2 indica si la normalización o la asignación de valores (dependiendo del valor

de opcion1) se realiza para las frecuencias (valor 0), para las amplitudes (valor 1) o para las dos cosas a la vez (valor 2).

La implementación de la función de conversión está hecha de la siguiente manera: void CPartitura::Conversion (

int Opcion, // Tipo de representación (partitura o frecuencias / intervalos)

// Caso de representación partitura: int Notas, // Representación de las notas int Octavas, // Representación de las octavas int EscalaCrom, // Tipo de escala cromática

// Caso de representación frecuencias / intervalos: int OpcionFrec, // Frecuencias / intervalos / distancias

int OpcionInt, // Intervalos grandes / pequeños int OpcionDist, // Unidad de medida de las distancias int Afinacion, // Afinación fija (caso 0, 1) o variable (caso 2) // Caso de afinación variable o adaptativa: int Algoritmo, // Tipo de algoritmo double ParamAlg, // Parámetro del algoritmo CEscala &Escala, // Escala (si es el caso) CEspectro &Espectro // Espectro (si es el caso)

)

192 Véase el apéndice 1. 193 Véase el apéndice 2. 194 Véase el apartado 8 de la bibliografía para poder obtener más información acerca de los temas relacionados con la teoría de

la música.

Page 89: SpecMusic Libre

89

{ if (Opcion == 0) return; // Representación partitura else if (Opcion == 1) // Representación frecuencias / intervalos { if (Afinacion == 0 || Afinacion == 1) // Afinación fija { CalcularFrecuencias (Escala); CalcularRelaciones ( Escala, OpcionFrec, OpcionInt, OpcionDist); } else if (Afinacion == 2) // Afinación variable switch (Algoritmo) { case 0: // Algoritmo adaptativo AlgoritmoAdaptativo (Espectro, Escala); CalcularRelaciones ( OpcionFrec, OpcionInt, OpcionDist); break; case 1: // Algoritmo de la justa entonación AlgoritmoJustaEntonacion (Espectro); CalcularRelaciones ( OpcionFrec, OpcionInt, OpcionDist); break; default: break; } } }

Su funcionamiento es el siguiente: La función de conversión comprueba el valor de la variable Opcion según la cual actuará de una

manera u otra. 1) Si Opcion = 0 (representación por notas), no hay que realizar ningún cálculo, las

conversiones se refieren exclusivamente a la nomenclatura de las notas y la responsabilidad de implementación pasa a las funciones de edición.

2) Si Opcion = 1 (representación por frecuencias o intervalos): en este caso prosigue dependiendo de la variable Afinacion:

a. Si Afinacion = 0 o Afinacion = 1, caso de afinación fija, realiza las siguientes operaciones:

i. Calcula las frecuencias de las notas para guardar posteriormente los resultados en las variables de frecuencia de cada nota. Para ello necesita el parámetro que determina la escala a usar. El valor doble de 0 o 1 se refiere a una escala racional o decimal respectivamente que, aunque aquí no tenga mayor relevancia, se utiliza por coherencia con otras funciones.

ii. Calcula las relaciones numéricas de los intervalos de cada acorde de la partitura. Para ello toma los parámetros OpcionFrec (representación por frecuencias, intervalos, distancias o fracciones), OpcionInt (representación por intervalos grandes o pequeños) y OpcionDist (unidad de medida de las distancias).

b. Si Afinacion = 2, caso de afinación variable, realiza las siguientes operaciones: i. Calcula las frecuencias y después las relaciones numéricas siguiendo el

mismo proceso y criterio que para el caso de las afinaciones fijas. La única diferencia está en que para calculara las frecuencias aplica uno de los algoritmos de afinación variable existentes. El tipo de algoritmo viene dado por la variable Algoritmo. En función de sus valores se aplica:

1. Si Algoritmo = 0, algoritmo adaptativo de W. A. Sethares. 2. Si Algoritmo = 1, algoritmo de la justa entonación.

Éstos son los prototipos de las funciones usadas: void AlgoritmoAdaptativo (CEspectro &Espectro, CEscala &Escala); void AlgoritmoJustaEntonacion (CEspectro &Espectro); void CalcularFrecuencias (CEscala &Escala); void CalcularRelaciones (CEscala &Escala, int Opcion1, int

Opcion2, int Opcion3); void CalcularRelaciones (int Opcion1, int Opcion2, int

Opcion3);

Page 90: SpecMusic Libre

90

Describiré mínimamente las operaciones que realizan cada una de estas funciones. Todas estas funciones toman las notas de cada acorde y guardan los resultados de frecuencia en las variables de frecuencia de cada nota y en las variables de relación numérica de cada acorde.

La función void CPartitura::CalcularRelaciones (CEscala &Escala, int

Opcion1, int Opcion2, int Opcion3)

calcula las relaciones numéricas para cada acorde de la partitura mediante la función void CAcorde::calcular_relaciones (CEscala &Escala, int Opcion1,

int Opcion2, int Opcion3);

Esta función toma los mismos parámetros y llama a las dos siguientes para su implementación excepto para el caso de cálculo de fracciones que usa directamente las funciones de la clase CEscala.

Previamente se ha comprobado que la opción de cálculo de fracciones se efectúe para escalas apropiadas cambiando el valor del parámetro si es necesario.

La función void CPartitura::CalcularRelaciones (int Opcion1, int Opcion2,

int Opcion3)

realiza las mismas operaciones pero para el caso de una afinación variable. La diferencia está en que no necesita el parámetro que indica la escala a aplicar (ya están calculadas las frecuencias). Utiliza la función

void CAcorde::calcular_relaciones (int Opcion1, int Opcion2, int Opcion3);

Esta función calcula las relaciones numéricas o distancias del acorde dividiendo las frecuencias de sus notas constitutivas. El criterio aplicado a los parámetros es el mismo que el aplicado para el caso de las escalas con la diferencia que la frecuencia de referencia es el bajo del acorde en vez de la tónica de un modo de la escala.

La función void CPartitura::CalcularFrecuencias (CEscala &Escala)

calcula las frecuencias de las notas para cada acorde de la partitura a través de la función void CAcorde::calcular_frecuencias (CEscala &Escala);

tomando como parámetro la escala a aplicar (caso de afinaciones fijas). Se llama a las funciones de la clase CEscala.

La función void CPartitura::AlgoritmoAdaptativo (CEspectro &Espectro,

CEscala &Escala)

aplica el algoritmo adaptativo de W. A. Sethares a la partitura. Su implementación ha sido expuesta en apartados anteriores mientras que la definición del algoritmo está en el apartado de conceptos.

La función void CPartitura::AlgoritmoJustaEntonacion (CEspectro &Espectro)

aplica el algoritmo adaptativo de la justa entonación para el cual necesita el parámetro del espectro a aplicar. Su implementación consiste en aplicar el algoritmo a cada acorde de la escala y, para ello, llama a otras funciones de la clase CAcorde. Este algoritmo, no obstante, no estará completo en esta primera versión del programa.

4.11 Implementación de la función de edición

El prototipo de la función de edición es el siguiente (muy similar a la de conversión): void EditarPartitura (

int Opcion, // Tipo de representación (partitura o frecuencias / intervalos)

// Caso de representación partitura: int Notas, // Representación de las notas int Octavas, // Representación de las octavas int EscalaCrom, // Tipo de escala cromática // Caso de representación frecuencias / intervalos:

int OpcionFrec, // Frecuencias / intervalos / distancias int OpcionInt, // Intervalos grandes / pequeños

int OpcionDist, // Unidad de medida de las distancias int Afinacion // Afinación fija (0, 1) o variable (2) );

Page 91: SpecMusic Libre

91

Esta función convierte los datos de los punteros correspondientes en una cadena de caracteres guardada en la variable texto_espectro creada para tal fin y que después será usada por la clase vista para presentarla en la caja de texto del editor.

Siempre se termina el texto con un carácter nulo para evitar que el programa añada caracteres indeseados al final del texto editado.

Se presenta ahora un problema que consiste en saber qué tipo de representación tiene que aplicarse en el momento de la edición de los datos ya que esta se puede producir después de la creación del documento (por apertura de un fichero), en cuyo caso se edita según la representación por defecto, o bien después de una función de conversión. Para ello se usan los parámetros de opción.

Todos estos parámetros son tomados del diálogo que genera la clase vista y son usados primero en la función de conversión y luego en la de edición. Sería mucho más complicado establecer una variable manera como en los otros casos, devuelta por la función de conversión. Dada la existencia de muchos más casos posibles.

La variable Opcion puede tomar dos valores: Valor 0: representación por notas. Valor 1: representación por frecuencias, intervalos o distancias.

Para el caso de creación de la partitura, se edita por defecto la representación por notas y el parámetro Opcion de la función principal es 0. No es necesario pasar los parámetros de la nomenclatura ya que están programados por defecto.

Para la representación por notas (representación por defecto) se llama a la función: void EditarPartitura (int Sistema = SPANISH, int Octava = 2, int

Modo = 3);

La función de representación de notas visualiza las notas de cada acorde en función de los parámetros pasados que se toman de la función principal. Si no se especifican, se toman los valores que corresponden a la nomenclatura por defecto195. Para ello convierte los datos de la partitura en un texto que se guarda en una variable de la clase CString y luego se copia en la variable texto_partitura de la clase CPartitura para poder ser editada por la función de la clase vista. Esta función llama a otra s funciones de las clases CAcorde y CNota para convertir respectivamente cada acorde de la partitura y cada nota del acorde. Los prototipos de las funciones llamadas son:

void CAcorde::Visualizar(CString &Texto, int Sistema, int Octava, int Modo);

CString Visualizar(int System, int Octave, int Mode);

Para la representación por frecuencias, intervalos o distancias se llama a la función: void _EditarPartitura (int Afinacion, int Opcion);

tomando los parámetros referentes a la representación de las frecuencias, intervalos o distancias. Esta función comprueba que, para el caso de representación por fracciones tengamos una escala

que lo permita (escala racional) para ello necesita el parámetro Afinación que vale 0 para escalas racionales, 1 para escalas decimales y 2 para escalas de afinación variable (siempre decimales).Si es erróneo cambia el parámetro de opción. Después llama a

void _EditarPartitura (int Opcion);

Se ha puesto el guión para diferenciarla de la general que, como tiene parámetros por defecto puede dar problemas de ambigüedad en la sobrecarga de funciones de la POO.

Esta función, según los valores de Opcion, edita unos valores u otros: Si Opcion = 0, Editar frecuencias (editar variable frecuencia de notas). Si Opcion = 1, Editar intervalos (editar variable intervalos). Si Opcion = 2, Editar distancias (editar variable intervalos). Si Opcion = 3, Editar fracciones (editar variable intervalos_rac). Tanto si se han tomado los intervalos referidos al bajo o referidos a cada nota consecutiva y,

tanto si se editan intervalos o distancias, la variable es la misma, es responsabilidad de la función de conversión el tenerlo en cuenta. No influye en la edición.

Por otro lado, para la representación de la partitura de disonancia, existe una función de edición

propia. Su prototipo es: void CPartitura::EditarPartituraDisonancia (double TD);

Esta función edita la secuencia de valores calculados en la partitura de disonancia añadiendo en la primera línea el resultado del cálculo de la disonancia total. La disonancia total se escribe precedida del texto “TD = “ para que pueda ser diferenciada. Su valor ha sido pasado como parámetro a la función de edición.

195 La cual está definida en el apartado IV.4.8.

Page 92: SpecMusic Libre

92

En cualquier caso, siempre se termina el texto con un carácter nulo para evitar que el programa

añada caracteres indeseados al final del texto editado.

4.12 Otras funciones de cálculo

Las partituras tendrán una función añadida consistente en el cálculo de la partitura de disonancia. La función encargada de dicho cálculo tiene el siguiente prototipo:

double CPartitura::DissonanceScore ( int nEscala, int nAlgoritmo,

double nParamAlg, CEscala &Escala,

CEspectro &Espectro);

Los parámetros de esta función son el tipo de afinación (fija o variable, representada en el parámetro nEscala), el tipo de algoritmo con su parámetro (para el caso de afinación variable), la escala usada para el cálculo (en el caso de la afinación variable corresponde a la afinación inicial) y el espectro también usado para el cálculo.

Esta función realiza las siguientes operaciones: 1) Calcula el tamaño que tendrá la secuencia de números que representarán la partitura de

disonancia mediante la función int CalcularDimensionDisonancia();

2) Calcula los intervalos de cada acorde de la partitura para la afinación requerida mediante la función de conversión.

3) Calcula la disonancia para cada acorde a partir sus intervalos y mediante la función double CEspectro::medida_disonancia (double *alpha, int N);

correspondiéndose el espectro con el que se ha pasado como parámetro. También tiene en cuenta las duraciones de los acordes.

4) Calcula la disonancia total utilizando la medida definida en el apartado II.4.3.8. Para calcular el valor de referencia utiliza la función

double RefTD (CEspectro &Espectro); la cual calcula la disonancia total utilizando el temperamento igual196.

5) Guarda la el tamaño de la curva en la variable dim_aux, los valores de la curva en el puntero disonancia y devuelve el valor de la disonancia total que será utilizado posteriormente por la función de edición.

Debe tenerse en cuenta que para una mayor inteligibilidad del gráfico, cada valor de la disonancia tendrá una longitud proporcional con la duración del acorde. Se ha tomado una resolución tal que cada punto del gráfico corresponda con una fusa de la partitura. En futuras versiones debería poderse escoger esta resolución.

Por otro lado y, en futuras versiones, una función más podrá aplicarse para crear una nueva escala a partir de una partitura existente y que consista en la afinación óptima obtenida para esa partitura mediante el algoritmo de optimización correspondiente. Tal función tomará un espectro como parámetro.

4.13 Representación gráfica

La representación gráfica de una partitura consistirá en una tabla definida mediante dos ejes: en el eje horizontal se representará la secuencia de acordes de que está formada la partitura; el eje vertical consistirá en la representación logarítmica de las frecuencias que componen cada acorde197. Evidentemente, para la realización de este gráfico deberá indicarse una afinación concreta. Por ejemplo, si el tercer acorde está formado por las notas Do 3, Mi 3 y Sol 3, y si consideramos el temperamento igual de 12 notas, en la tercera posición del eje de abscisas se representará una línea para los siguientes valores del eje vertical: 261.63, 329.63, 392.0.

Por otro lado, también deberá representarse el gráfico de la partitura de disonancia cuando ésta sea requerida. En este gráfico, el eje de abscisas representa la unidad de tiempo y el eje de ordenadas, la medida de la disonancia.

Los identificadores para el modo de dibujo son PARTITURA_GRAFICO (7) para la representación gráfica de la partitura y PARTITURA_DISONANCIA (8) para la partitura de disonancia.

196 Véase el apéndice 4. 197 La representación logarítmica dará una idea más aproximada de la distancia entre las notas, magnitud con la que

identificamos los intervalos en música.

Page 93: SpecMusic Libre

93

4.14 Conversión de una secuencia MIDI en una partitura

La siguiente función es la encargada de realizar la conversión desde una secuencia MIDI a una partitura:

CPartitura *CSecuenciaMIDI::ObtenerPartitura();

Esta función toma los datos de la secuencia MIDI correspondiente, la cuál ha sido escogida de entre los ficheros existentes. El programa abre y lee su fichero usando las variables y las funciones de la clase CSecuenciaMIDI. Para realizar la conversión se utilizan una serie de funciones mediante las cuales se extraen los acordes de la secuencia MIDI en forma de partitura. Este procedimiento se realiza teniendo en cuenta los mensajes de eventos (en concreto, los de Nota on y Nota off) y los valores del Delta Time.

El procedimiento, de forma resumida, abre y lee el fichero MIDI, examina todos los pares de eventos y DeltaTime del segundo track de la secuencia MIDI y realiza las siguientes operaciones:

1) Si el valor del DeltaTime es diferente de cero se crea un nuevo acorde según el tipo de evento siguiente:

a. Si el evento es un mensaje Nota on, se crea un nuevo acorde con todas las notas del acorde anterior más la nueva añadida.

b. Si el evento es un mensaje Nota off, se crea un nuevo acorde con todas las notas del acorde anterior quitando la nota que ha finalizado.

c. Si el evento es un mensaje diferente se ignora. 2) Si el valor es cero se realizan las mismas operaciones pero con el acorde actual ya que

significa que nos encontramos en el mismo instante de tiempo. En definitiva, creamos un nuevo acorde para cada evento que se produce en instantes diferentes. Los prototipos de las funciones usadas son: CAcorde *ObtenerNuevoAcorde (BYTE nota_MIDI, CAcorde *Acorde,

UINT TipoEvento); CAcorde *ModificarAcorde (BYTE nota_MIDI, CAcorde*Acorde, UINT

TipoEvento); CAcorde *ObtenerNuevoAcorde (BYTE nota_MIDI);

5. SECUENCIAS MIDI

5.1 Representación de notas

La representación de las notas puede realizarse de cualquiera de las maneras que se aplicaron al caso de las partituras. La opción que se tomará por defecto será igualmente la más clara y cercana a la nuestra, o sea, nomenclatura de las notas en español, nomenclatura de los índices acústicos según el sistema franco-belga y alteraciones en función del segundo tipo de escala cromática198.

5.2 Cálculos con parámetros temporales

La variables temporales existentes en el estándar MIDI son: 1) Compás: guardado en los dos bytes del meta mensaje Time Signature. Se obtiene de la

siguiente manera: a. El numerador es igual al primer byte. b. El denominador es igual a 2 elevado al valor del segundo byte.

2) Velocidad: guardada en el meta mensaje Set Tempo (ST). Viene representada en microsegundos por negra. Si la velocidad metronómica se expresa en clicks por minuto, la relación entre las dos unidades es:

3) Resolución: guardada en la variable Resolucion (RES) en la cabecera del fichero MIDI. Viene expresada en ticks por negra.

La información temporal para cada nota figura en los DeltaTime (δT) que están expresados en ticks. Para expresar el valor de los DeltaTime en milisegundos (unidad que tomaremos de referencia), haremos la siguiente operación:

198 Véase el apartado IV.4.8 y véanse también los apéndices 1 y 2.

Page 94: SpecMusic Libre

94

5.3 Conversión de una partitura en una secuencia MIDI

La siguiente función es la encargada de realizar la conversión desde una partitura a una secuencia MIDI:

CPartitura *CSecuenciaMIDI::ObtenerPartitura();

Esta función toma los datos de la partitura correspondiente, la cuál ha sido escogida de entre los ficheros existentes. El programa abre y lee su fichero usando las variables y las funciones de la clase CPartitura. Para realizar la conversión se utilizan una serie de funciones mediante las cuales se extraen los eventos y los DeltaTime a partir de las notas de los acordes y de su información temporal.

El procedimiento corresponde a la operación inversa a la conversión de secuencias MIDI a partituras expuesta convenientemente en el apartado dedicado a las partituras. De forma resumida, el programa abre y lee el fichero obteniendo la correspondiente secuencia MIDI y, después, realiza las siguientes operaciones:

1) Debe crearse la cabecera con los parámetros por defecto199: cabecera MThd, formato 1, 240 ticks y 2 tracks.

2) Para cada uno de los dos tracks: a. Debe crearse la cabecera o chunck: b. Debe calcularse su número de bytes y añadirlo en el lugar adecuado. c. Deben añadirse los DeltaTime y los diversos mensajes. d. Cada track debe finalizar con el meta mensaje especial End of track.

3) Para el primer track, se añaden los meta mensajes, todos con un DeltaTime nulo tomando por defecto los siguientes valores (ya que la partitura no contempla estos parámetros):

a. Compás (Time signature): 4/4.

b. Velocidad (Set tempo): 60 clicks por minuto (lo que equivale a q = 60 si tenemos en

cuenta el compás establecido) c. Meta mensaje End of track.

4) En el segundo track se añaden los eventos de mensajes (sólo usaremos los de Nota on y Nota off) finalizando también con el meta mensaje End of track. El procedimiento, para cada acorde de la partitura, es el siguiente:

a. Primero debe comprobarse la existencia de cada nota del acorde anterior en el acorde actual y, si no se encuentra debe añadirse un mensaje de Nota off correspondiente a esa nota.

b. Después debe comprobarse la existencia de cada nota en el acorde anterior y añadir un mensaje Nota on para cada nota nueva.

5) A parte de eso, cada evento nuevo debe de ir acompañado por un DeltaTime que debe calcularse de la siguiente manera:

a. El primer evento que se escriba para cada acorde tiene un DeltaTime que está en relación con la duración del acorde anterior (el evento anterior corresponderá a la última nota del acorde anterior).

b. Para el resto de casos hasta el inicio del siguiente acorde, los eventos se producen en el mismo instante de tiempo y los DeltaTime son nulos.

Es importante remarcar que, en este procedimiento, siempre se han considerado ligadas dos notas iguales que se suceden en dos acordes contiguos. Esto implica que no pueden representarse dos notas iguales seguidas. Por ahora, como lo que más interesa es trabajar la consonancia y disonancia, este hecho no tendrá consecuencias graves pero, de cara a futuras versiones, deberá buscarse una alternativa mejor que implicará añadir más información a la partitura.

Estos son los prototipos de las funciones usadas, miembros de CSecuenciaMIDI: BOOL EstaEnAcordeActual (CPartitura *pPartitura, int i, int j); BOOL EstaEnAcordeAnterior(CPartitura *pPartitura, int i, int j); void ObtenerSecuenciaMIDI(CPartitura &Partitura); int ObtenerTrack(CMidiTrack *pTrack, CPartitura *pPartitura); int ObtenerPrimerTrack(CMidiTrack *pTrack); int BytesDelta(DWORD dwValue); // Obtain number of bytes for a

delta time

199 Los parámetros también podrían ser escogidos pero ello implicaría una implementación diferente de la función de conversión

y, eso, quedará pendiente para otra versión del programa.

Page 95: SpecMusic Libre

95

5.4 Grabación de secuencias MIDI

La implementación de este procedimiento está realizada con las clases CMidiRecord y CMidiNewStream que realizan las siguientes tareas respectivamente:

La primera de estas clases se encarga de la comunicación entre los dispositivos multimedia de entrada y salida estándar (recepción y envío de mensajes) mediante las funciones de bajo nivel de la API de Windows. Su implementación se basa en la modificación (y encapsulamiento dentro de una clase) de un programa encontrado en Internet200. Igualmente, se encarga de aplicar el cambio de afinación necesario si desde el diálogo correspondiente se ha solicitado. Por ahora, sólo funciona para los casos de afinaciones fijas.

Tanto en un caso como en otro, la misma clase realiza la operación de tratamiento de los mensajes recibidos para integrarlos dentro de la estructura del tipo CMidiStream que después podrá ser tratada por el programa editándose y, a petición del usuario, guardándose y realizándose el resto de operaciones que pueden realizarse con las secuencias MIDI201.

Las operaciones efectuadas por las funciones que obtienen una secuencia MIDI a partir de una partitura y viceversa (implementadas como funciones miembro de esta misma clase) deberán integrase y cambiarse por las funciones de la clase CMidiNewStream. Su implementación es (sin entrar en detalles):

class CMidiNewStream { private: int nBytes; int nTBytes; BYTE ubEventoAnterior; CMidiTrack *pDataTrack; CMidiEvent *pEvent; int ObtenerPrimerTrack(CMidiTrack *pTrack); int BytesDelta (DWORD dwValue); public: CMidiNewStream(); virtual ~CMidiNewStream(); CMidiStream *m_pStream; void InicializarSecuenciaMIDI(); void FinalizarSecuenciaMIDI(); void AnyadirEvento (CMidiData& Dato); };

5.5 Cambio de afinación

Este procedimiento constituye la base principal del proyecto, en definitiva, su principal justificación ya que es el encargado de aplicar los cambios necesarios para que una secuencia MIDI original quede modificada y pueda ser reproducida en una escala o afinación variable diferente del temperamento (afinación por defecto). Para ello, existen diversos métodos dentro del estándar MIDI:

El método más sencillo que utiliza eventos del tipo Pitch Bend (identificados por un byte Ex, donde x es el número de canal). Para ello debe asignarse a cada canal una nota de la escala y un evento Pitch Bend con la adecuada desviación de frecuencia (valor guardado en los dos bytes de datos correspondientes). Tal procedimiento funciona perfectamente para escalas de 15 notas como máximo202.

1) En el caso de que la afinación sea fija, los eventos Pitch Bend pueden colocarse una sola vez al principio de la secuencia MIDI.

2) En cambio, si la afinación es variable, deberá añadirse un evento diferente antes de cada evento Nota On.

No estoy seguro de que asignando todas las notas a un mismo canal y aplicando un evento Pitch

Bend previo a cada Nota On, el resultado sea satisfactorio si dos notas diferentes se aplican en el mismo instante de tiempo.

200 El programa original puede encontrarse en http://www.borg.com/~jglatt/tech/ . 201 La implementación de este último procedimiento no estará finalizada en la versión actual de este programa. 202 Considérese que disponemos de 16 canales de los cuales el décimo está reservado.

Page 96: SpecMusic Libre

96

Otras soluciones basadas en mensajes exclusivos de sistema, eventos de control (identificados por un byte Bx, donde x es el número de canal) y Tuning tables pueden considerarse pero ello excede los objetivos de este proyecto ya que su aplicación es bastante más complicada203.

La siguiente función es la encargada de realizar el cambio de afinación: void CSecuenciaMIDI::CambiarAfinacion ( int OpcEscala, // Afinación fija (0, 1) o variable (2) int Algoritmo, // Tipo de algoritmo double ParamAlg, // Parámetro del algoritmo CEscala &Escala, // Escala (si es el caso) CEspectro &Espectro // Espectro (si es el caso) );

Tal función es llamada desde la función de conversión o desde el reproductor multimedia. Entonces, crea un objeto de la clase CMidiTuning que yo añadí a la estructura de clases que encontré y otro objeto de la clase CMidiStream para guardar los nuevos datos en la variable auxiliar. Es en la clase CMidiTuning donde reside la implementación principal del proceso.

De forma resumida, el procedimiento es el siguiente: 1) Previamente se inicializa la variable auxiliar con una copia de la secuencia original (o sea,

de la variable m_pStream y mediante la función Copy) para poder conservar esta última. 2) Se inicializan las variables necesarias para la conversión (parámetros de la función o

miembros de la clase CMidiTuning). Éstas son la escala, el espectro, el tipo de afinación, el tipo de algoritmo y su parámetro (por si es el caso) así como el puntero correspondiente a la variable auxiliar donde se guardará la nueva secuencia (o sea, la variable m_pAuxStream).

3) Se llama a la función encargada del proceso y que es miembro de la misma clase: void Conversion (int Option, int Algorithm, double ParamAlg);

4) Se calcula la afinación de referencia en base a la cual se calcularán las desviaciones de afinación para los eventos Pitch bend. Se guarda el resultado en la variable Referencia de tipo CEscala del objeto CMidiTuning para poder ser consultada más tarde. Normalmente esta escala corresponde a la afinación temperada ya que es ésta la afinación que el estándar MIDI aplica por defecto.

5) A partir de ahora procederemos de dos maneras dependiendo del tipo de afinación a aplicar: a. Afinación fija (si la variable Afinacion toma los valores 0 o 1). b. Afinación variable (si la variable Afinacion toma el valor 2).

Otro parámetro de opción indica el tipo de algoritmo a aplicar. El criterio adoptado es el siguiente:

a. Si Option = 1, cambiar afinación fija. b. Si Option = 2, aplicar algoritmo adaptativo.

6) Se busca la posición del primer evento de mensaje del segundo track a partir del cual se insertarán los diversos eventos añadidos.

Para el caso de afinación fija seguiremos así: a) Para cada nota de la escala que queremos afinar hemos de:

a. Calcular su afinación. b. Calcular la diferencia de afinación con la misma nota de la escala de referencia. c. Se crea el evento Pitch bend y se inserta antes del primer evento de mensaje. d. Previamente al evento Pitch bend, se inserta un DeltaTime de valor nulo.

Finalmente quedarán todos los eventos Pitch bend precedidos de su correspondiente DeltaTime antes del primer evento de mensaje, uno por cada nota de la escala. b) Se recalcula el número de bytes del track añadiendo los bytes correspondientes a los eventos

y DeltaTime añadidos. c) Posteriormente se recorre todo el track y se modifican los canales de todos los eventos de

mensaje del tipo Nota on y Nota off. d) El resto de eventos de mensajes también deberían modificarse pero, en una primera versión

nos ocuparemos únicamente de los que hacen referencia a las notas. e) Se actualiza el valor correspondiente a la longitud del track en su cabecera. Para el caso de afinación variable (aplicación de alguno de los algoritmos adaptativos): a) En función de los valores originales de los DeltaTime se van obteniendo los acordes sobre

los que se aplicará el algoritmo204.

203 Véase el apartado 3 de la bibliografía y, especialmente, las siguientes referencias de Internet:

http://www.borg.com/~jglatt/tech/midispec.htm y http://www.midi.org/about-midi/tuning.shtml . 204 El mismo procedimiento que para la conversión de secuencia MIDI a partitura.

Page 97: SpecMusic Libre

97

b) Se aplica el algoritmo al acorde una vez ha sido obtenido el acorde. El algoritmo concreto a aplicar viene dado por la segunda variable de opción.

c) Se modifican los valores de los DeltaTime de la siguiente manera: a. El primer DeltaTime toma el valor del DeltaTime que corresponde a la primera

nota del acorde, lo pone a cero y se hace corresponder con el primer evento Pitch

bend, el cual precederá al primer evento de nota. b. Este último DeltaTime toma el valor nulo. c. El resto de DeltaTime hasta el primer evento del siguiente acorde también toman el

valor nulo. d. Ya que se han modificado algunos DeltaTime y se han añadido otros nuevos, se ha

modificado su longitud, la cual debe recalcularse para actualizar posteriormente el valor de la longitud del track correspondiente.

d) Cada nota del acorde tiene ahora un valor de frecuencia al haberse aplicado el algoritmo. Tal frecuencia se compara con la de la misma nota de la escala de referencia y se calcula la diferencia.

e) Con el dato obtenido se crea el evento Pitch bend y se inserta antes del evento de mensaje relacionado con su correspondiente DeltaTime.

f) Con la información de los nuevos DeltaTime y los nuevos eventos, se actualiza el número de bytes del track para actualizar su valor en la cabecera una vez se haya finalizado el proceso. Para ello, es necesario incluir dentro de la estructura de la clase CMidiTuning la función que calcula el número de bytes para un DeltaTime.

g) Deben modificarse todos los eventos de mensaje cambiándoles el canal según la nota a la que correspondan. Por ahora, sólo lo aplicamos a los eventos de tipo Nota on y Nota off.

Para crear el evento Pitch bend se siguen los siguientes pasos: a) Se crea un nuevo evento de mensaje (con la clase CMidiMessageEvent) con el primer byte

igual al número hexadecimal 0xE0 al que se le ha de sumar el número correspondiente al nombre de la nota para actualizar el canal. Si la nota es mayor o igual que 9 debe incrementarse el valor205. Los bytes de datos se calculan de la siguiente manera: se expresa en cents la diferencia de frecuencia que se ha calculado y se toma como parámetro del evento Pitch bend. Este parámetro se ha de representar en forma hexadecimal con dos bytes. El procedimiento es el siguiente:

a. El primer byte se actualiza al valor 0. b. Al segundo byte se le aplica la siguiente expresión matemática:

Valor = E [Diferencia * Res / 200 + 0.5] c. Se comprueba que el valor de la diferencia esté comprendida entre los valores –

100 y 100, ambos incluidos, o sea, que la diferencia sea menor o igual que un semitono temperado. En caso contrario, habría que cambiar el nombre de la nota y, consecuentemente, el canal por el que se habría de enviar el mensaje.

d. Si el segundo byte toma el valor -Res, debe incrementarse en una unidad ya que el dispositivo de sonido lo entendería de forma equivocada.

b) Se toma Res = 64, este valor corresponde a la resolución del dispositivo multimedia que determina el número de partes en que puede dividirse un semitono temperado y ello depende del dispositivo concreto. Algunos toman el valor Res = 8192.

Para modificar los eventos de mensaje según el canal seguimos los siguientes pasos: 1) Previamente se pone el canal a cero. 2) Después se suma el número correspondiente al nombre de la nota incrementando su valor si

ésta es mayor o igual que 9206.

5.6 Estructura

Las variables de la clase CSecuenciaMIDI son las siguientes: int dim; int Formato; WORD Resolucion; int NTracks; CString szNomFichero; CString szNomSecuenciaMIDI;

205 La razón de este incremento es que el canal 10 no puede utilizarse para notas ya que está reservado para otras funciones. 206 Véase la nota 205.

Page 98: SpecMusic Libre

98

CString szDatos[6]; BYTE *Eventos; char *texto_secuenciaMIDI; CMidiStream *m_pStream; CMidiStream *m_pAuxStream;

La variable entera dim indica la dimensión de la secuencia MIDI. Este parámetro se toma por

analogía al resto de documentos y lo he asociado al número de bytes que contiene pero su nombre en sí, no tiene excesivo sentido.

Las variables Formato, Resolucion y NTracks, corresponden a variables del formato MIDI. La primera indica el tipo de formato del fichero MIDI (0, 1 o 2 y acostumbra a ser 0), la segunda indica la resolución temporal en ticks (acostumbra a ser 240), y la tercera el número de tracks de que se compone (2 en formato habitual 0 aunque este parámetro es más frecuente que varíe).

Las variables szNomFichero y szNomSecuenciaMIDI contienen respectivamente el nombre del fichero y de la secuencia MIDI.

La variable szDatos[6] contiene la información necesaria para actualizar los datos representados en la barra de diálogo de la ventana principal del programa.

Las variables Eventos, m_pStream y m_pAuxStream son los punteros que contienen los datos de la secuencia MIDI. De entrada, cuando la secuencia es creada o abierta desde un fichero, ésta se guarda en la variable m_pStream que es un puntero a una estructura de la clase CMidiStream. Esta clase tiene una construcción similar a la del formato estándar del fichero. Cuando se realiza alguna operación de conversión a la secuencia (en concreto, un cambio de afinación), los datos convertidos deben guardarse en otra variable m_pAuxStream para poder conservar los originales. En algún momento puede interesar ver la secuencia editada en forma de bytes y, entonces, tales elementos se guardan en la variable Eventos.

La variable texto_secuenciaMIDI es la variable que contiene el texto editado de la secuencia MIDI, tanto para los valores originales como para los valores convertidos (cambio de afinación o representación por bytes). Es la variable que usa la clase vista para visualizar la escala en la caja de texto y en ella escribe el texto correspondiente la función de edición.

5.7 Constructores

Aunque básicamente sólo se usa el constructor por defecto, he programado otros constructores para poder dar al programa más posibilidades de cara a una posible ampliación. De hecho, en el caso de las secuencias MIDI, muchos de esos constructores no deben utilizarse si no es mediante alguna modificación importante y, los que pueden funcionar, se podrían utilizar tratando la secuencia como un conjunto de bytes sin estructurar. Expongo a continuación los prototipos de sus funciones y un breve comentario:

CSecuenciaMIDI();

Constructor por defecto, que crea una secuencia MIDI de dimensión cero (0 bytes), con sus punteros nulos y sus valores por defecto (formato 1, División 240, número de tracks 2 ya que tenemos formato 1).

CSecuenciaMIDI (int d, int t = 1);

Constructor que crea una secuencia MIDI de dimensión d (d bytes) con los valores por defecto inicializando todos los bytes a 0.

CSecuenciaMIDI (BYTE a[], int d, int t = 1);

Crea una secuencia MIDI de dimensión d (d bytes) desde un vector en estilo C que contienen los valores de los bytes. Se inicializa con los valores por defecto).

CSecuenciaMIDI (const CSecuenciaMIDI& sec);

Constructor copia, crea una secuencia MIDI con los valores de otro objeto secuencia MIDI mediante la función miembro de CMidiStream

void CMidiStream::Copy(const CMidiStream& Stream) void VaciarSecuenciaMIDI();

Vaciar secuencia MIDI, libera la memoria ocupada por los punteros e inicializa las variables a los valores por defecto (dimensión 0).

virtual ~CSecuenciaMIDI();

Destructor, libera la memoria ocupada por el objeto secuencia MIDI. Añadiré la definición de dos operadores especiales para la clase CSecuenciaMIDI: BYTE& operator() (int i);

Operador paréntesis: permite el acceso a los valores de cada byte por vía de un índice. Ejemplo: a(1) = 2*b(2). CMidiEvent& operator[] (int i);

Page 99: SpecMusic Libre

99

Operador corchete: no debe utilizarse. Ejemplo: a[1] = 2*b[2]. CSecuenciaMIDI &operator=(const CSecuenciaMIDI &);

Operador de asignación: permite inicializar un nuevo objeto con los valores de otro de la misma clase ya existente.

Funciones para inicializar valores por defecto (la segunda no debe utilizarse): void set(BYTE value); void set(CMidiEvent &Event);

5.8 Asignación dinámica de memoria

Para el caso de las secuencias MIDI, al tratarse de una estructura más complicada no utilizamos el prototipo general de clase basada en una lista de elementos simplemente enlazada que hemos utilizado para el resto de documentos, aunque sí se ha programado por analogía y de cara a poderla usar para la opción de conversión en la que se edita el fichero mediante la secuencia de bytes que lo componen. No obstante sí se utiliza la asignación dinámica de memoria en las diversas operaciones de creación de streams a partir de las diversas clases que componen su estructura207.

5.9 Obtención del documento

Una secuencia MIDI puede obtenerse abriendo un fichero existente mediante la opción Abrir del menú Archivo.

Además, la opción Nuevo del menú Archivo abre un diálogo que da a escoger entre las posibles maneras de obtener una secuencia MIDI:

1) Entrando los datos manualmente desde el editor. 2) A partir de una partitura existente guardada en un fichero. 3) A partir del grabador multimedia implementado en el programa. Para el primer caso, el usuario debería introducir los datos siguiendo las normas establecidas por

el formato de edición por defecto para que la función Entrar pudiera interpretar el texto introducido en la caja de texto del editor. Para ello, la función Entrar debería realizar el paso inverso. A la conversión de secuencia MIDI a texto. Debido a la dificultad de programar esto y teniendo en cuenta su poca utilidad (ya que los otros dos procedimientos son más aconsejables y prácticos), he dejado la programación de esta función para versiones futuras208.

La obtención de la secuencia MIDI a partir de una partitura requiere este dato como parámetro y puede ser escogido entre las partituras existentes que pueden haber sido creadas por el usuario previamente.

El programa editará la partitura obtenida siguiendo el algoritmo expuesto en apartados anteriores. La forma de edición es la representación por defecto, o sea, la representación por eventos con las notas representadas mediante las nomenclaturas que están establecidas por defecto.

La obtención de una secuencia MIDI a través del grabador multimedia implementado permite entrar los datos mediante un teclado MIDI que se conecte a la entrada MIDI estándar de la tarjeta de sonido. El programa guardará los datos en la estructura correspondiente y los presentará en el editor (con el formato por defecto) en el momento que el usuario indique que ha finalizado. A la vez, el programa reproducirá por la salida estándar (los altavoces del sistema conectados a la tarjeta de sonido) lo que el usuario toque en tiempo real. La afinación que se escuchará y que se guardará podrá escogerse desde el mismo grabador; por defecto será el temperamento igual de 12 notas209. Para guardar la secuencia obtenida, al igual que en el resto de casos, el usuario deberá pedirlo expresamente una vez se haya editado210.

Nota: las secuencias MIDI creadas han sido rectificadas lo máximo posible de cara a que haya podido ser utilizadas, como mínimo, por el reproductor multimedia de Windows dando bastantes garantías de su funcionamiento como ficheros MIDI estándar.

Los prototipos de las funciones utilizadas son los siguientes: bool AbrirFichero (CString NombreFichero); void EntrarSecuenciaMIDI (CString Texto); bool Serialize (CArchive& ar);

207 Véase el apartado IV.5.10. 208 De hecho, las clases que encontré programadas y en las que me he basado (véase el apartado IV.5.10) sólo realizaban la

conversión de secuencia a texto. 209 Véase el apéndice 4. 210 En esta primera versión del programa sólo estará implementada la función de reproducción en tiempo real desde el teclado

con la posibilidad de cambiar la afinación para el caso de una afinación fija. La funcionalidad de grabación quedará pendiente así como la aplicación de un algoritmo de afinación variable en tiempo real de ejecución.

Page 100: SpecMusic Libre

100

void ObtenerSecuenciaMIDI(CPartitura &Partitura);

5.10 Formato del fichero

El fichero MIDI tiene el formato definido por el estándar. En realidad he identificado como una secuencia MIDI los datos existentes en un fichero MIDI estándar (SMF211). La explicación completa de dicho formato rebasa los objetivos de este trabajo y, ya que puede encontrarse información sobre ello, remito a la bibliografía para ampliar su estudio212. No obstante mostraré de forma esquemática la estructura general de la secuencia que está guardada en el fichero:

Cabecera Cabecera MThd (4 bytes) Formato (4 byte) Resolución (2 bytes)

Número de tracks (4 bytes) Tracks

Cabecera o chunck Cabecera MTrk (4 bytes) Número de bytes (4 bytes) Secuencia de pares DeltaTime

Mensajes Los mensajes pueden ser de tres tipos: Meta eventos (CMidiMetaEvent, Meta Events). Eventos exclusivos de sistema (CMidiSysexEvent, System Exclusive Events). Eventos de mensajes (CMessageEvent, Message Events). A modo de información, el número de bytes de que constará el fichero será, en función del

número de bytes de cada track (expresado en su cabecera), será:

donde NTracks es el número de tracks y BytesTrack(i) es el número de bytes del track i. El programa lee los datos del fichero teniendo en cuenta los parámetros que hacen referencia a la

longitud en bytes de los diferentes elementos. Si tales números no coinciden con la realidad, el programa da errores y no puede editar el fichero.

Esta es la estructura que viene implementada en la clase CMidiStream, la cual, se compone de las siguientes clases que representan respectivamente cada uno de los elementos constitutivos:

CMidiChunck (chunck o cabecera de los tracks) CMidiEvent (tratamiento general de los eventos) CMidiEventList (lista de eventos) CMidiHeader (cabecera) CMidiMessageEvent (eventos de mensajes) CMidiMetaEvent (meta eventos) CMidiStream (secuencia completa) CMidiSysexEvent (evento exclusivo de sistema) CMidiTrack (track) CMidiTrackList (lista de tracks) Las clases CMidiData

CMidiObject

CMidiPbInfo

CMidiPlayback Se utilizan para el tratamiento de datos de los mensajes, para globalizar todos los elementos como clases derivadas de un objeto MIDI y para la reproducción multimedia (información y comunicación entre dispositivos).

211 Standard MIDI File. 212 Véanse las referencias citadas en el apartado 3 de la bibliografía.

Page 101: SpecMusic Libre

101

Todas estas clases venían ya implementadas y yo las he adaptado a mi programa aplicándoles algunas modificaciones213.

Las clases CMidiChord

CMidiNewStream

CMidiRecord

CMidiTuning

las añadí yo para el tratamiento de acordes, creación de secuencias nuevas, grabación de secuencias (comunicación; el resto, CMidiNewStream) y el cambio de afinación.

También añadí algunas variables globales extern DWORD dwDT; extern double dTempo; extern int nTicks; extern int nSystem; // Language note representation extern int nOctave; // Octave representation extern int nMode; // Chromatic scale type

para la representación de las notas y la representación temporal de una forma más inteligible.

5.11 Formatos de edición

Cualquier secuencia MIDI puede representarse de las siguientes maneras: 1) Representación por eventos. 2) Representación por bytes. De entrada, la secuencia es editada en forma de eventos ya que es la forma que da la información

de una forma más clara214. Por otro lado, la representación de las notas puede realizarse en cualquiera de las nomenclaturas

existentes pero, de entrada, también se aplicará aquella que esté establecida por defecto. No obstante, en el fichero y en la estructura CMidiStream, las notas se guardan en el formato que identifiqué como MIDI hexadecimal, ya que precisamente de aquí viene.

Además, téngase en cuenta que puede realizarse un cambio de afinación y que la secuencia resultante también podrá ser editada de cualquiera de las dos maneras.

La representación de las notas, al ser una cuestión de texto, puede variarse a través de la función de edición pero los datos siguen tomándose de la variable m_pStream. Es en el momento en que se le aplica un cambio de afinación cuando se cambia la estructura de los eventos (de hecho, se añaden) y es necesario guardarlos en otra variable auxiliar m_pAuxStream que tendrá que tenerse en cuenta cuando se edite posteriormente. En cambio, cuando interese editar la secuencia en forma de bytes tendrá que leerse de la variable Eventos. Tanto m_pStream como m_pAuxStream son punteros a estructuras CMidiStream pero Eventos es un puntero a un vector de tipo BYTE.

La función Editar se encargará de obtener el texto correspondiente a la opción por defecto o a otra que se haya escogido. La función Entrar se encargaría de interpretar el texto introducido por el usuario en el formato por defecto pero esta opción no está programada.

De forma resumida, el formato de edición es el siguiente: • Información de la cabecera. • Listado de todos los tracks con su lista de eventos cada uno y especificando el número

de bytes de que se compone. La representación de cada tipo de evento consiste en una serie de campos separados por

tabuladores. Para el caso de los eventos de mensajes:

• Valor del DeltaTime del mensaje en ticks. • Valor del DeltaTime incrementado en ticks (en referencia con el inicio). • Valor del DeltaTime incrementado en milisegundos. • Identificación del tipo de mensaje:

o Identificador Midi. o Byte correspondiente. o Identificador del mensaje.

• Bytes correspondientes a los datos del mensaje. o Para el caso de los mensajes de Nota on y Nota off, el primer parámetro puede

representarse en diversas formas a través de la función de conversión.

213 Estas clases pueden encontrarse en http://www.enborne.com/midi/midi-classes.htm . 214 Este formato de edición constituye una modificación del formato en el que, originalmente, el programa encontrado convertía

un fichero MIDI en un fichero de texto.

Page 102: SpecMusic Libre

102

o Para el caso del patch o programa, cada valor se ha sustituido por el nombre del instrumento al que representa en el programa habitual General MIDI.

o Para el resto de casos, en general, los bytes se expresan en valor decimal. Para el caso de los metamensajes:

• Identificación del tipo de mensaje: o Identificador Meta. o Byte correspondiente. o Identificador del mensaje.

• Datos del mensaje (si procede). Para el caso de los mensajes Time signature y Set tempo se ha adaptado su formato de visualización.

No se ha contemplado el caso de los mensajes exclusivos del sistema. En su caso, el programa únicamente dará el identificador Sysex.

5.12 Entrada de datos

La función Entrar no está implementada.

5.13 Implementación de la función de conversión

En apartados previos ya he definido las posibles maneras de representación de las secuencias MIDI así como las operaciones necesarias para realizar los cálculos de conversión, básicamente un cambio de afinación. Todas estas operaciones están controladas por una función de conversión que podrá ser llamada desde el menú de la aplicación. Los parámetros de la conversión podrán introducirse desde un diálogo que se abrirá después de dar la orden al menú. El diálogo tendrá unos parámetros por defecto para evitar posibles errores y permitir más comodidad y rapidez en los cálculos comunes. Será entonces, desde la clase vista (clase CSpecMusicViewSecuenciaMIDI) cuando se llamará a otra función implementada en la propia clase CSecuenciaMIDI y que será la encargada de realizar los cálculos. Una llamada posterior a las funciones de edición permitirá editar el resultado obtenido.

Los valores de la secuencia que se han obtenido inicialmente están guardados en la variable m_pStream, los resultados del cambio de afinación en m_pAuxStream y el resultado de la representación por bytes, en la variable Eventos.

El prototipo de dicha función de conversión será la siguiente: void Conversion (

int Opcion, // Bytes o eventos BOOL Afinacion, // Cambiar afinación int OpcEscala, // Afinación fija (0,1) o variable (2) int Algoritmo, // Tipo de algoritmo double ParamAlg, // Parámetro del algoritmo CEscala &Escala, // Escala (si es el caso) CEspectro &Espectro // Espectro (si es el caso) );

La variable Opcion indica el tipo de conversión a realizar dependiendo de su valor. El criterio adoptado es el siguiente:

Si Opcion = 0: Convertir a una secuencia de bytes. Si Opcion = 1: Cambiar de afinación. En el primer caso, simplemente se leen todos los bytes del fichero MIDI y se guardan tal cual

como un vector de bytes en la variable Eventos. Para ello se llama a la función bool LeerBytes (CString NombreFichero);

La operación realizada para el segundo caso, constituye la principal función que el programa debe realizar y ésta es la manera de poder comprobar los resultados viendo en qué manera el fichero MIDI modificado y editado después de estos cálculos. Después podrá comprobarse auditivamente el resultado mediante el reproductor multimedia.

En este caso, primero se comprueba si la realmente se quiere cambiar de afinación (puede interesar en cierto momento volver a la situación inicial después de otra conversión). Para ello se comprueba el valor de la variable booleana Afinacion que toma el valor true cuando se requiere cambio de afinación requerida. En caso negativo, no se realiza nada y posteriormente se editará la secuencia en su representación habitual. En caso positivo, se llama a la función

void CambiarAfinacion ( int OpcEscala, // Afinación fija (0,1) o variable (2) int Algoritmo, // Tipo de algoritmo double ParamAlg, // Parámetro del algoritmo

Page 103: SpecMusic Libre

103

CEscala &Escala, // Escala (si es el caso) CEspectro &Espectro // Espectro (si es el caso) );

Esta función será la encargada de modificar la secuencia MIDI aplicándole la nueva afinación mediante la adición de mensajes del tipo Pitch bend y de guardar después el resultado en la variable auxiliar m_pAuxStream.

El sentido de la variable Afinacion radica en el hecho de que puede pedirse un cambio de nomenclatura de las notas sin un cambio de afinación por lo cual, la función de conversión no deberá realizar ningún cálculo y la realización de la conversión pasará a ser responsabilidad exclusiva de la función de edición. En este caso se tomará la variable Afinacion nula. Será positiva cuando sí se tenga que realizar el cambio. También puede ser que se realicen los dos cambios a la vez, entonces, la función de conversión cambiará de afinación y la función de edición cambiará la nomenclatura de las notas.

Por otro lado, esta función también podrá ser usada por la función del reproductor multimedia si se le pide un cambio de afinación. La diferencia estará en su posterior tratamiento, edición o audición.

Para guardar el resultado debe tenerse en cuenta que la secuencia original debe conservarse y, por lo tanto, la versión modificada deberá guardarse en la variable auxiliar creadas para tal fin.

La implementación de la función ha sido explicada en apartados anteriores

5.14 Impementación de la función de edición

El prototipo de la función de edición es el siguiente: void EditarSecuenciaMIDI ( int Opcion, // Bytes o eventos BOOL Afinacion, // Cambiar afinación int System = SPANISH, int Octave = 2, int Mode = 3);

Esta función convierte los datos de los punteros correspondientes en una cadena de caracteres guardada en la variable texto_secuenciaMIDI creada para tal fin y que después será usada por la clase vista para presentarla en la caja de texto del editor.

Siempre se termina el texto con un carácter nulo para evitar que el programa añada caracteres indeseados al final del texto editado.

Se presenta ahora un problema que consiste en saber qué tipo de representación tiene que aplicarse en el momento de la edición de los datos ya que esta se puede producir después de la creación del documento (por apertura de un fichero), en cuyo caso se edita según la representación por defecto, o bien después de una función de conversión.

Para solventar dicho problema, se ha añadido a la función de edición un parámetro Opcion que determina la manera en que se ha de editar o representar la secuencia MIDI y que dependerá del tipo de operación que se haya realizado previamente. Los parámetros de edición vendrán dados por el diálogo de conversión y también serán usados por la misma función de conversión. En cambio, se tomará la opción correspondiente a la edición por defecto cuando esta operación se realice después de la creación de la secuencia.

El criterio adoptado para la variable Opcion es el siguiente: Si Opcion = 0, editar Eventos (representación por bytes). Si Opcion = 1, editar m_pStream o m_pAuxStream (representación de eventos). En el primer caso se llama a la función void EditarBytes ();

Esta función toma los bytes del puntero Eventos y los convierte en una cadena de caracteres representados en forma de números hexadecimales de dos dígitos separadas por un espacio en blanco para poder diferenciarlos con claridad.

En el segundo caso se llama a la función void _EditarSecuenciaMIDI (BOOL Afinacion, int System = SPANISH, int Octave = 2, int Mode = 3);

La variable Afinacion se usa para decidir qué variable de las dos debe editarse: m_pStream o m_pAuxStream dependiendo respectivamente de si se ha realizado o no un cambio de afinación.

Esta función también toma los parámetros referentes a la representación de las notas: System, Octave y Mode y que toman por defecto los mismos valores que para el caso de las partituras (System = SPANISH, Octave = 2 y Mode = 3). En cualquier caso, la función de edición de la secuencia se realiza en función de esos parámetros. Estos parámetros se asignan entonces a las variables globales que los controlan ya que la función de edición va llamando progresivamente a varias funciones localizada en

Page 104: SpecMusic Libre

104

ficheros diferentes y solamente han de pasarse como parámetro la cadena de caracteres (de la clase CString) donde se está guardando el texto. Posteriormente, este texto se copiará en la variable adecuada de la clase CSecuenciaMIDI texto_secuenciaMIDI que será usada por la clase vista para presentar los resultados en la caja de texto del editor.

Para convertir la estructura CMidiStream en texto se usa su función miembro void Edit (CString Texto)

que, a su vez, llama a otras funciones similares que son miembros de las clases de las variables que componen la estructura de CMidiStream. Este procedimiento constituye una modificación del programa encontrado215.

En la edición de las secuencias MIDI en el editor del programa, que se trata de una caja de texto, se presenta un problema: para una secuencia más o menos larga, el número de bytes requerido para editar el texto convertido a partir de ella supera en máximo número de bytes representable en una caja de texto de Windows. La solución está en crear un editor de más calidad mediante la programación de una nueva clase vista que contenga todas las funcionalidades necesarias y adaptadas a nuestro programa. Ello requiere gran cantidad de código por lo que quedará pendiente para otra versión del programa. La solución que se ha adoptado temporalmente y evitar los problemas que puede causar el intentar editar un string excesivamente largo en una caja de texto se han solucionado de la siguiente manera: se ha programado una función

CString Asignar (char *texto);

que es llamada por la función de la clase vista que lee el buffer que contiene el texto (variable texto_secuenciaMIDI): comprueba que la longitud sea menor que la permitida y en caso negativo truncar la secuencia de manera que pueda representarse lo máximo posible. Por ahora, el texto de una secuencia MIDI tiene una función puramente informativa. El algoritmo y la entrada de datos se realizan a través de la clase CPartitura que para eso se ha creado y resulta más práctica.

5.15 Representación gráfica

No se ha implementado ninguna función de representación gráfica para este documento.

5.16 Reproductor multimedia

La funcionalidad del reproductor multimedia está implementada en las clases CMidiPlayback y CMidiPbInfo, clases que ya venían implementadas en el programa encontrado en Internet216.

La clase CMidiPlayback se encarga de la comunicación con la salida MIDI estándar mediante las funciones de la API de Windows de bajo nivel. La clase CMidiPbInfo se encarga del tratamiento y obtención de información para ser reproducida.

El reproductor multimedia se llama desde la función adecuada del menú y permite escuchar la secuencia MIDI con afinación por defecto (temperamento igual de 12 notas), cualquier afinación fija o variable. La función está implementada de tal manera que, si hay cambio de afinación, se llama a la función miembro de la clase CMidiTuning y se le para realizar la conversión y guardar el resultado en la variable auxiliar m_pAuxStream. En cualquiera de los dos casos se llama después a la función Play de la clase CMidiPlayback pasando por parámetro la secuencia original o auxiliar según se haya o no modificado su afinación.

No entraré en más detalles en cuanto a la implementación de estas clases ni en el funcionamiento de los dispositivos de salida MIDI ya que tal exposición sale fuera de los objetivos de este trabajo217.

El reproductor multimedia tiene una opción añadida que consiste en la posibilidad de escoger el patch218 deseado de entre los que están implementados por defecto en la tarjeta de sonido (General

MIDI). Ello permitirá variar el timbre pero no será suficiente para poder percibir los efectos de un cambio de afinación basado en un espectro específico ya que éste no se tiene porqué corresponder con ninguno de los implementados. Para satisfacer esta necesidad será necesario realizar todo un trabajo de síntesis que se traduzca en poder escoger cualquier espectro como parámetro desde el reproductor multimedia. Esto constituye materia para otro proyecto entero y que dejo como nueva propuesta de trabajo219.

215 Véase el apartado IV.5.10 y la nota 213. 216 Véase el apartado IV.5.10 y la nota 213. 217 Puede encontrarse más información en las referencias citadas en el apartado 3 de la bibliografía. 218 Véase la nota 143. 219 En la dirección http://www.shout.net/~mhamman/index.html se encuentra código para poder trabajar la síntesis de sonido.

Page 105: SpecMusic Libre

105

6. ONDAS WAVE

6.1 Operaciones con ondas WAVE

Definiré las operaciones de normalización y asignación de amplitud para una onda WAVE de la siguiente manera:

a) Normalización:

donde AMAX es la amplitud máxima, m[i] las muestras originales de la onda, m’[i] las muestras de la onda normalizada y , siendo N el número de muestras de la onda WAVE.

b) Asignación de amplitud:

donde A es la nueva amplitud y el resto de términos se corresponden con los del caso de la función de normalización.

6.2 Algoritmo de detección de picos

La detección de los picos de un espectro real no es una tarea fácil. Diversos métodos muy complicados se han propuesto y, aún así, seguramente funcionarán para ciertos casos más o menos claros. En mi programa se ha implementado un algoritmo sencillo cuyo funcionamiento está muy limitado. Por tal razón y por ahora, para esta tarea deberá usarse software adicional y completar este apartado en versiones posteriores.

El algoritmo programado toma un valor umbral escogido en función del valor máximo obtenido y, a partir de él, se toman como picos los máximos que se encuentren por encima de él. Este procedimiento tiene dos inconvenientes muy claros: los picos pequeños que surjan por causa del ruido pueden ser tomados como picos reales y, por otro lado, el nivel de ruido sobre el cual pueden tomarse los picos varía a lo largo del ámbito de estudio y tal umbral debería ser modificado según la zona del espectro que se esté evaluando.

Propuestas mejores pueden encontrarse en las siguientes referencias: - W. A. Sethares: “Finding Spectral Peaks”, Tuning, Timbre, Spectrum, Scale, Springer-

Verlag, New York, 1997, apéndice C, apartado 5, p. 295. - Algunas referencias en la base de datos de IEEE: http://bibliotecnia.upc.es/ :

• M. L. Jacobson (United Arab Emirates University, United Arab Emirates): “Auto threshold peak detection in physiological signals”, IEEE Transactions on signal

processing, Vol. 45, no. 3, march 1997 (2001 Proceedings of the 23rd Annual EMBS International Conference, October 25-28, Istanbul, Turkey).

• Z. S. Wng, JDZ Chen: “Robust ECG R-R Wave Peak Detection Using Evolutionary-Programming-based Fuzzy Interference System (EPFIS) and Its Application to Assessing Brain-Gut Interaction”, GI Division, The University of Texas Medical Branch at Galveston, USA.

• Seok Won Lee, Boo Hee Nam: “Peak Detection of ECG Signal Using Wavelet Transform220 and Radial Basis Functions”, Dept. of Control and Instrument Engineering, Kangwon National University Chunchon, Korea, July 1999.

- En la dirección http://www.spectrumsquare.com/qpeaks.htm de Internet se puede conseguir el código de un algoritmo de detección de picos221. Igualmente, en la dirección http://amath.colorado.edu/courses/4720/2000Spr/Labs/Haar/haar.html puede conseguirse información acerca de wavelet y Haar wavelet transform.

- Otra alternativa propuesta por mi tutor consistiría en determinar los picos dentro de un intervalo determinado de frecuencias que se tome como ventana. Para ello debería considerarse, después del correspondiente barrido a lo largo de todo el margen de evaluación, aquél intervalo que maximice su correlación con una función de pico teórica de la misma longitud.

220 Para obtener más información sobre Haar wavelet transforms pueden consultarse las siguientes referencias de la misma base

de datos de IEEE: - V. Labunets, E. Labunets-Rundlab, J. Astola: “Fast Classical and Quantum Fractional Haar Wavelet Transforms”,

Tampere University of Technology, Tampere International center for Signal Processing, Tampere, Finland. - Seok Won Lee, Boo Hee Nam: “Noise Reduction Using Wavelet and Identification of Nonlinear Channel for QAM

Using Neural Network”, Kangwon National University, Chunchon, Korea, IEEE 2001. 221 Este código requiere recompensación económica.

Page 106: SpecMusic Libre

106

- Igualmente, al método programado se le podrían añadir procedimientos que solventasen los inconvenientes comentados.

6.3 Estructura

Las variables de la clase COndaWAVE son las siguientes: int dim; WaveFile FicheroAudio; CString szNomFichero; CString szNomOndaWAVE; CString szDatos[6]; int *valores; double *valores_aux; char *texto_ondaWAVE; DDCRET Resultado; WORD BitsPorMuestra; DWORD FrecuenciaDeMuestreo; WORD NumeroDeCanales; La variable entera dim indica la dimensión de la onda WAVE. Este parámetro lo he asociado al

número de muestras de la secuencia de la onda lo que no es lo mismo que el número de bytes del fichero. Las variables BitsPorMuestra, FrecuenciaDeMuestreo y NumeroDeCanales, corresponden a

variables del formato WAVE. La primera indica el número de bits por muestra (8 o 16 y se ha inicializado a 8), la segunda indica la frecuencia de muestreo (las más típicas son 8000, 11025, 22050 y 44100 Hz -muestras por segundo- y se ha inicializado a 11025), y la tercera el número de canales (1 o 2 -mono o estéreo- y se ha inicializado a 1).

Las variables szNomFichero y szNomSecuenciaMIDI contienen respectivamente el nombre del fichero y de la onda WAVE.

La variable szDatos[6] contiene la información necesaria para actualizar los datos representados en la barra de diálogo de la ventana principal del programa.

La variable FicheroAudio de la clase WaveFile es la estructura que soporta el formato del fichero para poder ser leído y escrito. La variable Resultado del tipo estructurado DDCRET se utiliza como valor devuelto en las funciones de lectura, escritura, apertura y cierre de fichero de ondas WAVE. Estas dos variables son estructuras ya implementadas en el código ya existente y en el cual me he basado para el tratamiento de estos ficheros222.

Las variables valores y valores_aux son los punteros que contienen los datos de la secuencia WAVE. El primer puntero es de tipo entero y se utiliza para guardar los datos tal como han sido leídos o tal como han de ser escritos (las muestras de la onda en el fichero WAVE son datos enteros). El segundo es de tipo double y se utiliza para guardar los datos convertidos.

La variable texto_ondaWAVE es la variable que contiene el texto editado de la onda WAVE, tanto para los valores originales como para los valores convertidos (normalización o asignación de amplitud). Es la variable que usa la clase vista para visualizar la escala en la caja de texto y en ella escribe el texto correspondiente la función de edición.

6.4 Constructores

Aunque básicamente sólo se usa el constructor por defecto, he programado otros constructores para poder dar al programa más posibilidades de cara a una posible ampliación. Expongo a continuación los prototipos de sus funciones y un breve comentario:

COndaWAVE (int Fk = FK, int bpS = BPS, int nCh = NC);

Constructor por defecto, que crea una onda WAVE de dimensión cero (0 muestras), con sus punteros nulos y los valores por defecto para sus variables propias (frecuencia de muestreo 11025, 8 bits por muestra y 2 canales -estéreo-).

COndaWAVE (int d, int Fk = FK, int bpS = BPS, int nCh = NC);

Constructor que crea una onda WAVE de dimensión d (d muestras) con los valores por defecto e inicializando todas las muestras a 0.

COndaWAVE (int a[], int d, int Fk = FK, int bpS = BPS, int nCh = NC);

222 Véase el apartado IV.6.7.

Page 107: SpecMusic Libre

107

Crea una onda WAVE de dimensión d (d muestras) desde un vector en estilo C que contienen los valores de las muestras. Se inicializa con los valores por defecto.

COndaWAVE (double a[], int d, int Fk = FK, int bpS = BPS, int nCh = NC);

Crea una onda WAVE de dimensión d (d muestras) desde un vector en estilo C que contienen los valores de las muestras pero esta vez de tipo real. Se inicializa con los valores por defecto.

COndaWAVE (const COndaWAVE& wav);

Constructor copia, crea una onda WAVE con los valores de otro objeto onda WAVE. void VaciarOndaWAVE ();

Vaciar onda WAVE, libera la memoria ocupada por los punteros e inicializa las variables a los valores por defecto (dimensión 0).

virtual ~COndaWAVE ();

Destructor, libera la memoria ocupada por el objeto onda WAVE. Añadiré la definición de dos operadores especiales para la clase CSecuenciaMIDI: int &operator() (int i);

Operador paréntesis: permite el acceso a los valores de cada muestra por vía de un índice. Ejemplo: a(1) = 2*b(2). double &operator[] (int i);

Operador corchete: permite el acceso a los valores de cada muestra por vía de un índice (versión para valores reales).

Ejemplo: a[1] = 2*b[2]. COndaWAVE &operator =(const COndaWAVE &wav);

Operador de asignación: permite inicializar un nuevo objeto con los valores de otro de la misma clase ya existente.

Funciones para inicializar valores por defecto: void set (int value); void set (double value);

6.5 Asignación dinámica de memoria

La estructura concreta para la asignación dinámica de memoria para el caso del espectro corresponde a la clase CLlseOndaWAVE. Su implementación es la siguiente:

class CLlseOndaWAVE {

// Variables public: CLlse muestras; int dim; // Funciones generales public: CLlseOndaWAVE::CLlseOndaWAVE(); CLlseOndaWAVE::~CLlseOndaWAVE(); void LiberarMemoria(); int *asignar(); private: void MostrarLista(); };

6.6 Obtención del documento

Una onda WAVE puede obtenerse abriendo un fichero existente mediante la opción Abrir del menú Archivo.

Además, la opción Nuevo del menú Archivo abre un diálogo que da a escoger entre las posibles maneras de obtener una onda WAVE:

a) Entrando los datos manualmente desde el editor. b) A partir de un espectro existente guardada en un fichero. c) A partir del grabador multimedia implementado en el programa. Para el primer caso, el usuario deberá introducir los datos siguiendo las normas establecidas por

el formato de edición por defecto para que la función Entrar pueda interpretar el texto introducido en la caja de texto del editor.

Page 108: SpecMusic Libre

108

La obtención de la onda WAVE a partir de un espectro requiere este dato como parámetro y puede ser escogido entre los espectros que el programa da por defecto o entre los ficheros existentes que pueden haber sido creados por el usuario previamente.

El programa editará la onda WAVE obtenida como una secuencia de números enteros que representan sus muestras, esta es la forma de edición que se toma por defecto.

La obtención de una secuencia MIDI a través del grabador multimedia implementado permite entrar los datos mediante un micrófono que se conecte a la entrada de audio estándar de la tarjeta de sonido. El programa guardará los datos en la variable correspondiente y los presentará en el editor (con el formato por defecto) en el momento que el usuario indique que ha finalizado. Para guardar la secuencia obtenida, al igual que en el resto de casos, el usuario deberá pedirlo expresamente una vez se haya editado.

Nota: las ondas WAVE creadas han sido rectificadas lo máximo posible de cara a que haya podido ser utilizadas, como mínimo, por el reproductor multimedia de Windows dando bastantes garantías de su funcionamiento como ficheros WAVE estándar.

Los prototipos de las funciones utilizadas son los siguientes: bool Serialize (CArchive &ar); bool AbrirFichero (int IdOndaWAVE); bool AbrirFichero (CString NombreFichero); DDCRET LeerFichero (CString NombreFichero); DDCRET EscribirFichero (CString NombreFichero); void EditarOndaWAVE (int manera); bool EntrarOndaWAVE (CString Texto); void ObtenerOndaWAVE ( CEspectro &Espectro, double AnchoBandaPico = BW_PICK, int NumeroDeDatos = N_DATA);

6.7 Formato del fichero

El fichero WAVE tiene el formato definido por el estándar. Omitiré la explicación completa de dicho formato para no alargar más este documento y, ya que puede encontrarse información sobre ello, remito a la bibliografía para ampliar su estudio223. No obstante mostraré de forma esquemática la estructura general de los datos que están guardados en el fichero:

RIFF chunck

Cabecera RIFF (4 bytes) Tamaño del fichero en bytes sin contar los ocho primeros correspondientes del RIFF

chunck (4 byte). WAVE chunck Cabecera WAVE (4 bytes) Cabecera “fmt “ (4 bytes) Longitud del “fmt “ chunck entero en bytes (4 bytes)

Codificación de los datos de audio, típicamente PCM224 correspondiente al valor 1 (2 bytes) Número de canales, 1 o 2 según sea mono o estéreo (2 bytes) Frecuencia de muestreo225 expresada en Hz (4 bytes) Media del número de bytes por segundo que un reproductor multimedia habría de procesar para reproducir este fichero en tiempo real. Esta variable es redundante para el caso de los datos codificados en PCM (4 bytes)

Número de bytes que deben enviarse a la salida estándar en un cierto intervalo de tiempo. En PCM, este dato coincide con el número de bytes por muestra multiplicado por el número de canales (2 bytes) Número de bits por muestra, usado sólo en PCM, típicamente 8 o 16226 (2 bytes).

223 Véanse las referencias citadas en el apartado 3 de la bibliografía. 224 Modulación por pulsos modificados. Véanse las referencias citadas en el apartado 2 de la bibliografía para más información

sobre el tema. 225 Los valores más típicos son los de 11025, 22050 y 44100 Hz (calidad telefónica, de radio y de CD respectivamente); también

pueden encontrarse los valores de 8000, 32000 y 48000 Hz (calidad telefónica, DAT Long Play y DAT respectivamente). En general, suelen estar comprendidos entre 8000 y 48000 Hz.

226 Estos valores corresponden al teléfono (8 bits) y al CD y DAT (16 bits).

Page 109: SpecMusic Libre

109

Datos de audio (datos PCM)

Muestras codificadas (secuencia de números enteros) A modo de información, el número de bytes de que constará el fichero será, en función del

número de muestras de la secuencia será:

donde N es el número de muestras (en un canal), Nbps el número de bits por muestra y NC el número de canales.

El programa lee los datos del fichero teniendo en cuenta los parámetros que hacen referencia a la longitud en bytes de los diferentes elementos. Si tales números no coinciden con la realidad, el programa da errores y no puede editar el fichero.

Esta es la estructura que viene implementada en la clase CWaveFile, la cual, se compone de las siguientes clases y estructuras que representan respectivamente cada uno de los elementos constitutivos:

DDCRET

WaveFile

RiffFile

WaveFileSample

RiffChunckHeader

WaveFormat_Chunck

WaveFormat_ChunckData

CSoundIn

CSoundOut Las dos últimas se utilizan respectivamente para la entrada y para la salida estándar de audio de

la tarjeta de sonido y el resto para la lectura y escritura de los ficheros. Todas ellas venían ya implementadas y yo las he adaptado a mi programa aplicándoles algunas modificaciones227.

6.8 Formatos de edición

Según lo que he expuesto anteriormente acerca de las ondas WAVE, a cualquier onda puede aplicársele diversos cálculos:

a) Normalización. b) Asignación de una nueva amplitud. La forma de edición por defecto, o sea, la que se edita cuando se obtiene la onda es una

secuencia de números enteros que representan las muestras tal como están guardadas (o como se han de guardar) en el fichero WAVE. Las operaciones anteriores, no obstante, pueden convertir esos valores en números reales, cosa que debe tener en cuenta la función de edición.

La función Editar se encargará de obtener el texto correspondiente a la opción por defecto o a otra que se haya escogido y la función Entrar se encargará de interpretar el texto introducido por el usuario en el formato por defecto. Los datos se guardarán en las variables de la estructura de la clase COndaWAVE, también en su representación por defecto.

6.9 Entrada de datos

La representación por defecto de la onda WAVE consiste en una secuencia de números enteros correspondientes a sus muestras tal como están guardadas (o como se han de guardar) en el fichero WAVE.

El usuario debe introducir una muestra (un número entero) en cada línea, sin dejar ninguna línea en blanco. Para cambiar de línea se usa la tecla Enter. Para finalizar debe pulsarse otra vez la tecla Enter y acabar con una línea en blanco. El programa determinará automáticamente la dimensión de la onda WAVE contando el número de líneas. El editor acepta, en principio, cualquier tipo de carácter pero el programa dejará de funcionar correctamente si se introduce algún carácter falso o bien no se siguen estas normas.

Hay que tener en cuenta, también, que el usuario debe introducir los datos tal cual deben guardarse en el fichero y después podrán aplicarse operaciones de normalización.

Los únicos caracteres que se podrán introducir serán: • Caracteres numéricos (‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’). • Guión para el signo negativo (si es el caso) (‘-’).

227 Estas clases pueden encontrarse en http://www.intersrv.com/~dcross/fft.html .

Page 110: SpecMusic Libre

110

• Carácter Enter y de tabulación Tab.

6.10 Implementación de la función de conversión

En apartados previos ya he definido las posibles maneras de representación de las ondas WAVE así como las operaciones necesarias para realizar los cálculos de conversión, básicamente una operación de normalización. Estas operaciones están controladas por una función de conversión que podrá ser llamada desde el menú de la aplicación. Los parámetros de la conversión podrán introducirse desde un diálogo que se abrirá después de dar la orden al menú. El diálogo tendrá unos parámetros por defecto para evitar posibles errores y permitir más comodidad y rapidez en los cálculos comunes. Será entonces, desde la clase vista (clase CSpecMusicViewOndaWAVE) cuando se llamará a otra función implementada en la propia clase COndaWAVE y que será la encargada de realizar los cálculos. Una llamada posterior a las funciones de edición permitirá editar el resultado obtenido.

Los valores de la onda que se han obtenido inicialmente están guardados en la variable valores, y los resultados de la conversión en valores_aux. La primera variable es de tipo entero (como requiere el formato del fichero) y la segunda es de tipo real.

El prototipo de dicha función de conversión será la siguiente: int conversion (int Opcion, int Amplitud);

La variable Opcion indica el tipo de conversión a realizar dependiendo de su valor. El criterio adoptado es el siguiente:

Si Opcion = 0: Normalizar la onda a amplitud unidad. Si Opcion = 1: Asignar a la onda una amplitud concreta. En el primer caso se llama a la función void AsignarAmplitud (int Amplitud);

Para el segundo caso, la función es void NormalizarOndaWAVE ();

6.11 Implementación de la función de edición

El prototipo de la función de edición es el siguiente: void EditarOndaWAVE (int manera);

Esta función convierte los datos de los punteros correspondientes en una cadena de caracteres guardada en la variable texto_ondaWAVE creada para tal fin y que después será usada por la clase vista para presentarla en la caja de texto del editor.

Siempre se termina el texto con un carácter nulo para evitar que el programa añada caracteres indeseados al final del texto editado.

Se presenta ahora un problema que consiste en saber qué tipo de representación tiene que aplicarse en el momento de la edición de los datos ya que esta se puede producir después de la creación del documento (por apertura de un fichero), en cuyo caso se edita según la representación por defecto, o bien después de una función de conversión.

Para solventar dicho problema, se ha añadido a la función de edición un parámetro manera que determina la manera en que se ha de editar o representar la onda WAVE y que dependerá del tipo de operación que se haya realizado previamente. Los parámetros de edición vendrán dados por el diálogo de conversión y también serán usados por la misma función de conversión. En cambio, se tomará la opción correspondiente a la edición por defecto cuando esta operación se realice después de la creación de la onda.

El criterio adoptado para la variable manera es el siguiente: Si manera = 0, editar valores (valores enteros originales). Si manera = 1, editar valores_aux (valores reales normalizados). Si manera = 2, editar valores_aux (valores reales con nueva amplitud asignada).

6.12 Obtención desde un espectro

La obtención de la onda WAVE a partir de un espectro requiere este dato como parámetro que puede ser obtenido de entre los ficheros existentes. El programa abrirá y leerá el fichero obteniendo el correspondiente modelo espectral. Para ello usará las variables y las funciones de la clase CEspectro. Entonces, se aplicarán las siguientes operaciones:

1) Obtención de la secuencia muestreada del espectro mediante el algoritmo definido en el apartado IV.3.1.

2) Transformada de Fourier inversa aplicada a la secuencia anterior la cual debe completarse con muestras nulas para obtener un número de muestras que se corresponda con una potencia entera de 2.

Page 111: SpecMusic Libre

111

Podrán escogerse desde el diálogo correspondiente los valores de la frecuencia de muestreo, el número de bits por muestra y el número de canales, así como la anchura de los picos del espectro convertido en secuencia. A este diálogo se accede a través de la orden Nuevo del menú escogiendo la opción OndaWAVE.

Para el cálculo de la transformada de Fourier inversa se ha tomado un algoritmo existente y que he obtenido a través de Internet228, al igual que se hizo para el caso de la transformada normal. Tal algoritmo usa una clase CMatrix que simula una matriz que puede tener cualquier dimensión en donde se guardan los datos de las secuencias de entrada y salida del algoritmo de la transformada. El algoritmo para el cálculo de la transformada de Fourier es, lógicamente, la IFFT229.

Las funciones para la obtención del modelo espectral son: CEspectro *ObtenerEspectro(); void ModeloEspectral (double *buffer, CEspectro &Espectro,

int DimMatrix, double fk); void fft(Matrix &RealA, Matrix &ImagA); void ifft(Matrix &RealA, Matrix &ImagA); double media(double *buffer, int num);

El procedimiento seguido es el inverso al explicado para los espectros en el apartado IV.3.2

6.13 Representación gráfica

La representación gráfica de una onda WAVE consistirá en el dibujo de las muestras (eje vertical) en función del tiempo (eje horizontal). Solamente tenemos este tipo de gráfico para la onda (tanto si en el editor de texto se representa normalizada o no).

El identificador para el modo de dibujo es WAVE (10).

6.14 Otras funciones

En un futuro deberán implementarse funciones para el cálculo de la partitura de disonancia aplicada a la onda WAVE y para el cálculo de una FFT tridimensional en función del tiempo.

6.15 Reproductor multimedia y grabador de sonidos

La funcionalidad del reproductor multimedia está implementada en las clases CSoundIn y CSoundOut, clases que se han programado partiendo de código encontrado Internet230.

La clase CSoundIn se encarga de la comunicación con la entrada de audio estándar, la cual puede conectarse a un micrófono. Se trata de un grabador de sonidos cuyo código se basa en las funciones de la API de Windows de bajo nivel. Las muestras recibidas se editan posteriormente en forma de onda WAVE a la que pueden aplicarse las operaciones ya definidas y guardarse posteriormente en un fichero WAVE. Al grabador puede accederse a partir del diálogo inicial tras ejecutar la orden Nuevo del menú y seleccionando la opción Onda WAVE.

La clase CSoundOut se encarga de la comunicación con la salida de audio estándar. Se trata de un reproductor de sonidos que estén guardados en el formato definido. Este reproductor multimedia se llama desde la orden Reproducir onda WAVE de Herramientas.

No entraré en más detalles en cuanto a la implementación de estas clases ni en el funcionamiento de los dispositivos de entrada y salida de audio ya que tal exposición sale fuera de los objetivos de este trabajo231.

7. TEXTOS

7.1 Estructura

Las variables de la clase CTexto son las siguientes: int dim; char *texto_texto; CString szNomFichero;

228 El código de este algoritmo se encuentra en ftp://ftp.mathworks.com/pub/books/garcia/edition2/Cpp/ifft2.cpp . 229 Inverse Fast Fourier Transform. 230 El código para la implementación del reproductor y grabador de ondas WAVE se ha realizado a partir de varios existentes en

la dirección http://www.codeguru.com/multimedia/index.shtml de Internet aunque también existe más información y código en http://www.borg.com/~jglatt/tech/ .

231 Puede encontrarse más información en las referencias citadas en el apartado 3 de la bibliografía.

Page 112: SpecMusic Libre

112

CString szNomTexto; CString szDatos[6];

La variable entera dim indica la dimensión del texto que corresponde a su longitud en bytes o

caracteres. Las variables szNomFichero y szNomEscala contienen respectivamente el nombre del fichero y

del texto. La variable szDatos[6] contiene la información necesaria para actualizar los datos representados

en la barra de diálogo de la ventana principal del programa. La variable texto_texto es el buffer donde se almacena, en este caso, el texto editado del

documento coincide con el documento en sí y no son necesarias más variables. Tampoco son necesarias variables auxiliares ya que no hay definida función de conversión alguna.

7.2 Constructores

Aunque básicamente sólo se usa el constructor por defecto, he programado otros constructores para poder dar al programa más posibilidades de cara a una posible ampliación. Expongo a continuación los prototipos de sus funciones y un breve comentario:

CTexto();

Constructor por defecto, que crea una texto vacío (de dimensión cero) y con sus punteros nulos. CTexto (int n);

Constructor que crea un texto de dimensión n. CTexto (int n, char t[]);

Crea un texto de dimensión n desde un vector en estilo C que contiene los caracteres del texto. CTexto ((const CTexto& tex);

Constructor copia, crea un texto con los valores de otro objeto texto. void VaciarTexto();

Vaciar texto, libera la memoria ocupada por los punteros e inicializa las variables a los valores por defecto (dimensión 0).

virtual ~CTexto();

Destructor, libera la memoria ocupada por el objeto texto. Añadiré la definición de dos operadores especiales para la clase CTexto: char &operator() (int i);

Operador paréntesis: permite el acceso a un carácter del texto situado en una posición determinada por vía de un índice.

Ejemplo: a(1) = 2*b(2). Función para inicializar valores por defecto: void set (char car);

7.3 Asignación dinámica de memoria

No se usa esta funcionalidad para los documentos de texto ya que la misma funcionalidad de la caja de texto de Windows ya la incorpora.

7.4 Obtención del documento

Un texto puede obtenerse abriendo un fichero existente mediante la opción Abrir del menú Archivo. Los ficheros existentes provienen, o bien de una edición anterior, o bien de cualquier representación de cualquiera de los otros tipos de documentos (representación inicial, cálculos de conversión, cálculos específicos) y que se haya guardado en forma de texto para su consulta posterior (sin volver a realizar los cálculos) o para su posterior tratamiento en un procesador de textos convencional.

Además, la opción Nuevo del menú Archivo permite crear un texto nuevo introduciendo los datos manualmente.

Los prototipos de las funciones utilizadas son los siguientes: bool Serialize (CArchive &ar); bool AbrirFichero (CString NombreFichero); bool EscribirFichero (CString NombreFichero); void EntrarTexto ( CString Texto );

Page 113: SpecMusic Libre

113

7.5 Formato del fichero

El fichero de texto es, simplemente, un fichero de texto normal con extensión “txt” y que puede ser abierto por el editor de textos de Windows (Bloc de notas) o por cualquier otro editor de textos que pueda convertirlo a su formato habitual.

Se trata simplemente de una serie de caracteres ASCII sin ninguna otra condición de formato. El número de caracteres del fichero corresponde al número de caracteres del texto y tal parámetro se toma como su dimensión (por analogía con el resto de documentos). Tampoco existe ningún tipo de cabecera por lo que se podrá abrir en forma de texto cualquier tipo de fichero que contenga la extensión txt.

7.6 Formatos de edición

El formato de edición es el de cualquier texto convencional. La función Entrar, simplemente guarda el texto del editor (el de una caja de texto) en la variable

texto_texto de la clase CTexto (un buffer de caracteres) para poder ser guardado posteriormente en un fichero. La dimensión la calcula directamente el programa usando las funciones de la MFC232. La función Editar no está implementada ya sólo debe de leer el buffer texto_texto, funcionalidad soportada ya en la función Visualizar de la clase vista (mediante las MFC).

7.7 Entrada de datos

La entrada de un texto sólo difiere de la entrada de un texto en una caja de texto de Windows en que, en este caso, se permite la introducción del carácter de tabulación Tab.

7.8 Implementación de la función de conversión

No se han implementado funciones de conversión para este tipo de documentos.

7.9 Implementación de la función de edición

No existe función de edición ya que no existe formato concreto. Las funciones de la MFC ya realizan esa operación presentando el texto guardado en la variable texto_texto en la caja de texto del editor. De hecho, se trata de la misma función que la clase vista realiza para presentar el texto obtenido por cualquier función de edición de cualquiera de los otros tipos de documento para presentarlo en la caja de texto del editor.

7.10 Representación gráfica

No se han implementado funciones de representación gráfica para este tipo de documento.

232 Hay una función que calcula la longitud de cualquier buffer en caracteres. Para el caso del texto, su longitud coincide con la

del buffer donde está guardado.

Page 114: SpecMusic Libre

114

V. EVALUACIÓN Y APLICACIONES

En este apartado intentaré llevar a la práctica los conceptos teóricos explicados en los apartados anteriores y buscar una utilidad a programa que he creado. Intentaré justificar también el título del proyecto, así pues, realizaremos cuatro aplicaciones en este apartado que serán:

1) Un primer apartado donde aplicaremos los diversos algoritmos y cálculos a una partitura de ejemplo que consistirá en una simple secuencia de acordes y en algunos cálculos adicionales para demostrar su funcionamiento.

2) Un segundo apartado donde realizaré el mismo estudio que en el apartado anterior pero, en este caso, aplicaré un espectro real extraído de la grabación de un instrumento armónico. En este caso, el estudio lo realizare de forma más resumida de cara a no repetir aspectos ya trabajados en el apartado anterior.

3) Un tercer apartado donde realizaré un estudio sobre las bases que deben determinar la composición de la música para un instrumento de espectro genérico. Para ello realizaré una demostración con mi programa de los pasos seguidos en uno de los ejemplos que propone W. A. Sethares en su trabajo.

4) Un tercer apartado más práctico en donde trabajaremos con partituras reales e intentaré llevar a la práctica las aplicaciones en la musicología histórica. Intentaré buscar una solución al problema de la afinación en la obra de “El clave bien temperado” de J. S. Bach.

5) Un cuarto aparado también más práctico pero menos exhaustivo en el que intentaré llevar a la práctica las aplicaciones en la etnomusicología. Simplemente, y para no alargar más la realización de este proyecto, demostraré alguno de los ejemplos o aplicaciones que el mismo W. A. Sethares utiliza para demostrar el funcionamiento de su algoritmo en el campo al que nos estamos refiriendo.

En cualquier caso, el título del proyecto se refiere a un concepto bastante más generalizado y cuya justificación quedará más clara en el apartado siguiente donde hablaré de previsión futura y posibles ampliaciones.

1. EVALUACIÓN DE LOS ALGORITMOS

1.1 Composición de una partitura representativa

De cara a la evaluación de las diferentes afinaciones y del algoritmo adaptativo de W. A. Sethares, vamos a crear una partitura consistente en una secuencia de acordes (realización armónica a 4 partes) de tal manera que queden más o menos representados todos los tipos de intervalos armónicos que puedan tener cierta relevancia dentro de las principales afinaciones de la música occidental y poder ver después el resultado que se consigue con la aplicación del algoritmo de W. A. Sethares.

Ésta es la partitura que analizaremos:

Ejemplo 1

Para editar la partitura en el programa abriremos una partitura nueva y entraremos los datos

utilizando la nomenclatura habitual en España (nomenclatura de las notas en español e índices acústicos según el sistema franco-belga)233. De entrada podemos introducir los nombres de las notas tal como se encuentran en la partitura pero el programa los convertirán automáticamente a los enarmónicos correspondientes en la escala cromática que tiene asignada por defecto, la del tercer tipo con las

233 Véase el apéndice 2 donde se exponen los principales sistemas de representación de los índices acústicos.

Page 115: SpecMusic Libre

115

alteraciones propias de la Edad Media (Si b, Mi b, Fa #, Do # y Sol #)234. Por ahora, el formato de partitura utiliza una escala de 12 notas (representación matemática con números de 0 a 11). El texto a entrar será el siguiente:

240 do2 mi3 sol3 do4 240 re2 re3 sol3 si3 240 mi2 do3 sol3 do4 240 fa2 do3 fa3 la3 240 mib2 si2 fa#3 si3 240 mi2 si2 mi3 sol#3 240 do2 sol#2 mib3 sol#3 240 do#2 sol#2 do#3 mi3 240 do2 la2 re3 fa#3 120 si1 sol2 re3 sol3 120 si1 sol2 re3 fa3 120 do2 sol2 do3 mi3 120 do2 sol3 do4 mi4 240 re2 fa3 la3 re4 240 fa2 fa3 sol#3 do4 240 sol2 re3 sol3 si3 240 do2 mi3 sol3 do4 Veamos cual es el formato en el cual el programa guarda e interpreta esta partitura: 240 0, 2 4, 3 7, 3 0, 4 240 2, 2 2, 3 7, 3 11, 3 240 4, 2 0, 3 7, 3 0, 4 240 5, 2 0, 3 5, 3 9, 3 240 3, 2 11, 2 6, 3 11, 3 240 4, 2 11, 2 4, 3 8, 3 240 0, 2 8, 2 3, 3 8, 3 240 1, 2 8, 2 1, 3 4, 3 240 0, 2 9, 2 2, 3 6, 3 120 11, 1 7, 2 2, 3 7, 3 120 11, 1 7, 2 2, 3 5, 3 120 0, 2 7, 2 0, 3 4, 3 120 0, 2 7, 3 0, 4 4, 4 240 2, 2 5, 3 9, 3 2, 4 240 5, 2 5, 3 8, 3 0, 4 240 7, 2 2, 3 7, 3 11, 3 240 0, 2 4, 3 7, 3 0, 4

Tomaremos una velocidad de 60 metronómico (negras por minuto). Para ello, si tenemos en

cuenta que la resolución temporal en el estándar MIDI (al cual habremos de convertir la partitura) es de 240 ticks por segundo, una negra corresponderá a 240 ticks y una corchea a su mitad.

Por otro lado, una vez guardada la partitura en un fichero que hemos llamado Ejemplo1.prt, obtendremos una nueva secuencia MIDI a partir de ese fichero de cara a poder evaluar auditivamente la aplicación de cada una de las afinaciones en la partitura. El nombre del fichero MIDI correspondiente es Ejemplo1.mid.

De esta partitura, en general, podemos decir que existe un primer fragmento diatónico, un segundo fragmento cromático donde, en cierta manera, se ha conseguido dar una vuelta completa al círculo de quintas (acorde de do # mayor dentro de una tonalidad de do mayor) por el lado de los sostenidos, y un tercer fragmento también cromático, aunque no tanto, por el lado de los bemoles. Con este ejemplo, un tanto exagerado teniendo en cuenta su duración, pretendo evaluar el funcionamiento de cada escala en sus géneros diatópico y cromático, tanto por el lado de los sostenidos como por el de los bemoles.

234 Para ampliar información sobre las cuestiones relacionadas con la teoría musical remito a las referencias expuestas en el

apartado 8 de la bibliografía.

Page 116: SpecMusic Libre

116

En el siguiente apartado, junto con la evaluación de cada escala, quedarán expuestos los ejemplos de los distintos intervalos representativos de cada una de las principales afinaciones que existen en la partitura.

1.2 Evaluación de las escalas y algoritmos235

En primer lugar, expondré los valores de los intervalos afinados teóricamente en la justa entonación de cara a poder comparar el resto de afinaciones con este caso que tomaremos como referencia. El sentido de tal comparación responde al hecho de que, en teoría, la justa entonación es la que más se ajusta a la constitución del espectro. Las relaciones numéricas de los principales intervalos afinados en la justa entonación son:

Fracción Razón numérica Distancia en cents Octava justa 2/1 2 1200 Quinta justa 3/2 1.5 701.95 Cuarta justa 4/3 1.33333 498.04 Tercera mayor 5/4 1.25 386.32 Tercera menor 6/5 1.2 315.64

1.2.1 Aplicación de la afinación pitagórica

Sabemos que la afinación pitagórica se caracteriza por sus quintas (y cuartas) justas si exceptuamos la llamada quinta del lobo. Por otro lado, las terceras (y sextas) están muy desviadas de las justas. No obstante, se acercan a las terceras temperadas mucho más que las justas. Cabe destacar otro hecho notorio en la afinación pitagórica y es que las terceras falsas, las que atraviesan la quinta del lobo, resultan muy cercanas a las terceras justas, tanto para el caso de las mayores como de las menores236. Buscaremos en la partitura ejemplos de cada uno de los tipos de intervalos que podemos encontrar en la afinación pitagórica:

Acorde Intervalo237 Relación numérica Distancia (cents) Diferencia con la JE Quintas justas o pitagóricas 1 Do-Sol 3/2=1.5 701.96 +0.01 Quintas falsas o del lobo 7 Sol#-Re# (Mi b) 262144/177147=1.4798 678.49 -23.46 Terceras mayores pitagóricas ½ Do-Mi / Sol-Si 81/64=1.2656 407.82 +21.5 Terceras mayores falsas 15 La b (Sol #)-Do 8192/6561=1.2486 384.36 -1.84 Terceras menores pitagóricas 1/7 Mi-Sol / Si# (Do)-Re# (Mi b) 32/27=1.1852 294.13 -21.51 Terceras menores falsas 5/15 Re# (Mi b)-Fa # / Fa-Lab (Sol#) 19683/16384=1.2013 317.60 +1.96

1.2.2 Aplicación de la escala física de Zarlino

Sabemos que la escala física de Zarlino se caracteriza por un compromiso entre la obtención de quintas (y cuartas) y terceras (y sextas) justas, considerando a parte el caso de la llamada quinta del lobo238. Buscaremos en la partitura ejemplos de cada uno de los tipos de intervalos que podemos encontrar en la escala física de Zarlino:

Acorde Intervalo Relación numérica Distancia (cents) Diferencia con la JE Quintas justas o pitagóricas 1 Do-Sol 3/2=1.5 701.96 +0.01 Quintas falsas o del lobo

235 En el apéndice 7 se encuentran unas tablas con los resultados de todos los intervalos de la partitura obtenidos para cada una

de las escalas examinadas. Se han añadido también los cálculos de las frecuencias y también se han considerado intervalos referidos a la nota grave e intervalos consecutivos.

236 Véase el apéndice 4 donde se explican las principales características de cada afinación. 237 En algunos casos, tanto para esta escala como para el resto de escalas trabajadas, indicaré más de un ejemplo de un mismo

tipo de intervalo si lo creo suficientemente representativo. 238 Véase el apéndice 4 donde se explican las principales características de cada afinación.

Page 117: SpecMusic Libre

117

7 Sol#-Re# (Mi b) 192/125=1.536 743.01 +41.06 Quintas reducidas en una comma sintónica 5/14 Si-Fa# / Re-La 40/27=1.4815 680.45 -21.5 Terceras mayores justas 1/2/6 Do-Mi / Sol-Si / Mi-Sol# 5/4=1.25 386.31 -0.01 Terceras mayores pitagóricas 1 / 2 Do-Mi / Sol-Si 81/64=1.2656 407.82 +21.5 Terceras mayores falsas No hay Terceras mayores falsas y reducidas 5/15 Re# (Mi b)-Si / Lab (Sol#)-Do 32/25=2/(25/16)=1.28 427.37 +41.05 Terceras mayores reducidas dos veces 9 Re-Fa# 100/81=1.2346 364.81 -21.51 Terceras menores justas 1/8 Mi-Sol / Do#-Mi 6/5=1.2 315.64 0 Terceras menores pitagóricas 14 Re-Fa 32/27=1.1852 294.13 -21.51 Terceras menores falsas 5 Re# (Mib)-Fa# 125/108=1.1574 253.08 -62.56 Terceras menores falsas y reducidas 15 Fa-Lab (Sol#) 75/64=1.1719 274.58 -41.06

1.2.3 Aplicación del temperamento igual

Sabemos que el temperamento igual de 12 notas se caracteriza por la uniformidad total en la constitución de sus 12 semitonos y, a la vez, de todas sus quintas. No existe, por tanto, ninguna quinta del lobo o falsa. Igualmente sucede con todos los intervalos que son de un mismo tipo o dimensión según nuestro sistema de quintas. Las quintas resultan prácticamente iguales a las justas pero algo menores. Las terceras mayores resultan ser muy grandes respecto de las justas pero, entonces, resultan ser más semejantes a las pitagóricas. Por el contrario, las terceras menores resultan muy pequeñas respecto de las justas y más semejantes a las pitagóricas239. Buscaremos en la partitura ejemplos de cada uno de los tipos de intervalos que podemos encontrar en el temperamento igual:

Acorde Intervalo Relación numérica Distancia (cents) Diferencia con la JE Quintas temperadas Todas 1.49056 700 -1.95 Terceras mayores temperadas Todas 1.26 400 13.68 Terceras menores temperadas Todas 1.19 300 -15.64

1.2.4 Aplicación del temperamento mesotónico de 1/4 de comma

Sabemos que el temperamento mesotónico de 1/4 de comma es un temperamento en el que se pretende conseguir el máximo de terceras mayores justas debido a una reducción de las quintas. Por otro lado, las terceras menores resultan algo menores que las justas en la misma proporción en que lo resultan las quintas240. Buscaremos en la partitura ejemplos de cada uno de los tipos de intervalos que podemos encontrar en el temperamento mesotónico de 1/4 de comma:

Acorde Intervalo Relación numérica Distancia (cents) Diferencia con la JE Quintas temperadas 1 Do-Sol 1.495 696.58 -5.37 Quintas falsas o del lobo 7 Sol#-Re# (Mib) 1.53 737.64 +35.69 Terceras mayores temperadas 1 Do-Mi 1.25 386.31 -0.01 Terceras mayores falsas 5/15 Re# (Mib)-Si / Lab (Sol#)-Do 1.28 427.37 +41.05

239 Véase el apéndice 4 donde se explican las principales características de cada afinación. 240 Véase el apéndice 4 donde se explican las principales características de cada afinación.

Page 118: SpecMusic Libre

118

Terceras menores temperadas 1 Mi-Sol 1.197 310.27 -5.37 Terceras menores falsas 5 Re# (Mib)-Fa# 1.17 269.20 -46.44

1.2.5 Aplicación del algoritmo adaptativo de W. A. Sethares

Sabemos que el algoritmo adaptativo de W. A. Sethares tiene que converger hacia los valores de la justa entonación en todos los casos existentes o, al menos, en la mayoría de ellos. Veamos hasta qué punto se cumple tal suposición teórica.

Antes de todo, hemos de escoger el espectro que vamos a usar como parámetro. De entrada, escogeré el espectro armónico de 6 picos tomando todas las amplitudes de valor la unidad241. Después de probar su funcionamiento con este espectro, en los siguientes apartados estudiaré con más detalle el tema del espectro.

En teoría, el algoritmo adaptativo ha de conseguir que todas los intervalos se afinen conforma a la justa entonación, independientemente de su situación dentro del círculo de quintas y lejos de cualquier solución de compromiso que desajuste unos intervalos a favor de otros. Eso es, para el caso de las consonancias242:

Relación numérica Razón numérica Distancia en cents Octava justa 2 2 1200 Quinta justa 3/2 1.5 701.95 Cuarta justa 4/3 1.3334 498.04 Tercera mayor 5/4 1.25 386.31 Tercera menor 6/5 1.2 315.64 Sexta mayor 5/3 1.6667 884.36 Sexta menor 8/5 1.6 813.69

Los resultados obtenidos de la aplicación del algoritmo se alejan varias veces de los resultados

esperados teóricamente. Funcionan correctamente las octavas, quintas y cuartas, es decir, las consonancias perfectas. Por otro lado, las sextas mayores funcionan correctamente pero no así las menores que toman siempre el valor de las mayores. En el caso de las terceras pasa algo similar, funcionan correctamente las mayores pero las menores solo convergen adecuadamente en alguno de los casos.

En el apartado siguiente intentaré dar explicación a estos resultados y, después, plantearé soluciones que los mejoren.

1.2.6 Valoración del resultado del algoritmo

Para la aplicación del algoritmo adaptativo de W. A. Sethares a la partitura puesta como ejemplo hemos aplicado el siguiente espectro como parámetro:

Se trata de un espectro armónico de 6 parciales y de amplitud uniforme y normalizada a la unidad cuya curva de disonancia es243:

241 Éste es el espectro que W. A. Sethares toma habitualmente para evaluar su algoritmo. Véase W. A. Sethares: Tuning,

Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997. 242 El caso de las disonancias es tratado en el apartado V.1.2.7 aunque, en realidad, sale fuera de los objetivos de la justa

entonación. En cualquier caso, se evaluarán los resultados en función de los valores que estos intervalos toman en la escala física de Zarlino, la más cercana a la justa entonación en cuestión de principios.

243 La curva se obtiene con el programa después de haber editado el espectro. Éste debe editarse con una frecuencia fundamental determinada, por ejemplo, 440 Hz.

Page 119: SpecMusic Libre

119

Ilustración 10: Curva de disonancia del espectro

.

Si observamos la curva de disonancia de este espectro vemos que se producen unos mínimos en

los puntos que se corresponderán con la escala relacionada. De eso puede deducirse que el espectro puede funcionar bastante bien en partituras diatónicas, incluso con un tercer grado variable (tercera mayor y menor desde la tónica, o sea Mi o Mi b). Fallaría la séptima mayor que, en su lugar, se sustituiría por la menor. Entonces, funcionaría perfectamente con los modos dórico y mixolidio. La escala resultante, con tónica Do, quedaría así:

Do – Re – Mi b / Mi – Fa – Sol – La – Si b – Do.

El intervalo de cuarta aumentada o quinta disminuida (tratados enarmónicamente) podría funcionar en ciertas ocasiones.

Con todo esto suponemos que estamos trabajando con el espectro con el que se ha originado dicha escala o similar.

Utilizando este espectro como parámetro del algoritmo adaptativo, vemos que puede adaptar los siguientes intervalos:

- Segunda mayor - Tercera menor - Tercera mayor - Cuarta justa - Quinta justa - Sexta mayor - Séptima menor La sexta menor no funciona correctamente y la cuarta aumentada o quinta disminuida queda en

duda. Para poder considerar intervalos diferentes deberíamos aumentar el número de rayas espectrales. Podemos comprobar estos resultados mediante el programa. Para ello, una vez guardado el

espectro, podemos crear una nueva escala a partir de él y que se corresponderá con su escala relacionada. Podemos darle el nombre Escala-Armónico.scl.

Por otro lado, podemos calcular las relaciones numéricas de la escala física de Zarlino a partir de sus parámetros, o lo que es lo mismo, mediante sus definiciones axiomáticas. Para ello, indiquemos en el diálogo correspondiente los siguientes valores para los parámetros244:

- Modelo de escala: “Escala física”. - Espectro: el que hemos editado y guardado245. - Origen X del sistema: -3. - Origen Y del sistema: -1. - Vector de periodo: 0.

244 Para la aclaración de estos parámetros véase el apartado II.3.9 y la nota existente acerca de mi teoría axiomática al final de la

bibliografía. 245 En este caso coincide con el “Armónico” predeterminado.

Page 120: SpecMusic Libre

120

- Nivel de aproximación: 4 y 6. - Definición del vector sintónico: 4, 3. Los parámetros para la definición de los temperamentos mesotónicos no serán contemplados

para este caso al igual que las opciones que están desactivadas. Una vez obtenidos los resultados, guardamos las escalas resultantes246 y convertimos a relaciones

numéricas decimales (en referencia a la primera nota). Sus valores, junto con los de la escala relacionada, se encuentran en la siguiente tabla:

Escala física (nivel 6) Escala física (nivel 4) Escala relacionada 1.00000 1.04167 1.12500 1.20000 1.25000 1.33333 1.38889 1.50000 1.56250 1.66667 1.80000 1.87500

1.00000 1.12500 1.20000 1.33333 1.50000 1.66667 1.80000

1.00000 1.14100 1.20000 1.25000 1.33300 1.50000 1.66700 1.77800

El primer caso corresponde al nivel 6 con el que se obtiene la escala cromática de 12 notas y el

segundo, al nivel 4 con el que se obtiene la escala diatónica de 7 notas. El tercer caso corresponde a la escala relacionada obtenida a partir del espectro armónico de 6 parciales con el que estábamos trabajando. De entrada, el número de notas no coincide con ninguna de las dos escalas físicas. No obstante, comparemos sus relaciones numéricas:

Sus valores coinciden para los intervalos correspondientes al unísono, la tercera menor, la tercera mayor, la cuarta justa, la quinta justa y la sexta mayor. Además tenemos dos intervalos más que se aproximan a la segunda mayor y a la séptima menor247.

La escala obtenida de 8 notas no es adecuada para trabajar por sí sola en nuestro sistema musical de 7 o 12 notas y, si la aplicamos a una partitura, hemos de tener en cuenta la asociación que hemos hecho con las otras escalas y editarla consecuentemente (los números de las notas serán diferentes)248. De lo contrario, los cálculos no funcionarán correctamente.

Aplicando la escala relacionada con el espectro podemos obtener unísonos, terceras menores justas, terceras mayores justas, cuartas justas, quintas justas, sextas mayores justas octavas justas y unas segundas y séptimas, de entrada, indeterminadas. Si nos fijamos en la curva de disonancia, los mínimos que se refieren a estos dos intervalos son mínimos amplios.

De todo esto, podemos deducir que, en la aplicación de escalas, nos encontramos ante problemas y lagunas en sus criterios de definición, los sistemas musicales y su relación. Tal problema pretende resolverlo mi teoría axiomática249 y que, precisamente, el estudio de todos estos casos mediante el programa que he creado, permitirá resolverlos y contemplarlos en ella de tal manera que la teoría irá siendo redefinida progresivamente.

En el caso de la partitura que hemos puesto como ejemplo no hemos podido aplicar la escala relacionada ya que su número de notas es menor que el número de notas que aparecen en la partitura ya que ésta tiene un gran contenido de armonía cromática. Lo que sí hemos podido hacer es aplicar el algoritmo adaptativo con este espectro como parámetro. Con estas últimas observaciones podemos encontrar la explicación a los resultados obtenidos en el apartado anterior y, a la vez, buscar nuevas alternativas para mejorarlos. De hecho, la aplicación del algoritmo ha dado resultados más satisfactorios.

246 La segunda de estas escalas, la de nivel de aproximación 6, coincide con la escala predeterminada con el nombre “Escala

física de Zarlino”. 247 El valor de la relación numérica de la séptima menor también es diferente de 7/4, valor que correspondería al mismo

intervalo justo en escalas como las de Harry Partch que consideran la existencia del armónico 7. Véase Harry Partch: Genesis of a

music, Da Capo Press, New York, 1974. 248 El programa, por ahora, sólo trabaja con partituras de 12 notas y escalas de dimensiones diferentes no pueden aplicarse a las

partituras si no se editan en su forma numérica. Futuras versiones del programa tendrán en cuenta esta deficiencia que, entre otras cosas, requiere una redefinición del significado del término “sistema musical”.

249 Véase el apartado II.3.9.

Page 121: SpecMusic Libre

121

El caso de las sextas menores ha quedado justificado ya que tal intervalo no existe en la escala relacionada250. El caso de las disonancias y semiconsonancias se estudiará en el apartado siguiente. El único intervalo que queda dudoso y pendiente de un estudio más profundo del funcionamiento del algoritmo es el de la tercera menor que solamente funciona en algunos casos. Pueden influir el contexto (o sea, el resto de intervalos del acorde), la afinación inicial o bien otros factores que puedan determinar errores en la convergencia del algoritmo.

En los apartados siguientes voy a realizar un estudio de las curvas de disonancia de diferentes espectros e intentaré buscar una alternativa mejor para el espectro utilizado como parámetro. Igualmente, en el apartado V.2 propondré otro ejemplo más adecuado para trabajar con escalas relacionadas.

1.2.7 Evaluación del resultado en las disonancias

Aunque este tema quede un poco fuera de los objetivos de este algoritmo que pretende acercarse a la justa entonación, intentaré evaluar el caso de los intervalos disonantes basándome en los valores que toman en la escala física de Zarlino. Ésta es la escala que más se aproxima, en cuestión de principios, a la justa entonación. Tales intervalos no tienen un valor preestablecido en las afinaciones relacionadas con la justa entonación aunque en la práctica toman ciertos valores como resultado del cálculo de suma y resta de intervalos. El caso de los intervalos disonantes tratados como valores preestablecidos en la justa entonación (como principios axiomáticos de la escala) quedará pendiente para otro estudio posterior en el cual deberán tenerse en cuenta tendencias más recientes como las de Harry Partch251 u otros. Tales escalas tienen en consideración la influencia del 7º y/o el 11º armónico. El estudio del resto de intervalos disonantes (consonancias condicionales o intervalos aumentados o disminuidos) también quedará pendiente.

Consideraré cada disonancia por separado en las siguientes tablas:

Cuarta aumentada Relación numérica Razón numérica Distancia en cents Escala pitagórica 729/512 1.4238 611.73 Escala física de Zarlino 25/18 1.3889 568.72 Temperamento igual 1.4142 600 Temperamento mesotónico de 1/4 de comma 1.39383 574.86 Algoritmo adaptativo de W. A. Sethares 1.39 570.1 Escalas posteriores252 11/8 1.375 551.32

Quinta disminuida Relación numérica Razón numérica Distancia en cents Escala pitagórica 1024/729 1.4047 588.27 Escala física de Zarlino 64/45 1.4222 609.78 Temperamento igual 1.4142 600 Temperamento mesotónico de 1/4 de comma 1.43 619.22 Algoritmo adaptativo de W. A. Sethares 1.5 701.95 Escalas posteriores 7/5 1.4 582.51

Si observamos de nuevo la curva de disonancia del espectro utilizado, vemos que todos los

valores de estos intervalos en las escalas tradicionales caen muy cerca del punto de inflexión de la curva (punto correspondiente a la relación numérica obtenida mediante el algoritmo). Ello significa que, en teoría, el algoritmo ha de converger correctamente para el caso del intervalo de trítono. No obstante, el hecho de no quedar el mínimo del todo definido, puede llevar a la convergencia del intervalo sobre el de cuarta justa si el stepsize es muy grande. Otro problema es la cercanía del máximo a la derecha ya que una afinación inicial que hiciera caer el intervalo de cuarta aumentada por encima del valor del máximo, podría hacer que el intervalo convergiese hacia la quinta justa. Pero este no es el caso del temperamento igual de 12 notas.

250 Debemos tener en cuenta que su relación numérica es 8/5 y que el número 8 requiere la existencia de un pico espectral del

mismo orden (véase el apartado II.4.3.2 donde se habla de las propiedades de las curvas de disonancia). No es casualidad que este intervalo ya fuese problemático para la clasificación de consonancias realizada por G. Zarlino en su Institutione harmonique, Venecia 1558, capítulo 14. En tal tratado, Zarlino incluye todas las consonancias (perfectas e imperfectas según nuestra actual clasificación) dentro del senario, el conjunto determinado por los seis primeros números naturales y que se corresponde con un sustitutivo de la tetractys pitagórica. Debe recurrir a la distinción aristotélica de “potencia” y “acto” para dar cabida al intervalo de sexta menor dentro del conjunto de las consonancias. Véase J. Javier Goldáraz Gainza: Afinación y temperamento en la música

occidental, Madrid, Alianza Editorial 1992, p. 34. 251 Véase el apéndice 4 y, para el caso concreto de H. Partch, véase H. Partch: A genesis of a music, Da Capo Press, New York,

1974. 252 A modo de información. Me refiero a escalas que consideran el 7º y/o el 11º armónico, por ejemplo, la de Harry Partch.

Page 122: SpecMusic Libre

122

Tenemos una cuarta aumentada en el acorde 9 y su valor tras la convergencia es de 1.39, muy cercano al valor del intervalo en la escala física de Zarlino. El algoritmo funciona correctamente para el caso de la cuarta aumentada.

Por otro lado, tenemos una quinta disminuida en el acorde 11 y su valor tras la convergencia es de 1.5 (valor de la quinta justa) cuando debería acercarse a 1.42. En este caso, el algoritmo no ha funcionado correctamente, incluso inicializando el algoritmo con el temperamento igual. Esto es extraño ya que el valor temperado del trítono se sitúa en un punto a la izquierda del pico y con pendiente negativa hacia la izquierda. Debería revisarse el caso mediante el debugger aunque quizás exista alguna relación con el hecho de que sea el Si la nota grave, la cual no existe en la escala relacionada.

Séptima menor Relación numérica Razón numérica Distancia en cents Escala pitagórica 16/9 1.7778 996.09 Escala física de Zarlino 9/5 1.8 1017.6 Temperamento igual 1.7818 1000 Temperamento mesotónico de 1/4 de comma 1.865 1079.01 Algoritmo adaptativo de W. A. Sethares 1.8 1017.6 Escalas posteriores 7/4 1.75 968.82

Si observamos la curva de disonancia para este espectro vemos que todos estos valores caen

cerca del mínimo amplio correspondiente al intervalo de séptima menor y no son excesivamente disonantes. Cabe destacar que la séptima menor pitagórica es muy cercana al mínimo de disonancia.

Tenemos una séptima menor en el acorde 9 y su valor tras la convergencia es de 1.8 (1.5 * 1.2), igual a su valor en la escala física de Zarlino aunque bastante por encima del valor del intervalo justo (7/4).

Segunda mayor Relación numérica Razón numérica Distancia en cents Escala pitagórica 9/8 1.125 203.91 Escala física de Zarlino 9/8 (10/9) 1.125 (1.1111) 203.91 (182.4) Temperamento igual 1.1224 200 Temperamento mesotónico de 1/4 de comma 1.117 191.55 Algoritmo adaptativo de W. A. Sethares 1.1111 182.4 Escalas posteriores 9/8 1.125 203.91

Si observamos la curva de disonancia para este espectro vemos que todos estos valores caen

cerca del mínimo amplio correspondiente al intervalo de segunda mayor (siempre algo mayores) y no son excesivamente disonantes.

Tenemos una segunda mayor en el acorde 11 y su valor tras la convergencia es de 1.11, igual que su valor en la escala física de Zarlino para el caso del tono menor aunque resulta algo menor que para el caso del tono mayor.

Séptima mayor Relación numérica Razón numérica Distancia en cents Escala pitagórica 243/128 1.8984 1109.77 Escala física de Zarlino 15/8 1.875 1088.27 Temperamento igual 1.8877 1100 Temperamento mesotónico de 1/4 de comma 1.865 1079.01 Algoritmo adaptativo de W. A. Sethares No hay Escalas posteriores

Segunda menor Relación numérica Razón numérica Distancia en cents Escala pitagórica 256/243 (2187/2048) 1.0535 90.22 Escala física de Zarlino 16/15 (25/24) 1.0667 111.73 Temperamento igual 1.05946 100 Temperamento mesotónico de 1/4 de comma 1.04167 70.68 Algoritmo adaptativo de W. A. Sethares No hay Escalas posteriores

Todos estos valores son extremadamente disonantes, sobretodo el caso de la segunda menor. Los

dos caen cerca de los picos de la curva de disonancia. No existe ningún caso de ellos en al partitura

Page 123: SpecMusic Libre

123

propuesta como ejemplo pero, en su caso, y según lo que puede observarse a través de la curva de disonancia, convergerían incorrectamente de la siguiente manera:

- La segunda menor hacia la segunda mayor. - La séptima mayor hacia la séptima menor. Debe remarcarse que el valor de la segunda menor es muy cercano al pico y eso hace que exista

una enorme sensibilidad de la dirección de convergencia dependiendo frente a la afinación con la que se inicialice el algoritmo. Para el caso del temperamento igual, el valor del intervalo está a la derecha del pico y su convergencia será hacia la segunda mayor pero pueden haber otras escalas cuyo valor del intervalo d se sitúe a la izquierda del pico y el intervalo converja en sentido opuesto hacia el unísono.

En conclusión, podemos decir que, para el espectro trabajado, el algoritmo funciona muy bien para el caso de la segunda mayor, la cuarta aumentada y la séptima menor. No así para la segunda menor, quinta disminuida y séptima menor. Además, los valores de la disonancia para estos intervalos son algo elevados al no converger sobre un mínimo local y el caso de la cuarta aumentada resulta inestable al encontrarse sobre un punto de inflexión u no sobre un mínimo. Propondremos otros espectros que puedan mejorar este resultado.

1.2.8 Evaluación auditiva

Si reproducimos auditivamente la secuencia MIDI creada a partir de la partitura trabajada mediante el reproductor multimedia implementado, podemos aplicar las diferentes afinaciones que hemos considerado en el análisis de los apartados previos. Mediante esta audición podemos realizar un análisis más cualitativo y, a la vez, menos riguroso que el anterior pero no menos interesante, sobretodo si pensamos en la finalidad de cualquier manifestación musical que, en definitiva, va a ser valorada de forma auditiva. Realizaré las siguientes observaciones para cada una de las afinaciones consideradas en los apartados anteriores:

a) En la escala pitagórica, los acordes con intervalos falsos se oyen muy disonantes debido a la presencia de la “quinta del lobo”; algunos intervalos tríadas se oyen extraños aunque no desafinados debido a la afinación justa de la quinta (este efecto se oye muy claramente en el acorde 4); los intervalos disonantes de séptima no son especialmente característicos ya que son disonantes de por sí.

b) En la escala física de Zarlino, los acordes con intervalos falsos se oyen muy disonantes, más que para el caso de la afinación pitagórica; los acordes tríadas se oyen extraños pero sin oscilaciones debido a la afinación justa de los intervalos de tercera y quinta (este efecto se acentúa más que para el caso de la afinación pitagórica y, especialmente, en los acordes invertidos); los intervalos disonantes de séptima son mucho más disonantes que en la afinación pitagórica.

c) En el temperamento igual no se aprecian efectos característicos debido a que es la afinación a la que estamos acostumbrados. No obstante se ha de tener en cuenta que las terceras son muy altas respecto de las justas y eso hace que oigamos extraños los acordes tríadas afinados respecto de la justa entonación.

d) En el temperamento mesotónico de 1/4 de comma, los acordes con intervalos falsos se oyen disonantes aunque no tanto como para el caso de la escala física de Zarlino (en el acorde 7 es donde más se aprecia el efecto de la quinta del lobo ya que está presente de forma explícita, en cambio, el acorde 5 se oye bien afinado debido a alguna de las diferencias del temperamento); los acordes tríadas se oyen normales, similares a los del temperamento igual (en cualquier caso el efecto de alguna tercera justa no se aprecia aquí excesivamente); los intervalos disonantes de séptima tampoco destacan especialmente.

e) En el temperamento Werckmeister III, los acordes con intervalos falsos se oyen bien debido a la circularidad existente; los acordes tríadas se oyen normales aunque alguno se oye de forma algo extraña debido al efecto de alguna tercera justa (en concreto, en el acorde 4); los intervalos disonantes de séptima tampoco destacan especialmente. En general, el efecto es similar al del temperamento igual debido a la similitud en su constitución.

f) Aplicando el algoritmo adaptativo de W. A. Sethares con un espectro armónico de 6 picos como parámetro e inicializando con el temperamento igual, los acordes con intervalos falsos se oyen afinados; los acordes tríadas se oyen extraños aunque sin oscilaciones (de forma similar a lo que se oía en el caso de la escala física de Zarlino); los intervalos disonantes de séptima tampoco destacan especialmente. El efecto más notorio en este caso viene dado por los intervalos melódicos, los cuales se mueven bastante respecto de lo que estamos acostumbrados (este efecto puede venir dado por el mismo efecto de sliding y se oye muy claramente entre el Do y el Si dela voz superior del primer compás).

Page 124: SpecMusic Libre

124

g) Finalmente, si aplicamos el algoritmo con un espectro inarmónico se aprecia bastante bien el efecto de las disonancias provocadas por la inadaptación de la afinación al espectro con el que realmente se está reproduciendo el sonido en el ordenador. No obstante, tal efecto dependerá del grado de inarmonicidad del espectro que se tome como parámetro.

En general, podemos decir que los resultados auditivos se corresponden bastante con los esperados, teniendo en cuenta las medidas realizadas con el programa que se han expuesto en los apartados previos.

1.3 Estudio de otros espectros

1.3.1 Estudio de las curvas de disonancia

En este apartado realizaré un estudio más detallado de diversas curvas de disonancia de diversos espectros. La representación gráfica de estas curvas se encuentra en el apéndice 9. No se trata de comprobar ahora el funcionamiento del algoritmo para cada uno de los espectros existentes ya que resulta infinito y que con el programa puede estudiarse fácilmente. Simplemente intentaré buscar un espectro lo más apropiado posible para tomarlo como parámetro del algoritmo adaptativo que se aplique a la partitura que he propuesto como ejemplo y comprobar después su funcionamiento. Eso lo podremos decidir en función de los intervalos que se vayan añadiendo a medida que aumentemos el número de picos del espectro. No obstante, la solución exacta (o, al menos, más aproximada) podría dárnosla el algoritmo inverso al de extraer la escala relacionada con un espectro, es decir, buscar el espectro apropiado para una cierta escala, algoritmo también propuesto por W. A. Sethares pero que no he añadido aún al programa.

Por otro lado, el número de notas de la escala relacionada nos puede ayudar a determinar qué espectro es el más adecuado para trabajar con su escala relacionada en una partitura concreta basada a su vez en una escala concreta con ciertos grados de escala.

Empezaré estudiando el espectro de 5 picos (1, 2, 3, 4, 5) ya que es la mínima dimensión del espectro que permite aproximarnos a la justa entonación debido a que la tercera debe tener relación numérica 5/4253. Examinaré su curva de disonancia de cara a obtener ciertas conclusiones y proseguiré el estudio con otros espectros aumentando su número de picos.

Las conclusiones que pueden extraerse de estudiar las curvas de disonancia son: • El número de notas de la escala relacionada a partir del número de mínimos existentes entre

la unidad y la octava. • La comparación de los valores resultantes en los mínimos de la curva con los valores de la

justa entonación determina los grados de la escala existentes. • A partir de los grados de escala pueden determinarse los modos en los que puede utilizarse. • A partir de los grados de escala también pueden determinarse los intervalos que el algoritmo

de W. A. Sethares podrá adaptar si se usa tal espectro como parámetro. He aquí unas tablas que resumen todos estos aspectos aplicados a diversos espectros:

Espectro 1, 2, 3, 4, 5 Número de notas 7 Grados de escala VII rebajado Modos de escala Mixolidio Intervalos 2ª mayor, 3ª mayor, 4ª justa, 5ª justa, 6ª mayor, 7ª menor y 8ª justa El trítono difícilmente puede converger correctamente y, si se diera el caso, seguramente lo haría

hacia la cuarta justa. Espectro 1, 2, 3, 4, 5, 6 Número de notas 8 Grados de escala VII rebajado; III variable Modos de escala Dórico, mixolidio Intervalos 2ª mayor, 3ª menor, 3ª mayor, 4ª justa, 5ª justa, 6ª mayor, 7ª menor

y 8ª justa

El trítono puede funcionar si el stepsize no es muy alto. En caso contrario puede converger hacia la 4ª justa.

253 Véase el apartado II.3.9.

Page 125: SpecMusic Libre

125

Espectro 1, 2, 3, 4, 5, 6, 8 Número de notas 10 Grados de escala VII rebajado; III, IV y VI variables Modos de escala Dórico, mixolidio, eólico Intervalos 2ª mayor, 3ª menor, 3ª mayor, 4ª justa, 5ª justa, 6º menor, 6ª mayor, 7ª

menor y 8ª justa El trítono puede funcionar si la afinación inicial no es mucho más alta, en caso contrario puede

converger hacia la 5ª justa. Espectro 1, 2, 3, 4, 5, 6, 8, 9 Número de notas 9 (10) Grados de escala Modos de escala Dórico, mixolidio, eólico Intervalos 2ª mayor, 3ª menor, 3ª mayor, 4ª justa, 5ª justa, 6º menor, 6ª mayor, 7ª

menor y 8ª justa La 10ª nota no está muy clara, correspondería a la cuarta aumentada. El trítono puede funcionar si su valor en la afinación inicial no es más bajo que el valor adaptado

(el correspondiente al punto de inflexión) y se toma un stepsize no muy alto; en caso contrario puede converger hacia la 4ª justa.

Una diferencia con el caso anterior es que los intervalos de 2ª y 7ª convergerán hacia sus valores exactos en la afinación justa y que ahora corresponden a mínimos locales de la curva. Los mínimos sobre la 2ª menor y la 7ª mayor empiezan a perfilarse. Quizás podrían acentuarse rebajando la amplitud del primer armónico.

Espectro 1, 2, 3, 4, 5, 6, 8, 9, 15 Número de notas 10 (11) Grados de escala Modos de escala Jónico, dórico, mixolidio, (lidio,) eólico Intervalos 2ª mayor, 3ª menor, 3ª mayor, 4ª justa, 5ª justa, 6ª menor, 6ª mayor, 7ª

menor, 7ª mayor, 8ª justa El trítono funciona más o menos como en el caso anterior. Probablemente, para alguno de los espectros que contenga algún pico comprendido entre los que

he saltado, su curva de disonancia tenga mínimo amplio correspondiente a la séptima mayor. Espectro 1, 2, 3, 4, 5, 6, 8, 9, 15, 16 Número de notas 12 (13) Grados de escala Modos de escala Jónico, dórico, frigio, mixolidio, (lidio,) eólico, (modo en Si)

Más otra nota añadida Intervalos 2ª menor, 2ª mayor, 3ª menor, 3ª mayor, 4ª justa, 5ª justa, 6ª menor, 6ª

mayor, 7ª menor, 7ª mayor, 8ª justa El trítono funciona más o menos como en el caso anterior. Hay un intervalo añadido cerca de la séptima menor y por debajo que puede corresponder a la

sexta aumentada. Eso puede crear problemas de convergencia dependiendo de la afinación inicial. El intervalo de 2ª menor tiene muy poca estabilidad. Espectro 1, 2, 3, 4, 5, 6, 8, 9, 15, 16, 25 Número de notas 13 (14) Grados de escala Modos de escala Jónico, dórico, frigio, mixolidio, (lidio,) eólico, (modo en Si)

Más otras dos notas añadidas Intervalos 2ª menor, 2ª mayor, 3ª menor, 3ª mayor, 4ª justa, 5ª justa, 6ª menor, 6ª

mayor, 7ª menor, 7ª mayor, 8ª justa

El trítono funciona más o menos como en el caso anterior.

Page 126: SpecMusic Libre

126

Hay dos intervalos añadidos cerca de la séptima menor y de la sexta menor, los dos por debajo; pueden corresponder a la quinta y a la sexta aumentadas. Eso puede crear problemas de convergencia dependiendo de la afinación inicial.

El intervalo de 2ª menor sigue teniendo muy poca estabilidad. Espectro 1, 2, 3, 4, 5, 6, 8, 9, 15, 16, 18, 25 Número de notas 14 Grados de escala Modos de escala Intervalos 2ª menor, 2ª mayor, 3ª menor, 3ª mayor, 4ª justa, 4ª aumentada, 5ª

justa, 6ª menor, 6ª mayor, 7ª menor, 7ª mayor, 8ª justa El trítono funciona más o menos como en el caso anterior. Hay dos intervalos añadidos cerca de la séptima menor y de la sexta menor, los dos por debajo;

pueden corresponder a la quinta y a la sexta aumentadas. Eso puede crear problemas de convergencia dependiendo de la afinación inicial.

El intervalo de 2ª menor sigue teniendo muy poca estabilidad.

1.3.2 Consideraciones adicionales

En todos estos ejemplos hemos tomado el caso concreto de espectros con picos uniformes y normalizados en amplitud. No obstante, variando las amplitudes se pueden variar el alto de los máximos y contribuir así a que los mínimos queden más o menos acentuados. Se puede jugar con las amplitudes para crear más estabilidad o menos en ciertos grados de la escala.

Por ejemplo, si al espectro de 5 picos le disminuyen las amplitudes de los armónicos superiores, quedan todos los grados de escala más inestables, especialmente los que tenían mínimos amplios (2ª y 7ª) que prácticamente desaparecen. Por el contrario, si al último espectro, le aumentamos la amplitud del pico que hacía aparecer la 2ª menor, podemos acentuar su mínimo correspondiente y hacer este intervalo más estable.

Me he saltado los picos de los espectros de orden 7 y 11 (y otros). Estos picos hacen aparecer intervalos de séptima y cuarta aumentada utilizando un número menor de picos. La razón está en que pretendo aproximarme a la definición de la justa entonación la cual considera únicamente el tratamiento como consonancias de las terceras y sextas mayores y menores y cuartas y quintas justas, a parte de los unísonos y las octavas. El caso de los intervalos de sétima y cuarta aumentada ha sido estudiado posteriormente por otros autores como Harry Partch254 y su estudio con mi programa quedará pendiente para otra ocasión.

Otra observación de interés es que aumentando el número de picos aumentamos la dimensión de la escala relacionada y la posibilidad de obtener más intervalos consonantes y adaptables mediante el algoritmo pero, a la vez, nos encontramos ante el inconveniente de que con el número de picos aumenta también la disonancia. Nos encontramos aquí ante un problema de compromiso típico de cualquier diseño de ingeniería. Una solución a este problema podría ser disminuir equitativamente la amplitud de todos los picos pero ello debería tenerse en cuenta a la hora de realizar proyectos posteriores de síntesis de sonido los cuales determinarían las limitaciones a este procedimiento.

1.3.3 Modificación del espectro

Partiendo de los resultados del algoritmo obtenidos sobre la partitura de ejemplo en el apartado V.1.2.5, vemos que han quedado pendientes la sexta menor y al cuarta aumentada que sólo funcionaba en algunas ocasiones. Para la sexta menor era necesario el pico 8, para la cuarta aumentada el 25 y el 18, para las disonancias de 2ª y 7ª, el 9. El intervalo de trítono quedaba mejor establecido en el de 8 que en el de 9 (éstas ya convergían correctamente, se trata de ajustar su valor a la escala física de Zarlino). Para solventar estos problemas, podríamos hacer dos cosas:

1) Añadir los armónicos 18 y 25: de esta manera se obtiene un mínimo local para el intervalo de cuarta aumentada en el valor exacto que toma en la escala física de Zarlino. En este caso, al no añadir picos intermedios, no se añaden más notas de las necesarias (aunque tampoco figuran los intervalos de 2ª menor ni de 7ª mayor).

2) Aumentar la amplitud del 5º armónico (2.00) y/o rebajar la del 3º (0.50): de esta manera se obtiene un mínimo amplio para la cuarta aumentada, por lo que queda bastante establecida

254 Harry Partch: Genesis of a music, Da Capo Press, New York, 1974.

Page 127: SpecMusic Libre

127

aunque en un valor que no es exactamente el de que toma en la escala física de Zarlino. La disonancia, en general es más elevada que para la solución anterior.

Como que para esta partitura no son necesarias la 2ª menor ni la 7ª menor, estas soluciones nos permiten adaptar todos los intervalos existentes en la partitura. Entonces, de cara a decidirnos por una de las dos soluciones, tendré en cuenta que la primera de ellas es menos disonante y me da un valor más exacto y bueno para el intervalo de cuarta aumentada ya que se corresponde con mínimo local (debido a la coincidencia de parciales). Entonces, aplicaremos el algoritmo a la partitura de ejemplo, utilizando como parámetro el espectro determinado por esta segunda solución.

El espectro queda determinado mediante la siguiente expresión:

donde f0 es la frecuencia fundamental y que, por defecto, la asocio siempre a la frecuencia del La normal, o sea, 440 Hz255.

Su curva de disonancia es la siguiente:

Ilustración 11: Curva de disonancia del espectro modificado.

1.3.4 Valoración con el espectro modificado256

En general han mejorado los resultados aunque todavía se observan algunos valores erróneos: • En el acorde 5: 6ª menor que converge a 1.6426 (este intervalo es falso pero otro intervalo

similar en el acorde 7 funciona correctamente); 3ª menor desde el bajo a 1.2319 como consecuencia del resultado de la sexta anterior; los dos intervalos consecutivos agudos funcionan correctamente.

• En el acorde 9: 4ª aumentada que converge a 1.4062; 6ª mayor a 1.6874 como consecuencia del resultado de la semiconsonancia.

• En el acorde 11: 5ª disminuida que converge a 1.50; 6ª menor a 1.6654 (valor de la 6ª mayor) y 3ª menor a 1.2491 (valor de la 3ª mayor) como consecuencia del resultado de la semiconsonancia.

En cambio, para el caso de las disonancias, tenemos lo siguiente: • En el acorde 9: 2ª mayor que converge a 1.125, su valor correspondiente en la escala física

de Zarlino.

255 Véase el apéndice 3 dedicado a la afinación del La normal. 256 Las tablas con los resultados se encuentran en el apéndice 7 junto con los de la evaluación anterior.

Page 128: SpecMusic Libre

128

• En el acorde 11: 7ª menor que converge a 1.8, su valor correspondiente en la escala física de Zarlino.

En conclusión, ahora funcionan bien las terceras y sextas, también funcionan bien las disonancias de segunda mayor y séptima menor, pero siguen sin funcionar las semiconsonancias (el trítono en sus dos formas enarmónicas –cuarta aumentada y quinta disminuida-), afectando a los intervalos que pertenecen al mismo acorde.

El caso de la quinta disminuida sería lógico si inicializáramos con algunas afinaciones en las cuales, su valor es más elevado que para la cuarta aumentada pero no pasa así en el temperamento igual. Queda incierto el caso de la sexta del acorde 9.

Según este resultado, sería mejor tomar el espectro de 9 picos (sin el 7º) ya que las disonancias de segunda mayor y séptima menor funcionarían igualmente, la cuarta aumentada sería más buena (según los resultados de la evaluación anterior) aunque seguiría fallando la quinta disminuida, la cual no ha sido mejorada.

1.4 Partituras de disonancia

1.4.1 Escala pitagórica

Ilustración 12: Partitura de disonancia (ejemplo 1, escala pitagórica).

En esta partitura de disonancia257 destacan algunos picos que se corresponden con el acorde que

tiene la quinta falsa o del lobo258 y a otros dos correspondientes a los acordes que tienen disonancias o semiconsonancias.

Destaca a continuación las terceras pitagóricas en las que puede observarse que su disonancia es menor cuanto más agudas son las notas del acorde, especialmente las que forman el acorde de tercera. La disonancia de los acordes que contienen las terceras pitagóricas se encuentra alrededor del valor 6. Resulta curioso observar que los mínimos de disonancia corresponden a acordes que contienen intervalos de terceras que atraviesan la quinta falsa, aunque resultan tener una relación numérica igualmente complicada, su valor es mucho más cercano al de las terceras justas259. Este hecho puede provocar que la quinta falsa existente en el acorde 7 esté compensada por la tercera falsa y no sea tan disonante como era de esperar.

Obviamente, los acordes con disonancias son los que resultan más disonantes pero, la cuestión interesante está en demostrar si la disonancia se debe más al intervalo semiconsonante o al intervalo disonante. Si miramos los acordes 9 y 11, el primero contiene el intervalo semiconsonante y el segundo no mientras que la diferencia de disonancia no es excesiva por lo que podemos deducir que la disonancia se debe fundamentalmente a los intervalos disonantes de 2ª y 7.

257 Para la explicación del concepto de “partitura de disonancia” véase el apartado II.4.3.7. En concreto, en los gráficos

representados en el presente apartado, cada línea horizontal representa un acorde según se ha definido en el apartado IV.4.1. 258 Su valor de disonancia es 7.62. 259 Véase el apéndice 4.

Page 129: SpecMusic Libre

129

1.4.2 Escala física de Zarlino

Ilustración 13: Partitura de disonancia (ejemplo 1, escala física de Zarlino). En esta partitura de disonancia destaca la menor uniformidad entre la disonancia de los diversos

acordes. En este caso sí destaca el máximo de disonancia sobre el acorde 7, que contiene la quinta falsa260 y sobre el acorde 5, donde hay otra tercera falsa. Es curioso observar como la tercera falsa del acorde 15 no provoca un pico de disonancia. Eso es debido a que la tercera Fa - La b es la única de las terceras que atraviesa a la vez la quinta falsa y la quinta reducida; entonces, el efecto de la quinta reducida compensa al de la quinta falsa. El valor de la disonancia en el acorde 14 es excesivamente alto, coincidiendo con la única tercera pitagórica (Re – Fa) y que ya hemos visto en el caso anterior que es bastante disonante. Tanto la tercera del acorde 15 como el resto que no atraviesan la quinta falsa se mueven alrededor de tres valores diferentes de disonancia (4, 5 y 6). Veamos si este hecho tiene alguna explicación:

• Las terceras que se sitúan en el nivel bajo corresponden a los de los acordes 4, 6, 12, 13 y 16. • Las terceras que se sitúan en el nivel medio corresponden a los acordes 1, 2 y 17. • Por último, las terceras que se sitúan en el tercer nivel corresponden a los acordes 3, 8, 10, 15

(éste último con otra tercera falsa). Debería estudiarse cada caso por separado teniendo en cuenta la posible influencia del estado del

tipo de tercera considerado, del estado del acorde, de su disposición y de la altura de las notas, tanto la del conjunto como la de cada nota en relación con el bajo.

La disonancia de los acordes que contienen las terceras justas se encuentra entre los valores 4, 5 y 6 (5 en media), resultando menor que para el caso de la escala pitagórica. Esto resulta lógico si pensamos en el propio objetivo de la escala de Zarlino y, en general, de la justa entonación.

Por último, pueden observarse otros dos picos más sobre los acordes 9 y 11 los cuales contienen intervalos semiconsonantes y disonantes (segunda mayor, cuarta aumentada, séptima menor y quinta disminuida). Además, el acorde 9 contiene otro intervalo característico: la tercera mayor Re – Fa # que atraviesa dos quintas reducidas. Los picos sobre estos intervalos son lógicos ya que ninguna de estas escalas está pensada para ajustar intervalos semiconsonantes o disonantes.

260 Su valor es de 9.47.

Page 130: SpecMusic Libre

130

1.4.3 Temperamento igual de 12 notas

Ilustración 14: Partitura de disonancia (ejemplo 1, temperamento igual de 12 notas).

La partitura de disonancia del temperamento igual es bastante uniforme, mucho más que la de la

escala pitagórica. Eso es lógico si pensamos que no existen tantos tipos de intervalos, de hecho, el objetivo del temperamento igual es la simplicidad en la constitución de la escala.

Por otro lado, el nivel medio de disonancia se observa alrededor del valor 6, similar al pitagórico. También es lógico ya que las terceras son más parecidas a las pitagóricas que a las justas.

Se observan picos en los intervalos con disonancias siendo el resto de ellos bastante uniformes. Cabe destacar que han desaparecido los picos de disonancia en los intervalos que atravesaban la quinta falsa en las otras dos afinaciones. La desaparición de este intervalo es, precisamente, el objetivo principal del temperamento igual. No obstante, se observa que el acorde 8 resulta más disonante que el resto, aunque no llegue a constituir un pico. Ello puede ser debido a que es el acorde más grave y con las notas en un ámbito más reducido.

1.4.4 Temperamento mesotónico de 1/4 de comma

Ilustración 15: Partitura de disonancia (ejemplo 1, temperamento mesotónico de 1/4 de comma). En esta partitura de disonancia vuelve a observarse menos uniformidad debido de nuevo a la

existencia de varios tipos de intervalos aunque, en general, es más uniforme que para el caso de la escala física de Zarlino. El valor medio de la disonancia vuelve a estar sobre 6.

Por otro lado, desaparece bastante el efecto de las terceras falsas aunque mantienen unos valores relativamente altos. El que se mantiene en un valor muy elevado es el acorde que contiene la quinta

Page 131: SpecMusic Libre

131

falsa261 y también el que contiene la disonancia del acorde 11. No así la disonancia del acorde 9, hecho que puede quedar justificado por una influencia diferente de cada tipo de disonancia así como la ausencia de intervalos falsos. Los valores altos de los intervalos falsos están en relación con el hecho de que este temperamento sea un bueno para trabajar con las tonalidades centrales pero muy malo para el resto de tonalidades.

1.4.5 Temperamento de Werckmeister III

Ilustración 16: Partitura de disonancia (ejemplo 1, temperamento de Werckmeister III).

En este gráfico vuelve a observarse una gran uniformidad, mucho más que para el caso anterior.

Los únicos picos existentes coinciden con los intervalos disonantes de la partitura (segundas, séptimas y trítonos), incluso los intervalos falsos son bastante buenos desapareciendo así el picos típico debido a la quinta del lobo. Eso diferencia a este temperamento del anterior.

Por otro lado, el nivel medio de disonancia es similar al de los otros temperamentos y al de la escala pitagórica aunque mayor que para la justa entonación.

Estas dos características (ausencia de picos de disonancia en los intervalos falsos y mantenimiento del nivel medio de disonancia respecto del resto de temperamentos) justifican la denominación que recibieron el grupo de temperamentos entre los que está clasificado el presente de Werckmeister y que se crearon con tal fin. Me refiero a los denominados “buenos temperamentos” que se desarrollaron a lo largo de los siglos XVII y XVIII y uno de los posibles utilizados por J. S. Bach en El

clave bien temperado (de allí el nombre de la obra). Mantiene igualmente una gran similitud con el temperamento igual, solo que un poco más de oscilación debido a la menor uniformidad en su constitución.

El único problema que mantiene este temperamento, a parte de la menor simplicidad respecto del temperamento igual) es la presencia de los picos debidos a los intervalos disonantes de trítono, 2ª y 7ª (y otros que puedan aparecer).

261 Su valor es de 9.30.

Page 132: SpecMusic Libre

132

1.4.6 Algoritmo adaptativo de W. A. Sethares

Ilustración 17: Partitura de disonancia (ejemplo 1, algoritmo adaptativo de W. A. Sethares).

Tal como era de esperar, en este gráfico pueden observarse principalmente dos cosas: cierta

uniformidad y valores de disonancia en general más bajos. Han desaparecido los picos debidos a los intervalos falsos, cosa que recuerda al efecto del temperamento igual. Curiosamente tenemos un mínimo en el acorde de la quinta falsa aunque se mantiene con un valor relativamente elevado la disonancia del acorde 8, mas grave y denso.

Por otro lado, el valor medio de disonancia se mejora en frente del resultante en el temperamento igual (tenemos las terceras justas). No obstante, la curva queda algo más oscilante que para el caso de la afinación pitagórica o del temperamento igual. La oscilación puede depender de múltiples factores que deberían estudiarse al igual que pasaba con la escala física y el temperamento mesotónico.

Otro hecho destacable es la ausencia de los picos debido a las disonancias aunque se mantiene un pico menos pronunciado para el caso de la primera semiconsonancia. Eso también lo diferencia del temperamento igual y de la escala física. En el caso de la quinta disminuida se ha eliminado el pico pero ello puede ser debido al error de cálculo que lo ha convertido en un intervalo de quinta justa.

1.4.7 Algoritmo adaptativo de W. A. Sethares con el espectro modificado

Ilustración 18: Partitura de disonancia (ejemplo 1, algoritmo adaptativo de W. A. Sethares con

espectro modificado). En este caso, aunque la resolución del gráfico no permite comprobar los resultados de una

manera tan exacta, sí puede verse que el resultado es similar, algo más uniforme, pero manteniendo los picos de disonancia en el acorde que contiene la cuarta aumentada. El mismo problema sigue sucediendo con el intervalo de quinta disminuida. El hecho más notorio es el aumento de disonancia general debido al aumento en el número de picos del espectro que se ha aplicado al cálculo.

Page 133: SpecMusic Libre

133

1.4.8 Algoritmo adaptativo de W. A. Sethares con el espectro inarmónico

Ilustración 19: Partitura de disonancia (ejemplo 1, algoritmo adaptativo de W. A. Sethares con

espectro inarmónico).

En este gráfico no se observan fenómenos diferentes que en el anterior. El algoritmo se ha adaptado igualmente a la partitura. Auditivamente podrá notarse la diferencia entre aplicar el algoritmo con un espectro armónico u otro que no lo sea teniendo en cuenta que el sonido sintetizado será, en los dos casos, un espectro armónico262.

1.5 Cálculo de la disonancia total

En la siguiente tabla tenemos un resumen de los valores de la disonancia total resultantes de aplicar las afinaciones y/o temperamentos que hemos analizado:

TD Escala pitagórica 3.87 Escala física de Zarlino -32.81 Temperamento igual de 12 notas -0.01 Temperamento mesotónico de 1/4 de coma -6.90 Temperamento de Werckmeister III -7.27 Algoritmo adaptativo de W. A. Sethares Espectro armónico -173.35 Espectro armónico recalculado -93.78 Espectro inarmónico -187.12

Del estudio de esta tabla podemos extraer las siguientes conclusiones: • El valor resultante para la escala pitagórica es el más alto debido a que las terceras son

disonantes (además del resto de intervalos disonantes y falsos). • El valor resultante para el caso de la escala física de Zarlino (aproximación a la justa

entonación) es muy bajo debido a que las terceras son justas. No obstante se mantienen las disonancias debidas al resto de causas.

• El valor resultante para el caso del temperamento igual se sitúa entre el valor de la escala física de Zarlino y el de la escala pitagórica ya que desaparecen las disonancias debidas a los intervalos falsos pero no las debidas a las terceras pitagóricas ni a las del resto de intervalos disonantes263.

• El valor resultante para el caso del temperamento mesotónico de 1/4 de comma es menor que para el temperamento igual ya que desaparece el efecto debido a las terceras pitagóricas. No obstante, se mantienen las disonancias debidas a los intervalos falsos (en concreto, la de la quinta es muy pronunciada) y al resto de intervalos disonantes.

• El valor resultante para el caso del temperamento de Werkmeister III es parecido al del temperamento mesotónico. La pequeña diferencia puede deberse a la quinta falsa que en el

262 Eso, mientras no se implemente un sintetizador adecuado en nuestro reproductor de ficheros MIDI. 263 Además, su valor es prácticamente nulo ya que es el que se ha tomado como referencia en el cálculo.

Page 134: SpecMusic Libre

134

temperamento mesotónico era muy disonante y, en este caso, su efecto disonante queda muy amortiguado.

• El valor resultante para el caso del algoritmo adaptativo de W. A. Sethares con el espectro armónico de 6 picos es mínimo (menor, incluso, que para la escala física de Zarlino) debido a que han desaparecido todos los efectos de disonancia. Con ello, queda demostrado el objetivo de dicho algoritmo.

• El valor resultante para el caso del algoritmo adaptativo de W. A. Sethares con el espectro armónico modificado es también muy bueno pero no tanto como para el caso anterior, seguramente debido a la disonancia añadida por los picos que este espectro tiene de más con respecto al otro. En cualquier caso, sigue mejorando sustancialmente el resultado de la escala física de Zarlino y de todas las demás.

• El valor resultante para el caso del algoritmo adaptativo de W. A. Sethares con un espectro inarmónico es similar al del mismo algoritmo con espectro armónico. El algoritmo se ha adaptado igualmente a la partitura, incluso algo mejor que para el caso del espectro armónico. La diferencia se notará auditivamente en función del espectro sintetizado.

2. EVALUACIÓN DE CASOS PRÁCTICOS

En este apartado pretendo evaluar cuestiones más prácticas. En concreto compararé los resultados teóricos con los resultados obtenidos al aplicar un espectro armónico real. Este espectro puede haber sido obtenido mediante grabación de una nota cualquiera con cualquier instrumento armónico escogido entre cualquiera de los utilizados habitualmente en la música clásica y dentro del contexto de la cultura occidental.

El estudio se basará especialmente en la aplicación de las escalas relacionadas con cada uno de los espectros considerados, estudio que no ha podido realizarse en el apartado anterior. Para ello deberemos proponer como ejemplo una partitura más adecuado para este tipo de escalas, de entrada habrá de ser diatónica.

2.1 Composición de la partitura de ejemplo

Para la composición de la partitura me basaré en la escala relacionada con un espectro armónico que tomaré como referencia en la comparación del resto de resultados obtenidos con los demás espectros. Escogeré en este caso el espectro de 5 picos también uniforme y normalizado en amplitud264. O sea:

Este espectro contiene el mínimo número de picos para que pueda ser relacionado con la justa entonación (contiene el pico de orden 5 el cual define la tercera mayor justa mediante su relación numérica 5/4)265 y, además, el número de notas de su escala relacionada, como veremos a continuación, es igual al de la escala diatónica. El problema está en que tal escala de 7 notas tiene el séptimo grado rebajado por lo que será apropiado trabajar con el modo mixolidio. Otro problema vendrá dado por la inexactitud de los intervalos de segunda y séptima debido a que éstos corresponden a mínimos amplios de la curva de disonancia.

La escala relacionada comparada con la escala física de Zarlino en modo mixolidio (lo que ya implica su forma diatónica) puede verse en la siguiente tabla266:

Armónico Zarlino mixolidio Zarlino mixolidio 1.00000 1.16500 1.25000 1.33300 1.50000 1.66700 1.79100

1/1 9/8 5/4 4/3 3/2 5/3 9/5

1.00000 1.12500 1.25000 1.33333 1.50000 1.66667 1.80000

Vemos que la escala relacionada tiene el mismo número de notas que la escala física de Zarlino en su forma diatónica; por otro lado, son diferentes las segundas y las séptimas ya que estos intervalos

264 Su curva de disonancia y demás aspectos relacionados han sido tratados en el apartado V.1.3. 265 Véase el apartado II.3.9. 266 La escala física de Zarlino en modo mixolidio está obtenida a partir de la diatónica (nivel 4) cambiando la relación numérica

del último intervalo (o sea, sustituyendo el valor de la de la séptima mayor por el de séptima menor). Por ahora, el programa no puede hacer esta operación directamente. La operación de cambio de modo no realiza exactamente la operación que ahora nos interesa. Tal limitación quedará solventada en versiones posteriores.

Page 135: SpecMusic Libre

135

coinciden con mínimos amplios. En estas notas (correspondientes al Re y el Si b), la disonancia se disminuirá aunque no tanto como para el resto de notas.

Teniendo esto en cuenta, crearé una partitura de ejemplo que consista en una simple realización armónica a cuatro partes en modo mixolidio. También podemos deducir que las escalas relacionadas con los espectros armónicos de un número de picos relativamente reducido serán adecuadas para trabajar con parte de la música de los dos primeros periodos del barroco en los que el modo mixolidio era bastante usual. Como ejemplo, podemos citar el motete a 5 voces con bajo continuo Lauda, Jerusalem, Dominum (salmo) de Claudio Monteverdi (1567-1643)267.

El modo mixolidio corresponde al modo de Sol cuando nos encontramos en tonalidad de Do (cuidado con esta terminología ya que es anacrónica y, en consecuencia, dentro del ámbito del barroco hispánico, deberíamos hablar de tonalidad por natura).

La partitura propuesta de ejemplo es la siguiente:

Ejemplo 2

Nótese que el bemol no indica tonalidad de fa mayor sino tonalidad por bemol en un modo

mixolidio. En realidad, es consecuencia del transporte realizado a partir de lo que he descrito en el párrafo anterior.

Hemos de tener en cuenta que, en este ejemplo donde sólo podemos usar algunas notas de la escala, no tendremos picos de disonancia ya que no aparecen intervalos falsos ni disonantes.

La edición de la partitura deberá realizarse ahora con la nomenclatura numérica o matemática ya que la notación tradicional mediante el nombre de las notas utiliza una escala de 12 notas y los cálculos no se efectuarían correctamente. En cambio, en este caso, la partitura se basa en una escala de 7 notas. Este problema debería solventarse en futuras versiones del programa. Teniendo esto en cuenta, la edición de la partitura se ha realizado de la siguiente manera:

240 0, 2 2, 3 4, 3 0, 4 240 1, 2 1, 3 4, 3 6, 3 240 2, 2 0, 3 4, 3 0, 4 240 3, 2 0, 3 3, 3 5, 3 240 0, 2 2, 3 4, 3 0, 4

2.2 Obtención de un espectro real

Para obtener un espectro real armónico grabaremos una nota más o menos central de un instrumento cuyo espectro sea armónico se puede utilizar cualquier instrumento de cuerda o viento de los utilizados habitualmente dentro del contexto de la música clásica occidental. Otro estudio posterior podría contemplar espectros diferentes para cada registro utilizado y generalizar su aplicación en los algoritmos programados.

He decidido probar el piano y el violín ya que son los dos instrumentos que tengo a mano y que cumplen esa característica.

Para obtener su espectro, grabaré una nota –el La 3 o normal, por ejemplo- y analizaré el espectro de la onda obtenida. Para ello deberá aplicarse a la onda obtenida la transformada de Fourier y

267 Esta obra está editada por la editorial alemana Breitkopf & Härtel.

Page 136: SpecMusic Libre

136

un algoritmo de detección de picos268. Se obtendrá así un modelo espectral adecuado para trabajar con las escalas y soportado por el programa.

Otro aspecto que se ha de tener en cuenta es la duración de la onda y el enventanado a realizar de cara a evitar zonas transitorias o efectos de ataque que requerirían otro estudio diferente. También es importante este enventanado de cara a trabajar con una onda de dimensión moderada y vigilar que los cálculos posteriores no sean excesivamente largos.

He tomado los siguientes argumentos: en primer lugar, para la grabación, he considerado una frecuencia de 44,1 kHz (calidad de CD), 16 bits por muestra (CD y DAT) y 1 canal (mono); he tomado una muestra no demasiado grande tomando siempre el ataque de la nota y un trozo de la nota mantenida o resonante; por defecto, se trabaja con una ventana rectangular. Finalmente se obtiene la transformada de Fourier del fragmento de onda considerado y se toman los valores de los picos más importantes.

El modelo espectral obtenido para cada instrumento es el siguiente: Piano: 440.00 1.00 880.00 0.70 1320.00 0.70 1760.00 0.80 2200.00 0.70 2640.00 0.80 3130.00 0.70 3580.00 0.60 4000.00 0.60 4540.00 0.70 4880.00 0.30 5000.00 0.50 5540.00 0.50 5800.00 0.40 6000.00 0.40 6600.00 0.40 7120.00 0.50

Violín: 440.00 1.00 880.00 0.50 1320.00 0.50 1760.00 0.80 2200.00 0.40 2640.00 0.90 3080.00 0.75 3520.00 1.10 3960.00 1.10 4400.00 0.50 4840.00 0.55 5280.00 0.60 6160.00 0.30 6560.00 0.55 7040.00 0.50 7480.00 0.25 7920.00 0.30

Puede observarse una mayor inarmonicidad en el espectro del piano y una armonicidad casi total

en el del violín. La inarmonicidad del espectro del piano puede ser debida al decaimiento de la onda y al ataque. De cara a las operaciones escogeré el espectro del violín por ser más armónico y cercano a la concepción teórica. Los efectos del ataque y la inarmonicidad podrían ser objeto de otro estudio.

268 Todas estas operaciones pueden realizarse con el programa pero, en este caso, utilizaré software diferente para conseguir

mayor fiabilidad. Estas funciones, en concreto el grabador de sonidos y el algoritmo de detección de picos, deberán mejorarse en futuras versiones del programa. En cualquier caso, hemos de considerar que los resultados obtenidos son aproximados ya que se han obtenido directamente de un gráfico del espectro (no dispongo de ningún programa de detección de picos).

Page 137: SpecMusic Libre

137

Si tomamos el espectro escogido y, utilizando las funciones proporcionadas por el programa, calculamos su curva de disonancia y su escala relacionada, obtenemos los siguientes resultados:

Ilustración 20: Curva de disonancia del espectro del violín. La escala relacionada obtenida consta de 33 notas (ya se observaban gran cantidad de mínimos

en la curva de disonancia). De cara a su aplicación práctica en un sistema musical de 12 notas, la opción que he tomado es la de escoger los grados de la escala que más se aproximen a la justa entonación. Será motivo de otro estudio el considerar otras opciones diferentes (aproximación a otra escala justa con relaciones numéricas basadas en armónicos superiores u otras escalas de más de 12 notas por octava).

La escala de 33 notas obtenida es la siguiente:

1.00000 1.07300 1.09100 1.10000 1.11100 1.12500 1.14300 1.16700 1.20000 1.20700 1.22200 1.25000 1.28600 1.33300 1.35500 1.37500 1.40000 1.41700

Page 138: SpecMusic Libre

138

1.42800 1.45400 1.50000 1.55600 1.57200 1.60000 1.65700 1.66600 1.70000 1.71400 1.75000 1.77800 1.80000 1.83300 1.86400

Las notas escogidas comparadas con la justa entonación pueden verse en la siguiente tabla (el

número de la izquierda indícale grado de la escala original de 33 notas):

Grado de escala original Escala relacionada Escala física de Zarlino 0 1 5 8 11 13 16 20 23 25 30 32

1.0 1.073 1.125 1.2 1.25 1.333 1.4 1.5 1.6 1.666 1.8 1.864

1.0 1.06667 1.125 1.2 1.25 1.33333 1.38889 1.5 1.6 1.66666 1.8 1.875

Podemos observar una gran similitud exceptuando los intervalos que ya resultaban problemáticos

con los espectros teóricos, o sea, la 2ª menor, la 7ª mayor y la 4ª aumentada. El grado de escala de la izquierda debe ser tenido en cuenta a la hora de editar la partitura

adecuada para trabajar con esta escala de 33 notas269: 240 0, 2 11, 3 20, 3 0, 4 240 5, 2 5, 3 20, 3 30, 3 240 11, 2 0, 3 20, 3 0, 4 240 13, 2 0, 3 13, 3 25, 3 240 0, 2 11, 3 20, 3 0, 4

Otra opción sería la de considerar menos picos del espectro real lo que nos permitiría trabajar

con una escala más manejable. En este caso, la única diferencia con los espectros teóricos estaría en el valor de las amplitudes aunque podrían variar algunos mínimos respecto los que se han considerado en aproximación a la justa entonación.

Si consideramos los 5 primeros picos obtenemos una escala relacionada de seis notas en la que faltaría el séptimo grado de la escala diatónica; en cambio, considerando los seis primeros picos, obtendríamos la escala diatónica completa y comparable a la diatónica de la justa entonación. En concreto, los resultados obtenidos son:

269 Problemas como éste deberían ser solucionados en versiones posteriores de cara a evitar el tener que reeditar la partitura para

trabajar con escalas de diferente número de notas. No obstante, tal tema no es obvio y, en este momento, no puedo asegurar que tenga una solución para cualquier caso que pueda considerarse.

Page 139: SpecMusic Libre

139

Ilustración 21: Curva de disonancia del espectro simplificado del violín. 1.0, 1.2, 1.25, 1.333, 1.5, 1.667, 1.732

donde se observan diferencias en el segundo y séptimo grados, diferencias que ya se obtenían en el espectro teórico de 5 picos (en el espectro de 5 picos no se obtenía en este caso el mínimo amplio correspondiente a la segunda menor).

2.3 Aplicación de las escalas

Probaremos este ejemplo con las tres escalas más habituales270, la escala relacionada y el algoritmo adaptativo de W. A. Sethares271. Para las escalas tradicionales cambiaremos el modo y para la escala relacionada y el algoritmo adaptativo probaremos los dos espectros que hemos considerado.

Valoración de los resultados para cada una de las escalas aplicadas: En primer lugar, para las escalas habituales, al no haber ningún intervalo falso, todos los

intervalos toman los valores normales propios de cada escala.

270 La escala pitagórica, la escala física de Zarlino y el temperamento igual. Hay que tener en cuenta que, para este ejemplo,

deben tomarse los formas diatónicas de las escalas y en modo mixolidio, es decir, las que constan de 7 notas con el séptimo grado rebajado. Para ello crearemos una nueva escala para cada caso tomando los siguientes valores para sus parámetros de definición:

1) Para la escala pitagórica: a. Modelo de escala: “Escala pitagórica”. b. Espectro: el que hemos creado y guardado. c. Origen X del sistema: -1. d. Origen Y del sistema: indiferente. e. Vector de periodo: 0. f. Nivel de aproximación: 4. g. Definición del vector sintónico: indiferente. h. Parámetros para la definición de los temperamentos mesotónicos: indiferente.

2) Para la escala física de Zarlino: a. Modelo de escala: “Escala física”. b. Espectro: el que hemos creado y guardado. c. Origen X del sistema: -1. d. Origen Y del sistema: -1. e. Vector de periodo: 0. f. Nivel de aproximación: 4. g. Definición del vector sintónico: 4, 3. h. Parámetros para la definición de los temperamentos mesotónicos: indiferente.

3) Para el temperamento igual: a. Modelo de escala: “Temperamento igual”. b. Espectro: el que hemos creado y guardado. c. Origen X del sistema: indiferente. d. Origen Y del sistema: indiferente. e. Vector de periodo: 0. f. Nivel de aproximación: 4. g. Definición del vector sintónico: indiferente. h. Parámetros para la definición de los temperamentos mesotónicos: indiferente.

4) Para los otros temperamentos, lo mejor es partir de su versión cromática y eliminar los grados de escala que no interesen, cosa que también se podría haber hecho en los otros casos.

Después, deberá sustituirse el último intervalo de la escala por el equivalente al séptimo grado rebajado (el penúltimo) en las mismas escalas en su forma cromática.

Finalmente, el resultado se guardará en un nuevo fichero de escala al que le podemos poner el mismo nombre que la escala cromática pero añadiendo el término “mixolidio” separado por un guión.

271 Las tablas con los resultados obtenidos pueden verse en el apéndice 8.

Page 140: SpecMusic Libre

140

Para el caso del algoritmo adaptativo de W. A Sethares con el espectro teórico como parámetro hay que tener en cuenta que la afinación se ha de inicializar con el temperamento igual de 7 notas en modo mixolidio (con el séptimo grado rebajado).

El resultado, como era de esperar, falla en las sextas menores aunque, para el caso de la sexta Re – Si b, el valor se acerca algo más a la justa entonación debido a que la afinación de esas dos notas ya no es la que debería tener según la escala física de Zarlino.

Por otro lado, falla la tercera mayor Do – Mi sin tener una explicación lógica. La convergencia del algoritmo puede depender de muchas más causas que deberán investigarse en futuros estudios.

Para el caso de la escala relacionada con el espectro teórico, todos los intervalos, exceptuando los del segundo acorde, toman el valor correspondiente según la justa entonación. El problema del segundo acorde está en que sus notas constitutivas (Re y Si b) coinciden con los mínimos amplios de la curva de disonancia, lo cual hace alejar su valor del correspondiente en la justa entonación.

Para el caso de la escala relacionada con el espectro real, todos los intervalos coinciden con los correspondientes en la justa entonación. No obstante, debe tenerse en cuenta que no existen notas cromáticas algunas de las cuales podrían dar lugar a diferencias en los valores de sus intervalos. A esto también debería añadirse una dificultad de interpretación que aquí se ha solventado con la elección de los grados de escala más aproximados a la justa entonación.

En cambio, para el espectro reducido, hay diferencias con la justa entonación en el segundo acorde. Estas diferencias son debidas a las notas Re y Si b, ya problemáticas en el espectro teórico, donde el Re tiene asignado un intervalo justo de 3ª menor y el Si b es muy bajo.

En el algoritmo adaptativo de W. A. Sethares, como era de esperar, hay algunos errores debidos a la gran cantidad de mínimos existentes. En concreto, falla el segundo acorde donde la cuarta y la sexta menor son demasiado grandes; y el cuarto acorde donde la tercera mayor también es muy grande (aunque hay algunas otras correctas). En cambio, con el espectro reducido como parámetro fallan las terceras mayores y la sexta menor. El error en este último intervalo era de esperar ya que no existe como mínimo de la curva de disonancia. Por otro lado, es extraño el caso de las terceras mayores, intervalos que quedarían en duda junto con otros planteados en el apartado anterior.

Debe tenerse en cuenta que para aplicar el algoritmo adaptativo se ha de inicializar con una escala de igual número de notas que la escala con la que se ha editado la partitura, o sea, 33 para el espectro real y 7 (en modo mixolidio) para el espectro real reducido272.

Finalmente, puede verse que la escala relacionada es buena sólo si utilizamos las notas resultantes de los mínimos locales. Precisamente, estas notas son las que fallan en el espectro real (con amplitudes menores para los armónicos) que no aparecen como mínimos amplios debido a la no uniformidad de las amplitudes de sus picos. Las amplitudes mayores en los armónicos hacen aparecer con más presencia los picos de la curva de disonancia lo que, a su vez, provoca que aparezcan otros mínimos amplios.

Con el algoritmo adaptativo, un número muy elevado de picos en el espectro dificulta la convergencia en el lugar apropiado pero, en cambio, un número reducido hace que algunos intervalos frecuentes estén ausentes.

2.4 Conclusión

De todo esto, puede deducirse que la aplicación de la escala relacionada y el algoritmo adaptativo está restringida a una serie de intervalos. Su aplicación a escalas de un número de notas más elevado requeriría más estudio. La escala relacionada constituye una buena justificación de la justa entonación y de hecho, ésta es la finalidad con la que se ha creado. No obstante, para esto último debe tenerse en cuenta que los intervalos han de corresponderse con mínimos locales de cara a obtener resultados satisfactorios.

En cuanto a la aplicación de escalas relacionadas con espectros reales se observa un empeoramiento en los intervalos resultantes de mínimos amplios los cuales pueden desaparecer debido a las amplitudes de los parciales. Eso sucede cuando el número de picos es reducido. En cambio, si el número de picos es elevado se obtienen resultados satisfactorios pero después de un procedimiento de selección de intervalos dentro de una escala de mayor dimensión.

De cara a la aplicación de espectros reales en el algoritmo adaptativo debe tenerse en cuenta la importancia de escoger un número apropiado de picos del espectro. Entonces, para obtener resultados satisfactorios, la aplicación de espectros reales está supeditada al sistema musical sobre el cual ha de

272 El programa no calcula temperamentos iguales de cualquier número de notas. Ésta es una de las escalas que se añadirán en el

futuro. Por tanto, este temperamento se ha introducido desde el teclado aplicando la siguiente expresión:

.

Page 141: SpecMusic Libre

141

aplicarse. De esta manera, en la práctica, sólo pueden considerarse diferencias de amplitud, o bien modificar su implementación subsanando estas limitaciones.

En cualquiera de los casos, un número excesivo de picos aumenta la disonancia intrínseca de los intervalos y, con ella, la disonancia total.

2.5 Evaluación auditiva

La evaluación auditiva requeriría, en este caso, un trabajo de síntesis que está fuera de los objetivos de este proyecto. En cualquier caso, podemos relazar las audiciones como en el apartado anterior pero utilizando los espectros que ofrece el estándar MIDI. De esta manera no se puede apreciar la diferencia con la utilización de un espectro concreto calculado por el usuario.

2.6 Cálculo de la disonancia total

Para calcular la disonancia total nos encontramos ante un pequeño problema debido a la implementación del programa. La TD, en el programa, está calculada con relación a la TD con el temperamento igual de 12 notas. Como que las escala usadas son de 7 o 33 notas, ese cálculo no corresponde a la realidad y debe modificarse el cálculo de la TD de manera que quede relacionada con una escala temperada del mismo número de notas. Para realizarlo sin necesidad de cambiar el código (eso deberá contemplarse en futuras versiones) podemos aplicar el siguiente método:

1) Tomar el número que da el programa correspondiente al temperamento igual de 12 notas para cada una de las afinaciones:

2) Tomar la TD para el caso del temperamento igual de otro número de notas que será:

3) Nos interesa calcular

4) TTDx resulta ser 10.33 para el caso del espectro teórico y -1.43 para el caso del espectro real reducido273, número que restaremos a todos los resultados obtenidos con el programa aplicando cada espectro concreto.

Los valores de la disonancia total calculados para los tres espectros considerados y para varios tipos de afinación pueden observarse en la siguiente tabla274:

Podemos observar que, en este caso, la afinación más disonante es la temperada ya que no

existen en la partitura intervalos que resulten falsos en la afinación pitagórica. Por lo visto, las terceras temperadas son más disonantes que las pitagóricas (las que no atraviesan la quinta del lobo).

273 El caso del espectro real de 17 picos, como era de esperar, da una disonancia muy elevada y el cálculo de la disonancia total

no ha sido posible debido a problemas de overflow. 274 Los valores medios que se pueden observar en las partituras de disonancia parta cada tipo de afinación son los siguientes: 5,

4, 6, 5, 5, 4, 2-5.

Disonancia Total Teórico Real Escala pitagórica -80.86 -81.09 Escala física de Zarlino -148.72 -168.67 Temperamento igual de 12 notas 0.00 0.00 Temperamento mesotónico de 1/4 de coma -92.85 -96.19 Temperamento de Werckmeister III -99.86 -88.34 Escala relacionada con el espectro -116.63 -124.56 Algoritmo adaptativo de W. A. Sethares -162.25 -142.10

Page 142: SpecMusic Libre

142

Los otros temperamentos mejoran bastante al temperamento igual y algo a la afinación pitagórica aunque los dos funcionan por el estilo. Continúa siendo algo mejor el resultado del “buen temperamento”, incluso cuando no usamos intervalos falsos.

Por otro lado, los mejores resultados los seguimos obteniendo con la escala física de Zarlino y el algoritmo adaptativo de W. A. Sethares, éste último aún mejor.

La afinación mediante la escala relacionada con el espectro utilizado resulta más buena que cualquiera de los temperamentos y mejor que la escala pitagórica. Eso sí, está bastante lejos de mejorar el resultado de la escala física y del algoritmo adaptativo. Hay que tener en cuenta que en la escala relacionada se produce un pico de disonancia (de valor 6.78 para el espectro armónico) en el acorde que contiene las notas Re y Si b, resultado de los mínimos amplios. Este valor puede debe ser el causante de la relativa altura de su valor de disonancia275.

En general, la disonancia intrínseca ocasionada por el espectro real debe ser menor debido a que, para casi todos los casos, los valores de disonancia son mejores. La menor amplitud de los armónicos debe compensar la existencia de un pico añadido. No obstante, se dan excepciones en el temperamento irregular y en el algoritmo adaptativo. Para el caso del algoritmo adaptativo, el resultado empeora y queda por encima de la escala física. Esto puede ser debido a los errores más grandes en las terceras y en las sextas. Para el caso del temperamento irregular, el resultado resulta peor que para el caso del temperamento mesotónico.

3. CREACIÓN DE UN INSTRUMENTO

A partir de un instrumento con timbre inarmónico –considerado, de entrada, de sonido indeterminado-, W. A. Sethares aplica la relación entre escala y timbre (o espectro) para proporcionar las bases que deben regir la creación de una escala adecuada para “hacer música” con tal instrumento.

En concreto, los pasos a seguir para la creación de un instrumento adecuado a un espectro determinado son los siguientes:

1) Escoger un sonido (refiriéndose al timbre de un instrumento, especialmente si es de sonido indeterminado).

2) Calcular su espectro. 3) Modelar el espectro. 4) Dibujar la curva de disonancia del espectro. 5) Tomar un conjunto de intervalos (o escala) a partir de los mínimos de la curva de disonancia. 6) Crear un instrumento que pueda utilizar el sonido con los intervalos de la escala apropiados. 7) Componer y hacer música. No obstante, el autor ya advierte de que todos estos pasos no son completamente mecánicos y

deben tomarse ciertas decisiones dentro de algunos de los procedimientos indicados. En este apartado realizaré una demostración con mi programa de los principios expuestos por W.

A. Sethares aplicándolos a uno de sus propios ejemplos.

3.1 Elección del sonido

De entre los tres casos expuestos por el autor (una pequeña campana de mano llamada Tingshaw, Chaco Canyon Rock de Nuevo Méjico y sonido de cristales), he escogido el primero. Todos estos sonidos son considerados de sonido indeterminado aunque un buen tratamiento puede cambiar las perspectivas preestablecidas. La única diferencia estaría en la inarmonicidad de su espectro.

El instrumento escogido, tiene un sonido de ataque intenso con un lento decaimiento, características apropiadas para el cálculo del espectro.

Una vez escogido el sonido, éste debe ser grabado, muestreado, y guardado en un fichero de audio (“.wav” en el caso del PC).

Por ejemplo, el muestreo puede realizarse a una frecuencia de 44 100 Hz (calidad de CD) y el fichero podemos darle el nombre “tingshaw.wav”. Entonces, si la onda contiene alrededor de 120 K muestras, su duración será de algo menos de 3 segundos276. Debe considerarse que la calidad de los resultados puede venir determinada, entre otras cosas, por la frecuencia de muestreo, el número de muestras analizadas y el procedimiento de enventanado utilizado277.

275 Seguramente, este resultado podría variar considerablemente si sólo usáramos notas resultantes de los mínimos locales

(debidos a la coincidencia de armónicos). 276 N / fk = 120000 / 44100 = 2.72 segundos. 277 Los parámetros puestos como ejemplo son los que W. A. Sethares ha tomado en su ejemplo.

Page 143: SpecMusic Libre

143

3.2 Cálculo del espectro

Para calcular el espectro debe aplicarse el algoritmo de la FFT a la onda muestreada pero, para que el resultado sea bueno, deben tomarse ciertas decisiones dentro de este proceso que, de entrada, parece muy claro. Para ello deben tenerse en cuenta las siguientes consideraciones:

1) El número de muestras tomadas para el cálculo de la FFT no debe ser demasiado grande ya que el tiempo de computación de la FFT aumenta considerablemente con la longitud de la señal (en este caso, 120000 muestras resulta un número excesivamente elevado).

2) El ataque es muy importante ya que contiene gran parte de la información espectral propia del sonido y, de la misma manera, si tomamos una muestra excesivamente elevada de la parte correspondiente al decaimiento, éste oscurecería el espectro del ataque debido al efecto promediador que provoca la FFT.

3) Igualmente, la porción de decaimiento tomada no ha de ser demasiado corta, la información contenida en ella también debe estar presente en el espectro del sonido completo.

4) La frecuencia de muestreo, junto con la longitud de la muestra, determina la precisión con la que pueden calculare las frecuencias de las componentes sinusoidales del espectro.

5) El enventanado también puede influir en los resultados. El autor prueba con las ventanas rectangular y de Hamming. La segunda atenúa significativamente la parte de ataque y la rectangular simplemente trunca las muestras.

Teniendo en cuenta que el oído tiene una sensibilidad de 2 o 3 Hz alrededor de los 100 Hz278, debe escogerse una FFT de 16 K para obtener una resolución de 2.69 Hz279, o bien una de 32 K que dé una resolución de 1.35 Hz. Si la de muestra de 16 K toma una parte lo suficientemente significativa de la onda, será suficiente.

Considerando la importancia de la sección de la onda correspondiente al ataque, el autor escoge la ventana rectangular que no añade distorsión pero, después de seleccionar un “punto medio”, le aplica un algoritmo de inversión.

Con todos estos parámetros, el espectro obtenido es el siguiente:

Ilustración 22: Espectro del tingshaw280.

3.3 Modelado del espectro

Una vez obtenido el espectro de la onda debe modelarse de cara a poder ser tratado por los algoritmos que se han definido para la aplicación de la teoría de la disonancia. En concreto, debe tomarse los picos más significativos con sus respectivas amplitudes. Tal procedimiento no constituye una tarea obvia y deben tomarse también ciertas decisiones. Por otro lado, el algoritmo de detección de picos no es fácilmente programable ya que muchas irregularidades del espectro pueden dificultar su cálculo.

Si observamos el espectro obtenido pueden verse dos regiones dominantes alrededor de los 2370 y los 5555 H, además de tres picos más pequeños en 4780, 7930 y 10100 Hz. Hay también un pequeño cluster cerca de los 11300 Hz y algunos otros picos solapados alrededor de los 700 y 3200 Hz.

Es importante seleccionar sólo los picos más significativos y eliminar los que puedan considerarse espúreos. Si olvidamos algún pico significativo, puede perderse algún grado de escala importante y, de la misma manera, si añadimos un pico erróneo, obtendremos un grado de escala no apropiado. Quizás, la mejor estrategia es realizar varias pruebas y, después de comprobar los resultados de forma auditiva (mediante síntesis), podemos escoger la que más se ajuste al sonido original.

Existen más soluciones para este procedimiento281 así como para el desarrollo de un algoritmo de detección de picos282 que podrían ser consideradas en un estudio más profundizado de este procedimiento.

278 Véase el apartado II.2.9 donde se habla de la sensibilidad auditiva. 279 fk/N = 44100 / 16384 = 2.69 Hz. 280 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 6.1, p. 126. 281 W. A. Sethares expone do más dentro de este mismo ejemplo. 282 Véase el apartado IV.6.2 donde hablo de este tema.

Page 144: SpecMusic Libre

144

Finalmente, el espectro modelado se ha tomado así: E = {2368, 4784, 5553, 7921, 10103}

3.4 Obtención de la curva de disonancia

Este es el paso que puede realizarse de una forma más automática, no obstante, debe tenerse en cuenta el rango y el incremento escogidos para el cálculo de la curva. Una vez escogidos, basta con normalizar las amplitudes y aplicar el procedimiento definido matemáticamente.

Las amplitudes calculadas y normalizadas a la unidad resultan 1.0, 0.5, 1.0, 0.6 y 0.5. Entonces, tomando un rango de a 4.1 con incrementos de 0.01, el resultado es el siguiente:

Ilustración 23: Curva de disonancia del espectro del tingshaw283.

3.5 Obtención de la escala relacionada

Los intervalos de la escala relacionada corresponden a los mínimos de la curva de disonancia calculada en el apartado anterior. Éstos son:

1, 1.16, 1.29, 1.43, 1.56, 1.66, 1.81, 2.02, 2.15, 2.35, 2.83, 3.34 y 4.08. Dentro de este conjunto de números, puede observarse un interesante hecho: tomando el mínimo

2.02 como una seudo-octava, los intervalos posteriores son proporcionales a los primeros pudiéndose dividir la curva en dos secciones que representan dos seudo-octavas. Entonces, la escala queda definida así:

1, 1.16, 1.29, 1.43, 1.56, 1.66, 1.81 y 2.02.

3.6 Creación del instrumento

Una vez determinados los intervalos de la escala adecuada puede construirse el “instrumento”. La primera solución en que puede pensarse es la construcción de las campanas con todo lo que ello conlleva, por supuesto, fuera de los objetivos de cualquier trabajo de este estilo. De entrada, crear un instrumento físico con un determinado espectro no es fácil (en este caso, realmente construiríamos un carillón). Éste es el procedimiento que Harry Partch siguió para materializar su escala de 43 notas.

Una solución más fácil que permite hoy en día el ordenador es la síntesis electrónica del sonido. En este caso, estamos construyendo un instrumento “virtual”. La síntesis completa del sonido por ordenador requiere sintetizar un sonido concreto del instrumento (ya sea a partir de grabación y análisis como ahora o bien a partir de un modelo teórico) y programarlo después para poder ser reproducido en cada una de las frecuencias deseadas284. Con un teclado y un software apropiado puede simularse posteriormente el instrumento. Debe tenerse en cuenta que el número de distribución de las notas no tiene porqué coincidir con los teclados basados en las escalas occidentales (los de 12 notas por octava con la distribución de teclas blancas y negras que ya conocemos). Eso implica una dificultad añadida que podría solventarse con un mapeado adecuado del teclado (especialmente haciendo coincidir la octava con la seudo-octava o bien creando teclados más adecuados aunque tal tarea requiere un proceso tecnológico añadido fuera de los objetivos de un proyecto como éste). El mapeado utilizado por W. A. Sethares en su ejemplo es mostrado en el siguiente gráfico:

283 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 6.3, p. 129. 284 Para más información sobre la síntesis de sonido por ordenador puede consultarse S. de Furia: Secrets of Analog and Digital

Synthesis, Tirad Earth Productions Inc., Pompton Estates, NJ 1986; y algunos artículos de las revistas Electronic Musician, Keyboard y Transoniq Hacker. Existen también páginas web de Internet dedicadas a estas tareas, incluso, algunas de ellas ofrecen fragmentos de código. Véase, por ejemplo, http://www.shout.net/~mhamman/index.html (Michael Hamman Home Page).

Page 145: SpecMusic Libre

145

Ilustración 24: Mapeado del teclado para la escala relacionada con el espectro del tingshaw285. A todo esto, pueden añadirse más opciones que simulen diversas formas de ejecución

(determinadas por el ataque, decaimiento de la onda y otras modificaciones del espectro) moduladas a partir de la velocidad de la tecla; también pueden simularse otros efectos como el de reverberación o las diferencias espectrales debidas al registro concreto de cada nota.

3.7 Hacer música

Ahora sólo queda la parte divertida que es hacer música utilizar el instrumento creado. En este caso, el teclado simula un carrillón de campanas Tingshaw (lo que W. A. Sethares llama un ting-

carrillon). Puede escucharse el efecto producido en el track 16 (Tingshaw) del CD que acompaña al libro de W. A. Sethares.

3.8 Demostración con el programa

Para simular la creación del instrumento mediante mi programa y comparar los resultados, vamos a partir del modelo espectral, calculando la curva de disonancia y los intervalos de la escala relacionada, asociando sus intervalos a los mínimos de la curva. El resto de procedimientos muestran toda una serie de tareas que podrán irse añadiendo al programa en sus versiones posteriores.

Editamos el siguiente modelo espectral: E = {2368, 4784, 5553, 7921, 10103; 1.0, 0.5, 1.0, 0.6, 0.5} La curva de disonancia representada obtenida con mi programa es la siguiente:

Ilustración 25: Curva de disonancia de espectro del tingshaw obtenida con mi programa.

Se aprecian algunas diferencias con la curva dada por W. A. Sethares: • Existen dos mínimos amplios muy poco pronunciados sobre 1.327 y 1.912. Esto puede ser

debido a la mayor resolución de mis gráficos al lado de los que tiene el libro. • Los mínimos sobre 1.275 y 1.819 son locales y no amplios como muestra el gráfico de W.

A. Sethares. Sin duda, así ha de ser ya que

285 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 199, figura 6.4, p. 131.

Page 146: SpecMusic Libre

146

o 10103 / 7921 = 1.275 y o 10103 / 5553 = 1.819

Creando una nueva escala a partir del espectro editado puede obtenerse la escala relacionada que buscamos:

1.00000 1.16100 1.27500 1.32700 1.42600 1.55400 1.65600 1.81900 1.91200

Donde también debe tenerse en cuenta el valor de la seudo-octava que el programa no da pero puede apreciarse perfectamente sobre el gráfico que éste da para la curva de disonancia. Más o menos cae por el valor esperado 2.02 y así lo consideraré.

En esta escala se observan las siguientes diferencias con la escala dada por W. A. Sethares: • De entrada, se observa que el número de notas es superior, exactamente dos más en 1.275 y

1.819, intervalos correspondientes a los mínimos amplios que aparecen de más en la curva que da mi programa, aunque no estén muy pronunciados.

• Por otro lado, los valores no son exactos pero se aproximan bastante. • Por último, cabe destacar como la seudo-octava, según la curva dada por mi programa, no

es tan consonante como se aprecia en el gráfico de W. A. Sethares. Quedaría una última parte, ya objeto de otro estudio, consistente en el estudio de la teoría que

hace referencia al sistema que rige la composición de la música con el instrumento creado según la escala sobre la cual se basa. Ello debe constituir una de las tareas que el programa debe permitir en sus versiones posteriores.

4. APLICACIÓN EN LA MUSICOLOGÍA HISTÓRICA

W. A. Sethares, como aplicación de su teoría de la disonancia, realiza un estudio286 sobre la afinación de las sonatas de D. Scarlatti en referencia a los temperamentos más adecuados para su interpretación. A ello añade que la partitura de disonancia, en la cual se basa, constituye un método más de análisis aplicable a una partitura como puede ser cualquier modalidad del análisis armónico.

De la misma manera, como aplicación de mi proyecto, propondré un estudio similar que hace referencia a una de las cuestiones más discutida por los teóricos y musicólogos en torno a una de las obras más famosas de uno de los compositores más importantes (si no el que más) de la historia de la música occidental: me refiero a El clave bien temperado de J. S. Bach (∗Arnstadt, 1685; †Leipzig, 1750), escrita para clavicémbalo (o clave), tal como indica su título.

Mucho se ha hablado sobre la afinación del clavicémbalo usado por J. S. Bach en esta obra cuyo título ya induce a que tal cuestión constituye uno de los problemas planteados por el autor en su composición.

Esta conocida obra consiste en una serie de preludios y fugas287 en cada una de las 24 tonalidades mayores y menores de nuestro sistema musical basado en el ciclo de quintas. Tal característica está en relación con el título y la finalidad que persigue (entre otras) que es demostrar la posibilidad de empleo de todas las tonalidades con una afinación temperada. Es por ello que me parece un buen ejemplo para ser tratado detenidamente desde un punto de vista diferente dentro de un proyecto donde se ha tratado considerablemente sobre el tema de la afinación de la escala musical.

4.1 El Clave bien temperado de J. S. Bach288

La famosa obra escrita para clavicémbalo por J. S. Bach (∗Arnstadt, 1685; †Leipzig, 1750) llamada El clave bien temperado289 consiste en una serie de preludios y fugas290 dividida en dos partes

286 W. A. Sethares: “Consonance-Based Musical Analysis”, Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York,

1997, cap. 9, pp. 189-210. 287 Véase el apartado 12 de la bibliografía para obtener más información acerca de las diferentes formas musicales. 288 Véase J. S. Bach: El clave bien temperado I (BWV 846-869), Real Musical 1979 (edición original de Wiener URTEXT

Edition, Viena, según los autógrafos y primeras copias con comentarios de Walter Dehnhard y digitación de Detlef Kraus), versión española de Antonio Baciero; Donald J. Grout y Claude V. Palisca: Historia de la música occidental, Vol. 2, Madrid, Alianza Música 1984 (existen varias ediciones posteriores); véase también el apartado 12 de la bibliografía donde se dan más referencias de las que puede obtenerse más información.

Page 147: SpecMusic Libre

147

cada una de las cuales consta de 24 de dichas piezas. La característica principal de estos preludios y fugas (y la que da el nombre a la obra) es que cada uno de los 24 preludios y fugas de cada parte están escritos en cada una de las tonalidades mayores y menores de nuestro sistema musical (12 mayores y sus 12 relativas menores) basado en el ciclo de quintas.

El título original de la obra es Das wohl Temperierte Clavier oder Praeludia und Fugen durch

alle Toné und Semitonia so wohl tertiam majorem oder Ut Re Mi anlangend als auch tertiam minorem

oder Re Mi Fa betreffend Zum Nutzen und Gubrauch der Lehrbegierigen Musicalischen Jugend, als

derer in diesem studio schon habil seyenden, verfertiget von Johann Sebastián Bach (“El clave bien Temperado o Preludios y Fugas a través de todos los tonos y semitonos concerniendo tanto a modos mayores como a menores. Compuestos y terminados por Juan Sebastián Bach para el aprovechamiento y uso de los jóvenes estudiantes de música como para especial entretenimiento de los ya diestros en esta arte”).

Su primera parte fue completada en Cöthen en 1722, mientras que la segunda fue reunida en Leipzig alrededor de 1740. De la primera se ha conservado un único manuscrito autógrafo, correspondiente a la copia definitiva de 1722 y conservada en la Deutsche Staatsbibliothek de Berlín291.

Desde el momento de la presentación de la segunda colección de preludios y fugas puede hablarse propiamente de una primera y segunda partes, lo que, considerando estrictamente, no es del todo correcto, pues cada parte constituye un todo cerrado en sí mismo y ninguna necesita de la otra para completarse. Sin embargo, Bach mismo las llamó así, tal como puede demostrarse en la página de portada que diseñó al terminar segunda parte y que debería ser asimismo válida para las dos colecciones.

Así, aun cuando la versión autógrafa conservada en la British Library de Londres292 no tiene ninguna portada, los manuscritos-copia de la Biblioteca Estatal del Patrimonio Cultural de Prusia en Berlín293 y de la Biblioteca Estatal y de la Universidad de Hamburgo294, transmiten el título, ciertamente auténtico:

“Segunda Parte del / Clave bien temperado / Consistente en Preludios y Fugas / para todos / los tonos y semitonos / compuestos por / Juan Sebastián Bach / Compositor de Corte del rey de Polonia y del Príncipe de Sajonia, Maestro de Capilla y Director del Coro de Música en Leipzig”.

El manuscrito de Hamburgo trae añadido al citado texto un dato de fecha: “Año 1742”. Tal indicación nos ofrece un punto de referencia –si bien no de propia mano de Bach- sobre la fecha de terminación de la segunda parte295.

Los 48 preludios y fugas de la obra completa están catalogados como BWV 846-869296 para los de la primera parte y BWV 870-893 para los de la segunda.

La primera parte tiene un estilo y una finalidad más unificados que la segunda, en la cual se

incluyen composiciones de periodos muy diferentes de la vida de Bach. Además de demostrar la posibilidad, con la entonces novedosa afinación temperada, de empleo de todas las tonalidades, Bach tuvo intenciones didácticas particulares en su primera parte.

En la mayor parte de los preludios se encomienda al ejecutante una única tarea técnica específica; por consiguiente puede denominarse, en la terminología de una época posterior, estudios de igual manera que algunos de los pequeños preludios de Bach (BWV 933-943), así como todas sus invenciones para dos voces y sus sinfonías para tres pueden considerarse estudios preliminares. Los propósitos didácticos de El clave bien temperado van más allá de la mera técnica; sin embargo, pues, los preludios ejemplifican diferentes tipos de composición para teclado del Barroco tardío. Por ejemplo, los números 2, 7 y 21 del libro I son tocatas, la número 8, es un grave de una sonata en trío, y la 17, un allegro de concierto.

289 La edición de la presente obra en la cual me he basado es J. S. Bach: El clave bien temperado I (BWV 846-869), Real

Musical 1979 (edición original de Wiener URTEXT Edition, Viena, según los autógrafos y primeras copias con comentarios de Walter Dehnhard y digitación de Detlef Kraus), versión española de Antonio Baciero. Se trata de una edición URTEXT u original.

Otra edición URTEXT es la de G. Henle-Verlag München. También son interesante las ediciones de estudio de Peters o Breitkopf & Hartel.

Existe también una edición facsímil cuya referencia es: Johann Sebastián Bach: Das wohltemperierte Klavier, Leipzig, 1971, V. E. B. “Deutsche Verlag für Musik” (Distribución: Real Musical, Madrid).

290 Véase el apartado 12 de la bibliografía para obtener más información acerca de las diferentes formas musicales. 291 Signatura Mus. Ms. P 415. 292 Signatura Add. Ms. 35021. 293 Signatura Mus. Ms. Bach P 430. 294 Signatura MB 1974. 295 “Terminar” no debe significar en Bach que él lo hubiera dejado por concluido. Más bien, y como las fuentes demuestran,

éste volvió a la obra una y otra vez haciendo un número considerable de modificaciones y correcciones posteriores. 296 BWV son las siglas de Bach-Werke-Verzeichnis (“Catálogo de las obras de Bach”) usadas en Wolfgang Schmieder:

Thematisch-systematisches Verzeichnis der Musikalischen Erke von Johann Sebastian Bach (“Catálogo temático-sistemático de las obras musicales de Johann Sebastian Bach”), Leipzig, Breitkopf & Härtel, 1950.

Page 148: SpecMusic Libre

148

Las fugas, maravillosamente variadas en materia de sujetos, textura, forma y tratamiento, constituyen un compendio de todas las posibilidades de escritura fugada concentrada y monotemática. El antiguo ricercare aparece representado (libro 1, núm. 4, en Do sostenido menor), así como el uso de la inversión, el canon y la aumentación (núm. 8, en Mi bemol menor), el virtuosismo en una fuga con conclusión da capo (núm. 3, en Do sostenido mayor) y muchos otros estilos. En la segunda parte, puede mencionarse la Fuga en Re mayor (núm. 5) como ejemplo superlativo de estructura musical abstracta concentrada en el que se emplean los materiales más sencillos, mientras que el Preludio y fuga en Fa sostenido menor (núm. 14) descuella por la belleza de sus temas y proporciones. Como ocurre en las fugas para órgano, cada tema de los números clavecinísticos de Bach tiene una personalidad musical claramente definida, de la cual la fuga íntegra es el desarrollo y la proyección lógicos.

4.2 Antecedentes de la cuestión

Sin dejar de lado la evidente finalidad pedagógica de esta obra ni otras tantas que pueden plantearse, hemos de considerar que la finalidad a la que realmente hace referencia el título de la obra es demostrar la posibilidad de empleo de todas las tonalidades con la entonces novedosa afinación temperada. Precisamente, éste es el objetivo perseguido por este tipo de afinaciones, el cual se obtiene eliminando la quinta del lobo y cerrando el círculo de quintas. De esta manera se consigue el mayor número de terceras justas. Lo que en ningún momento ha quedado claro es cuál de los temperamentos que tienen esa finalidad, de entre los existentes en la época era el que realmente usó Bach para tal propósito. Lo que sí coinciden todos los estudiosos es que no se trataba del temperamento igual, como podía pensarse en un principio. Precisamente, las terceras de este temperamento son excesivamente disonantes y, además, de eso, las tonalidades dejan de tener su propio “carácter” determinado por la constitución de sus intervalos. De hecho, el ejecutante de clavicémbalo o de clavicordio prefiere afinación “graduada” no sólo más fácil de realizar sino que mantiene también el efecto de las diferencias sonoras en cada una de las tonalidades, y sus respectivas características tan propias de la música antigua. Seguramente, Bach conoció el temperamento igual y no lo consideró el más apropiado. Por lo tanto, se trata de uno de los temperamentos irregulares y circulares, es decir, sin quinta del lobo (en concreto, puede tratarse de alguno de los “buenos temperamentos”297).

Voy a considerar diversas opiniones y referencias al respecto para, finalmente, proponer yo otra solución basada en la teoría de la disonancia que he desarrollado a lo largo de este trabajo.

Según uno de sus hijos, C. P. E. Bach298, el método de afinación usado por Bach era algo incierto. De todos modos, todos sus contemporáneos e, incluso, estudios posteriores, sugieren que el tema de la afinación era importante para Bach y que tuvo muy en cuenta a la hora de componer sus obras. De entre los teóricos contemporáneos que crearon algún tipo de afinación temperada de la escala299 se encuentran Andreas Werckmeister300, Johann Phillip Kirnberger y F. W. Marpurg301. Teóricos más recientes, como Herbert Antón Kellner302 o John Barnes303, han estudiado el tema y han sugerido otros temperamentos similares a los de los contemporáneos y que se ajustan mejor a la composición de El clave

bien temperado. Si bien, ni los temperamentos conocidos de la época ni los propuestos posteriormente tiene porqué coincidir con el temperamento usado por Bach (podía ser uno propuesto por él mismo y diferente a todos éstos), sí pueden constituir una vía de acercamiento o, simplemente, una de las posibles soluciones al problema.

De los escritos de Werckmeister se puede deducir que sus temperamentos eran ya usados por los compositores e intérpretes contemporáneos al final del siglo XVII. De entre sus diversos temperamentos propuestos, el más usado, el más fácil de afinar y el que se adapta mejor a mucha música de teclado de principios del siglo XVIII, es el que habitualmente se llama Werckmeister III. Por otro lado, A. Werckmeister también hace referencia al arte de “cómo se puede bien temperar la afinación de un clave para que con ella puedan practicarse todas las tonalidades (“modi ficti”), en un conjunto armónico

297 Véase el apéndice 4. 298 Necrología de J. S. Bach por C. P. E. Bach y J. F. Agrícola en Lorenz Mizlers Musikalische Bibliothek, Leipzig 1754, 4, 1,

p. 173. 299 Véase el apéndice 4 para aclaraciones referentes a las diversas afinaciones y temperamentos usados a lo largo de la historia

de la música occidental. 300 Andres Werkmeister: Musikalische Temperatur, oder deutlicher und warer Mathematischer Unterricht, Wie man durch

Anweisung des Monochord Ein Clavier, Sonderlich die Orgel-Wercke, Positive, regale, Spinetten und dergleichen wol Temperirt Stimmen Könne, Frankfurt y Leipzig, 1691; A. Werckmesiter: Erweiterte und verbesserte Orgel-probe, 1698.

301 F. W. Marpurg: Versuch über die musicalische Temperatur, Berlin 1776. 302 Herbert Antón Kellner: “Wie stimme ich selbst mein Cembalo?”, de la serie Das musikinstrument, cuaderno 19,

Frankfurt/Main, 1976. 303 John Barnes: “Bach’s keyboard temperament: Internal evidence from the “Well-Tempered Clavier””, Early Music, Vol. 7,

Oxford University Press, London, 1979.

Page 149: SpecMusic Libre

149

agradable y biensonante”, afirmación que se adapta perfectamente a los propósitos de J. S. Bach en la obra en cuestión.

John Barnes, en su estudio, teniendo en cuenta las afirmaciones anteriores, parte de la suposición de que el temperamento de Werckmeister III se acerca a la realidad de la cuestión y lo aplica a la misma obra que estamos tratando. Prueba los resultados con alguno de los otros temperamentos contemporáneos al autor, observa que el temperamento de Werckmeister funciona bastante bien y, finalmente, propone otro muy similar que solventa alguna de las desviaciones observadas.

El método seguido en este estudio parte de la siguiente tabla que expresa la desviación en distancia de los intervalos de quinta y tercera mayor que se dan sobre cada una de las notas de la escala cromática en el temperamento de Werckmeister III:

Werckmeister III Mi b Si b Fa Do Sol Re La Mi Si Fa # Do # Sol # Quintas304 0 0 0 6 6 6 0 0 6 0 0 0 Terceras mayores 16 10 4 4 10 10 16 16 16 22 22 22

En esta tabla se observan algunas terceras más buenas que otras. Ello induce a que las terceras

más disonantes (más desviadas) deberían ser usadas con menor frecuencia y en condiciones especiales que no evidencien sus cualidades. J. Barnes realiza el estudio para los 24 preludios en las tonalidades mayores (de las dos partes) evaluando todas las terceras mayores que aparecen en ellos.

El método de evaluación se basa en la asignación, a cada una de las terceras encontradas, de un parámetro de importancia305 dentro de una escala de A a E; dentro de esta escala A indica que el contexto presta a algún error de afinación muy obvio; B, error bastante obvio; C, error fácilmente perceptible; D, apenas perceptible y E, imperceptible. Estos parámetros parten de la suposición de que los intervalos están perfectamente afinados según el temperamento considerado.

Para determinar el valor del parámetro, Barnes ha tenido en cuenta los siguientes factores, algo subjetivos, pero muy acertados:

1) La persistencia temporal del intervalo: una duración considerable evidencia más sus características y su categoría dentro de la escala de valores.

2) El registro al que pertenece el intervalo según el cual la disonancia puede variar. 3) El resto de notas que se producen simultáneamente con el intervalo que pueden causar más o

menos disonancia en función del intervalo y del registro. 4) La simultaneidad o el ataque precedente de las notas con las cuales puede producirse

disonancia. Hay que tener en cuenta que el efecto de decaimiento de la onda producida por un determinado instrumento provoca que una nota tocada previamente no tenga el mismo peso sobre el cálculo de la disonancia que si la misma nota es tocada simultáneamente.

Todos estos factores, a su vez, dependen de otros parámetros relativos a cuestiones como el tempo, el fraseo, la repetición o no de las notas pedales o el decaimiento de la onda producida por el instrumento.

Las medidas realizadas según estos parámetros quedan resumidas en la siguiente tabla donde quedan enumeradas las terceras de cada categoría que aparecen a lo largo de los preludios estudiados:

Mi b Si b Fa Do Sol Re La Mi Si Fa # Do # Sol # A 0 0 2 9 2 0 0 0 1 0 0 0 B 3 5 6 4 1 2 3 1 2 1 1 4 C 14 22 20 11 15 10 12 12 6 7 8 18 D 32 35 44 29 18 20 37 18 13 14 21 22 E 26 54 30 25 15 22 28 23 16 17 21 20 Método I 75 116 102 78 51 54 80 64 38 39 51 64 Método II 72 99 124 139 68 48 73 46 41 32 41 74

De una tabla previa que Barnes expone en su estudio y de la cual se ha extraído la precedente, se puede deducir que, en general, las terceras mayores son más numerosas en las tonalidades con pocas alteraciones y, dentro de cada tonalidad, son más numerosas las que corresponden a una categoría más alta y las que son están menos desviadas de las justas según el temperamento de Werckmeister III. En cualquier caso, queda en evidencia la falsedad del argumento que defiende que el temperamento igual fuese el que Bach tuvo presente en la composición de El clave bien temperado.

304 Desviación del intervalo (en cents) respecto de la justa entonación. 305 Traducción del término inglés prominence.

Page 150: SpecMusic Libre

150

Tal resultado muestra una tendencia general según la cual las terceras de menor categoría, en general, son menos frecuentes. No obstante, dos métodos posteriores pueden ayudar a determinar una relación más estrecha entre estos resultados y la estructura del temperamento en cuestión.

Un primer método de evaluación consiste en sumar todas las apariciones de cada categoría de tercera para todos los preludios estudiados obteniéndose los resultados de la penúltima fila de la tabla.

Un segundo método realiza una suma ponderada aplicando pesos diferentes para cada categoría, más peso a las terceras de categoría baja y menos las de categoría alta306. Se obtienen los resultados que se muestra en la última fila de la tabla.

Especialmente el segundo método produce una serie de números muy estrechamente relacionados (con una correlación elevada) con las desviaciones de las terceras que se han expuesto para el temperamento Werckmeister III. Tal correlación puede demostrarse más claramente en los siguientes gráficos:

Ilustración 26: Comparación entre los resultados del segundo método y los correspondientes al

temperamento Werckmeister III307.

El primer gráfico representa la tabla numérica de los resultados del segundo método y el segundo, la tabla numérica de las desviaciones de las terceras expuesta para el temperamento Werckmeister III. Observando estas dos gráficas puede deducirse que claramente que Bach usó más libremente aquellas terceras mejor afinadas según el temperamento considerado y mientras que evitó el uso de aquéllas otras más desviadas respecto de la justa entonación. No obstante, también se observa una pequeña desviación para las terceras formadas sobre las notas Do # y Fa #. También puede observarse que las terceras sobre Sol y Re son menos usadas de lo que era de esperar. Varios factores pueden influir en este resultado:

1) La dependencia que el compositor tiene con otros múltiples factores que ha de tener en cuenta en el proceso creativo.

2) La muestra trabajada es algo pequeña para los objetivos estadísticos propuestos. 3) El temperamento de Bach podría diferir significativamente del temperamento Werckmeister

III considerado. Aún así, se puede decir que el resultado es notablemente satisfactorio. Barnes realiza la misma comparación con los temperamentos de Kirnberger y Kellner. Los

resultados obtenidos para el caso del temperamento de Kirnberger desmienten la afirmación realizada por

306 Los pesos aplicados son: 8 veces para la categoría A, 4 para B, 2 para C, 1 para D y ninguna (0) para E. 307 John Barnes: “Bach’s keyboard temperament: Internal evidence from the “Well-Tempered Clavier””, Early Music, Vol. 7,

London, Oxford University Press, 1979, figura 1, p. 243.

Page 151: SpecMusic Libre

151

Herbert Kelletat308 quien sugirió que uno de los temperamentos publicados por Kirnberger era realmente de Bach (y, por lo tanto, un firme candidato para la respuesta a nuestra cuestión, al menos, para el caso de la presente obra). La gráfica muestra una desviación bastante superior a la que muestra la del temperamento Werckmeister III. Kellner dedujo su temperamento a partir de un estudio de la espiritualidad del mundo del Barroco y apoyó su teoría mediante un estudio numerológico309.

Finalmente, Barnes propone un nuevo temperamento basado en una ligera modificación del temperamento Werckmeister III. Tal temperamento solventa las desviaciones observadas y muestra una correlación mucho más elevada (las desviaciones, antes comentadas, se sucedían en las notas Sol, Re, Do # y Fa #). Su tabla correspondiente es la siguiente:

Barnes Mi b Si b Fa Do Sol Re La Mi Si Fa # Do # Sol # Quintas310 0 0 4 4 4 4 4 0 4 0 0 0 Terceras mayores 14 10 6 6 10 10 14 18 18 22 22 18

La conclusión de Barnes muestra una clara evidencia según la cual El clave bien temperado fue

escrito para un temperamento similar al de Werckmeister III y una pequeña modificación demuestra la gran concordancia existente entre el temperamento y partitura.

No obstante, para tener en cuenta este interesante estudio, hemos de considerar que Barnes ha trabajado únicamente los intervalos de tercera mayor en los preludios de tonalidades mayores. Por lo tanto, no ha considerado ni las fugas, ni las tonalidades menores ni las terceras menores.

4.3 Procedimiento

Una vez planteado el problema y estudiado sus antecedentes, voy a proponer otro estudio realizado desde un punto de vista diferente, si más no, relacionado en algunos aspecto con el estudio de J. Barnes, pretende basarse en unos principios mucho más objetivos y definidos basados en la teoría de la disonancia desarrollada por W. A. Sethares y que yo he tratado con más profundidad e a lo largo de este trabajo. No pretendo desmentir los resultados de Barnes ni ofrecer la solución definitiva del problema sino ofrecer una solución alternativa o, en todo caso, ofrecer un punto de vista diferente para el planteamiento del problema.

Éste es el procedimiento que seguiré para el estudio: • Proponer un modelo espectral válido para el clave que después será utilizado para el cálculo

de la disonancia total. W. A. Sethares, en su estudio aplicado a las sonatas de D. Scarlatti, asume el siguiente espectro para el clavicémbalo:

donde f0 es la frecuencia fundamental. • Después, para cada preludio y fuga, guardado cada uno en un fichero MIDI311:

o Convertir el fichero MIDI en fichero partitura creando una partitura nueva a partir del fichero MIDI.

o Calcular la partitura de disonancia de la partitura tomando como parámetro cada afinación que se considere. En cada caso se visualizará el gráfico pero anotaré únicamente el valor de la disonancia total TD. Como parámetro de espectro tomaré el propuesto en el apartado anterior para el clave.

• Finalmente, realizar una tabla con todas las TD calculadas para cada preludio y fuga y para cada afinación considerada. A partir de esta tabla podremos ver si nuestro método coincide con los resultados anteriores, si verifica las otras hipótesis o si, por el contrario, las desmiente por otra mejor o, simplemente, el resultado es claramente erróneo o ilógico. En principio, la afinación que dé un valor más bajo para la TD será la más probable. A ello habrá que añadir alguna consideración acerca de las afinaciones que realmente pudo usar Bach.

Tomaré la muestra formada por los 12 preludios y fugas de las tonalidades mayores de la primera parte (cada preludio y fuga conjuntamente). Con relación al estudio de Barnes, obtendré más información debido a la inclusión de las fugas aunque perderé la información proporcionada por las piezas de la segunda parte que sí considera Barnes. No obstante, considero más representativa la

308 Herbert Kelletat: Zur musikalischen Temperatur, insbesondere bei Johann Sebastian Bach, Hassel 1960. 309 Bien es sabido que el simbolismo (o la numerología) era un método frecuente en la estética barroca y especialmente usado

por Bach quien acostumbraba a firmar sus obras mediante un sello o signo numérico basado en las letras de su apellido. Tal procedimiento ha permitido a los musicólogos asegurar la autoría de muchas de sus obras.

310 Desviación del intervalo (en cents) respecto de la justa entonación. 311 Los ficheros MIDI se han obtenido en la siguiente dirección de Internet: http://www.bachcentral.com/ .

Page 152: SpecMusic Libre

152

información de las fugas que las de los preludios de la segunda parte. Por otro lado, de cara a simplificar el estudio, consideraré solamente los preludios y fugas de los tonos mayores, al igual que el estudio de Barnes. Todo ello no quita que el presente estudio pueda ampliarse posteriormente al resto de las piezas que componen la obra completa de El clave bien temperado, a otras obras para clave o, incluso, considerar los preludios y las fugas por separado. Deben tenerse en cuenta las limitaciones prácticas de tiempo y las limitaciones dadas por el material encontrado.

Igualmente, consideraré únicamente los llamados “buenos temperamentos” ya que sobre ellos estamos discutiendo. No tiene sentido considerar otros temperamentos que no son circulares ni tampoco otras afinaciones como la de Zarlino que, aunque puedan dar un valor más bajo para la disonancia total, se alejan del objetivo perseguido por Bach. Entre los “buenos temperamentos” incluiré también las propuestas posteriores de Kellner y Barnes teniendo en cuenta que el temperamento usado realmente por Bach podría diferir de todos los que conocemos de su época.

En el aparatado 0 se incluye la tabla a la que hacía referencia con su correspondiente comentario.

4.4 Limitaciones de este procedimiento

Antes de conocer los resultados ya puedo hacer un listado de las limitaciones que, de entrada, sé que ya pueden desviar los resultados de una solución verdadera. Muchas de ellas están igualmente presentes en el estudio de Barnes pero, aún así, añadiré otras que él no ha considerado y que también podrían afectar a sus propios resultados. Igualmente, como veremos, algunas de ellas sí han sido consideradas por Barnes pero no así en el presente estudio. Todas ellas permitirán, más tarde, definir otros métodos de estudio más completos y fiables. Son las que enumero a continuación:

1) La dependencia que el compositor tiene con otros múltiples factores que ha de tener en cuenta en el proceso creativo.

2) La muestra trabajada es algo pequeña para los objetivos estadísticos propuestos y el número de cálculos realizados puede no ser suficientemente representativo.

3) El temperamento realmente usado por Bach en esta obra podría diferir más o menos de cualquiera de los temperamentos históricos conocidos.

4) La estética barroca312 induce al uso de recursos expresivos provocados por el uso intencionado de disonancias que pueden conseguirse mediante diversos procedimientos o figuras retóricas313: a. Aprovechar las disonancias provocadas por los intervalos falsos que atraviesan la quinta

del lobo314. b. Intervalos disonantes que adquieren cierta personalidad con finalidad expresiva. c. Otros recursos, como pasajes rápidos o pasajes en un determinado registro

(especialmente el grave), que tengan una finalidad expresiva. 5) Disonancias debidas a alguna de las causas anteriores cuya finalidad no sea especialmente

expresiva (especialmente de ornamentación). 6) Disonancias debidas a la escritura contrapuntística:

a. Utilización de notas extrañas que provoquen disonancia ya sigan o no, las normas establecidas por J. J. Fux315. Tales notas constituyen parte de la ornamentación y no deberían ser consideradas con la misma importancia.

b. Intervalos cuya medida de disonancia difiera debido a que sus dos notas constitutivas se ejecutan en instantes diferentes, efecto que viene causado por el decaimiento de la onda (la cual es muy evidente en el clave).

7) Limitaciones debidas al espectro utilizado: a. El espectro que hemos tomado para el cálculo, aunque ya ha sido utilizado por el

mismo W. A. Sethares con resultados satisfactorios, no deja de ser un modelo con la incertidumbre de si realmente se adapta a la realidad, y aún más, a la realidad de la época (auque se conserven algunos instrumentos antiguos).

312 Los recursos expresivos usados por los compositores barrocos dentro de su propia estética basada en la teoría de los afectos y

demás teorías propias de la seconda prattica, cuyo representante principal es Claudio Monteverdi, provienen de la mentalidad difundida por las cameratas de Bardi y Corsi (en el siglo XVI), basada en la concepción musical de la época clásica griega y, a su vez, propia de la época del humanismo. Véase, para más información Enrico Fubini: La estética musical desde la Antigüedad hasta

el siglo XX, Madrid, Alianza Música 31, 1988 (Edición original de Giulio Einaudi editore s. p. a., Torino 1976; Manfred F. Bukofzer: La música en la época barroca, Madrid, Alianza Música 30, Madrid.

313 Véase Blake Wilson, George J. Buelow, Peter A. Hoyt: “Rhetoric and music”, The New Grove Dictionary of Music and

Musicians, Vol. 15, pp. 793-803, ed. S. Sadie, McMillan, London, 1980. 314 Eso no parece ser un problema para el estudio concreto propuesto cuya expresividad puede estar más delimitada si bien los

intervalos que atraviesan la quinta del lobo son menos disonantes debidos a la propia objetivo del temperamento circular en el cual, sea cual fuere, se basó Bach para escribir su obra.

315 Johann Joseph Fux: Gradus ad Parnassum, Viena (s. i.), 1725.

Page 153: SpecMusic Libre

153

b. En cualquier caso, hemos tomado un modelo único para todas las notas del teclado cuando bien es sabido que el timbre, empezando por el número de armónicos, varía con la frecuencia y, por tanto es diferente para cada nota y, más aún para cada registro316.

Efectos que sí tiene en cuenta el programa: 1) La relativa duración de un intervalo que puede hacerlo más o menos evidente ante su

contribución al efecto de disonancia. 2) Diferencia de alturas entre las respectivas notas que forman el intervalo o conjunto de

intervalos.

4.5 Ejemplos ilustrativos de limitaciones debidas a la estética barroca

En este apartado expondré algunos casos de obras barrocas en las que se encuentran algunos de los recursos expresivos típicos de la estética barroca a los que hacía referencia en el apartado anterior. Tales efectos constituyen limitaciones en el método de medida de la disonancia que estamos desarrollando. Los ejemplos tomados son los siguientes:

• Los “tientos de falsas” son piezas para teclado especialmente típicas en la música barroca hispánica. Tales obras constituyen un caso muy típico en el cual se pretende destacar el efecto disonante provocado por determinados intervalos. Se trabajan especialmente los intervalos de quinta disminuida y cuarta disminuida que en los temperamentos habituales de la época podían resultar extremadamente disonantes. Como ejemplo, podemos citar tres tientos de Juan Cabanilles317.

En el mismo ejemplo pueden encontrarse también algunos intervalos formados con notas alteradas fuera del círculo de quintas habitual de la época318, en concreto, se encuentran varios Re #. Estos intervalos, en determinados temperamentos circulares, pueden resultar consonantes pero, por el contrario, en los temperamentos mesotónicos pueden resultar extremadamente disonantes (correspondiéndose a la “quinta del lobo”)319. No sabemos el temperamento usado para estas piezas320 pero, es posible que se trate de un temperamento en el cual tales intervalos sean consonantes. La razón es que, en el mismo libro de tientos, se encuentran otros no identificados con el calificativo “de falsas” y en los cuales también se encuentran varios Re #.

• En los compases 31 a 34 de la Fantasía y fuga en sol menor (BWV 542) de J. S. Bach321, existe un pasaje cromático que, interpretado en cualquier tipo de temperamento de la época, se producen diferencias en la afinación de los diferentes intervalos constitutivos. Algunos de ellos pueden resultar extremadamente disonantes mientras que otros pueden quedar perfectamente afinados según la justa entonación. En una grabación existente322 puede apreciarse claramente ese efecto aunque en ningún sitio se especifica la afinación del órgano utilizado. Se supone que tal efecto resulta provocado conscientemente por el autor pudiéndose incluso corresponder con algún tipo de figura retórica323 típica de la estética barroca.

En el apéndice 12 se encuentra una copia de la obra en cuestión324 en donde se han señalado los acordes mediante un calificativo “B” (Bien), “M” (Mal) o “R” (Regular”). Tal valoración se ha realizado auditivamente a partir de la grabación disponible. Igualmente, se han señalado algunos casos más en los compases previos.

• En la “Toccata Cromaticha per le Levatione” de la Missa della Domenica de Girolamo Frescobaldi325, se encuentran diversos fragmentos cromáticos donde se aprecia un

316 Ello sin contemplar las diferencias que pueden darse en el espectro al cambiar la articulación y la dinámica aunque esto no es

propio del clave. 317 Juan Cabanilles: “Tiento de Falsas de 1º tono”, “Tiento de Falsas de 6º tono” y “Tiento de Falsas de 8º tono”, Ausgewählte

orgelwerke, Vol. II, Willu Müller, Süddeutscher Musikverlag, Heidelberg, 1977, pp. 46-52. 318 El determinado por las siguientes notas alteradas: Fa #, Do #, Sol #, Si b, Mi b. 319 En el apéndice 12 se encuentra una copia de los tres tientos. 320 Con estas obras también podría realizarse un estudio similar al realizado para el caso de El clave bien temperado de J. S.

Bach. 321 Johann Sebastián Bach: “Fantasia and fugue in G minor” (BWV 542), Toccatas, fantasias, passacaglia and other works for

organ, Dover Publications, Inc., New York, 1987, pp. 35-44. 322 Johann Sebastian Bach: Obras famosas para órgano, Otto Winter, órgano “Silbermann”, Pilz España, S. A., Ávila, 1988 CD

1, track 11. El CD está editado conjuntamente con este otro: Variaciones Goldberg, Christiane Jaccottet, clavicémbalo, CD 2, 1989. 323 Para una aclaración del concepto de figura retórica así como para un listado de ellas véase Blake Wilson, George J. Buelow,

Peter A. Hoyt: "Rhetoric and music", The New Grove Dictionary of Music and Musicians, Vol. 15, pp. 793-803, ed. S. Sadie, McMillan, London 1980.

324 De cara a una mayor unidad, se ha incluido la obra entera, junto con la fuga. 325 Girolamo Frescobaldi: Fiori Musicali, 1635 (2 CD), Rinaldo Alessandrini, órgano Gian Giacomo Antegnati, 1554, S.

Mauricio al Monastero Maggiore, Milan, Audivis-Astrée, 1989, CD 1, track 21.

Page 154: SpecMusic Libre

154

efecto similar al anterior. Igualmente, tales cromatismos podrían corresponderse con figuras retóricas. Su efecto se ha valorado auditivamente ya que no dispongo de la partitura.

• En el recitativo del Evangelista del Coro I “Und siehe da, der Vorhang im Tempel zerriss in zwei Stück”, hacia el final de la segunda parte de la Pasión según San Mateo de J. S. Bach326, se encuentra un pasaje del continuo que contiene trémolos y escalas rápidas en fusas. Tal pasaje corresponde indudablemente a algún tipo de figura retórica que pretende ilustrar el terremoto ocurrido tras la muerte de Jesucristo en la cruz. Tanto las escalas rápidas como los trémolos producen disonancia y tal disonancia es provocada conscientemente con un objetivo expresivo. Los trémolos se realizan con notas graves que acentúan el efecto disonante327.

No obstante, debe tenerse en cuenta que la medida realizada para la disonancia puede omitir este efecto al considerar cada fusa independientemente de las otras. Una medida basada en una percepción auditiva más real (considerando, por ejemplo, un periodo de tiempo determinado que sea independiente de la figuración), podría acentuar más el efecto disonante buscado por Bach en este pasaje.

4.6 Evaluación de los resultados

He aquí la tabla a la que hacía referencia en el apartado V.4.3:

BWV 846 848 850 852 854 856 858 860 862 864 866 868

Tonalidad (mayor) Do Do # Re Mi b Mi Fa Fa # Sol La b La Si b Si Media

Desviación estándar

Temperamento igual 0,00 -0,01 0,00 0,00 0,00 0,00 0,01 0,01 -0,01 0,00 0,00 0,01 0,00 0,006685579

Werckmeister I -3,09 -0,26 4,11 -3,35 -1,38 -11,43 1,82 2,75 -3,19 -0,73 -10,20 2,40 -1,88 4,855065693

Werckmeister II 2,66 -0,13 -4,56 -4,63 -3,85 -13,82 1,93 8,34 -3,38 -3,59 -12,05 2,80 -2,52 6,247667686

Werckmeister III -3,09 -0,26 4,11 -3,35 -1,38 -11,43 1,82 2,75 -3,19 -0,73 -10,20 2,40 -1,88 4,855065693

Werckmeister IV -5,53 22,63 -1,86 14,52 3,36 -6,10 32,63 -11,68 25,16 -6,59 1,09 20,89 7,38 14,97779589

Werckmeister V -7,72 22,63 3,06 1,75 2,35 0,26 14,76 -8,44 12,06 -0,27 -2,50 7,75 3,81 9,128810661

Kirnberger II -27,51 -0,83 -2,21 -3,72 4,29 -5,90 1,94 -26,88 -3,53 -6,33 -7,96 -0,04 -6,56 10,25022424

Kirnberger III -9,32 -0,42 3,91 -3,51 3,01 -10,45 1,39 -3,17 -3,08 0,85 -9,94 -0,38 -2,59 4,985386144

Neidhardt I -4,41 -1,73 1,15 0,14 3,37 -5,06 -0,28 -2,07 0,23 -0,16 -5,34 1,13 -1,09 2,710744475

Marpurg I -3,54 9,50 -4,60 -5,21 0,15 1,66 -3,88 -6,26 -2,03 0,01 -1,96 -6,10 -1,86 4,389927521

Schilck -7,07 -0,42 -2,49 -1,97 15,78 -7,43 26,52 -6,08 7,76 4,46 -6,30 22,26 3,75 11,8748748

Tartini-Vallotti -5,58 -0,29 -3,22 -2,30 2,43 -6,07 1,96 -5,00 -2,71 -3,98 -7,14 2,97 -2,41 3,460292837

Barca -4,37 -1,19 -2,22 -0,58 2,52 -4,72 1,36 -3,73 -1,91 -2,97 -5,19 2,78 -1,69 2,750733786

Kellner -6,56 -0,30 0,93 -2,75 1,80 -8,07 1,77 -2,14 -2,98 -1,75 -8,23 2,27 -2,17 3,766846101

Barnes -2,79 -0,42 1,53 -4,49 1,67 -5,73 1,42 -0,31 -4,05 -0,45 -6,64 1,54 -1,56 3,045992897

Podemos observar que se produce un valor mínimo (en media) para el caso del temperamento

Kirnberger II. En este sentido, el resultado apoya la opinión de Herbert Kelletat328 en contra de la de John Barnes329. Incluso, aunque con bastante diferencia, el siguiente valor corresponde al temperamento de Kirnberger III. No obstante, los valores de las desviaciones estándar para estos dos temperamentos son respectivamente 10.2 y 5.0, el primero bastante elevado. Ello iría en contra de un concepto de circularidad (vista desde el punto de vista de su uniformidad) el cual constituye el objetivo de la afinación de la obra. Pero si miramos los resultados particulares se obtienen pocos valores positivos de la TD (y relativamente reducidos): preludio y fuga en Mi mayor (BWV 854) y en Fa # mayor (BWV 858) para el caso del temperamento Kirnberger II; preludio y fuga en Re mayor (BWV 850), en Mi mayor (BWV 854), en Fa # mayor (BWV 858) y en La mayor (BWV 864). En este sentido tendríamos que dar por bueno el caso del temperamento de Kirnberger II, independientemente del valor de la desviación estándar.

Por otro lado, si observamos los resultados de los temperamentos de Werckmeister vemos que son bastante malos para los casos IV y V pero buenos para los casos I, II y III (mejor el II). Las desviaciones estándar de estos tres últimos son relativamente bajas. Igualmente, sólo cuatro preludios y

326 Johann Sebastian Bach: St. Matthew Passion in full score, Dover Publications, Inc., New York, 1990, p. 219. 327 En el apéndice 12 se encuentra una copia del citado recitativo. 328 Véase la nota 308. 329 Véase el apartado V.4.2

Page 155: SpecMusic Libre

155

fugas de cada caso tienen valores positivos para la TD. Únicamente destaca como demasiado alto el valor de la TD correspondiente al preludio y fuga en Sol mayor (BWV 860). Otro valor bastante bueno se produce para el caso del temperamento Tartini-Vallotti, con una media y desviación estándar reducidas.

Las soluciones de Kellner y Barnes son bastante buenas pero el valor correspondiente de la TD es mayor que para los temperamentos Kirnberger II y III y Werckmeister II, incluso el de Barnes es más alto que el de Werckmeister I y III. Estas afirmaciones contradicen los resultados dados por John Barnes en su artículo.

Ante estos resultados voy a proponer el temperamento Kirnberger II como el más probable para la obra de El clave bien temperado de J. S. Bach. Ya hemos visto que eso va en contra de la opinión de Barnes pero, a la vez, hemos de tener en cuenta que el presente estudio ha considerado los preludios conjuntamente con las fugas y que también ha considerado todos los tipos de intervalos, no sólo los de tercera mayor (como hizo Barnes). Igualmente, también hemos de considerar que el presente resultado está apoyado por la opinión de Herbert Kelletat, así como tener presente las limitaciones a las que hacía referencia en el apartado V.4.4.

4.7 Posibles vías de solución

Teniendo en cuenta las observaciones realizadas en el apartado V.4.4, podemos proponer las siguientes vías de solución de cara a continuar el estudio del problema en trabajos posteriores:

1) De cara a aumentar la muestra trabajada para los objetivos estadísticos simplemente puede solucionarse ampliando el estudio a más obras.

2) Las disonancias provocadas por ciertas figuras retóricas con finalidad expresiva deberían eliminarse del cálculo de la disonancia total tras un previo análisis musicológico de la obra. Tal análisis es realmente complejo para poder ser realizado automáticamente pero ello no dejaría de ser una posible vía de investigación futura muy interesante.

3) Las disonancias debidas a causas diferentes de las anteriores (ornamentación y notas extrañas propias de la escritura contrapuntística) también requerirían un análisis previo para ser posteriormente eliminadas, o bien, consideradas de forma diferente (con menos peso de cara al cálculo de la disonancia total). Tal análisis podría ser realizado automáticamente de una forma más fácil que el anterior debido a que se trata de fenómenos más definidos.

4) Para solucionar el problema de las notas mantenidas en relación con el efecto de decaimiento de las ondas, simplemente bastaría con simular la variación correspondiente del espectro lo que llevaría a complicar el cálculo de la disonancia total.

5) Para solucionar las limitaciones debidas al espectro utilizado bastaría, por un lado, con simular el espectro en función de la frecuencia de la nota fundamental y, por otro lado, mejorando el modelo espectral en sí. En este sentido, podría llegarse a desarrollar de nuevo la teoría de la disonancia basándonos en el espectro continuo, sin modelar, lo cual llevaría, entre otras cosas, a sustituir el cálculo de sumatorios por integrales.

No obstante y, a parte de todo esto, igual que han hecho Kellner y Barnes, podríamos proponer un temperamento que se ajustase más a la obra estudiada y basado en los principios que hemos considerado. Eso lo podríamos conseguir aplicando el algoritmo de gradiente descendiente que también propone Sethares para estos casos y que yo he expuesto en el apartado II.4.3.9 de este trabajo. En cualquier caso, tal solución no dejaría de ser un temperamento propuesto en el siglo XXI y que no tiene porqué coincidir con usado por Bach330. No obstante, todo ello será motivo de estudio en un trabajo posterior.

5. APLICACIÓN EN LA ETNOMUSICOLOGÍA

W. A. Sethares aplica la relación entre escala y timbre o espectro para demostrar los fundamentos físicos que pueden dar explicación a la composición de ciertas escalas usadas en determinadas músicas étnicas. En concreto, realiza un interesante estudio sobre la música javanesa en Indonesia, del cual reproduciré un resumen a continuación.

El objetivo de este apartado no es estudiar la afinación del gamelan ni demostrar los resultados de Sethares sino demostrar la utilidad del proyecto justificando su título en lo referente a las aplicaciones de la etnomusicología.

330 De hecho, en este estudio, lo único que he hecho es decidir qué temperamento se ajusta más de entre todos los conocidos de

la época.

Page 156: SpecMusic Libre

156

5.1 Introducción histórica a la música de Java (Indonesia)331

Los indonesios fueron los últimos de cuatro grandes grupos de pueblos que emigraron a las islas del sudeste asiático en tiempos prehistóricos. Sabemos algo de su cultura por muchos de sus objetos de piedra y metal, así como por los comentarios escritos de los chinos, que entraron en contacto con Indonesia por lo menos desde el siglo III a. C. La influencia india y el hinduismo brahmánico entraron en Java en los siglos I y II de la era cristiana. El budismo apareció en el siglo V y tuvo particular influencia durante la poderosa dinastía Sailendra, en el siglo XVIII. El brahmanismo se mantuvo en algunas partes del imperio y, a la larga, regresó a la corte central, en donde se mezcló con las tradiciones religiosas budistas e indígenas. Comercio y conflictos bélicos pusieron en contacto a diversos imperios indonesios con los mundos chino, mongol y árabe. El Islam estaba ya establecido en Indonesia por lo menos desde el siglo XIII y ejercía predominio en el siglo XV. A partir del siglo XVI fueron adquiriendo creciente importancia las influencias portuguesa, holandesa, inglesa y de otros países occidentales. Esta larga serie de contactos culturales han contribuido a crear la rica mezcla de estilos musicales que hoy existe en Indonesia y, como hemos señalado, se pueden encontrar posibles relaciones entre las músicas de las grandes civilizaciones antiguas de Java y las de otras culturas indígenas a lo largo del Asia sudoriental.

5.2 Descripción de los instrumentos del gamelan332

En indonesio, gamelan es un término genérico que hace referencia a un conjunto musical cuyo tamaño puede variar desde un pequeño grupo de instrumentos hasta más de 75. Tal variedad se puede encontrar no sólo de unas islas a otras dentro el archipiélago indonesio, sino también dentro de cada distrito en una misma isla. Hasta ahora, las investigaciones se han centrado primordialmente en algunas de las diferentes tradiciones que se encuentran en Java y Bali. El estudio realizado por W. A. Sethares se centra en la música de la isla de Java333.

A continuación, expongo una lista de los principales instrumentos utilizados en dicha isla con una breve descripción de cada uno de ellos:

Voz humana: frecuentemente, el canto es una parte importante de las composiciones de Java central aunque de entrada, en Occidente se piensa en la música de gamelan como música instrumental. Pueden participar una voz femenina (pesinhen), un coro unísono de hombres (gerong) o un coro mixto (gerong bedayan).

Palmas: en algunas secciones de muchas interpretaciones modernas se pueden escuchar sutiles palmas.

Rebab: especie de laúd de arco de dos cuerdas metálicas afinadas en quintas y que se pisan sin presionar la cuerda contra el mástil. La tensión del arco de cerdas se mantiene con la mano al igual que en la tradición europea de instrumentos de gamba. Se dice que la delicada y ornamentada música coral está relacionada con la melodía del rebab.

Suling: especie de flauta de pico, llamada también “flauta de cinta”, debido a que el aire se dirige al bisel mediante un trozo de roten arrollado a la flauta. De manera análoga al caso del rebab, se dice que la parte solista de la voz humana se asemeja a la melodía del suling.

Celempung (tjelempung)334: instrumento de cuerda o especie de cítara, llamada también siter. Tiene 26 cuerdas de metal afinadas de dos en dos, es decir, cada par de cuerdas afinadas en una misma nota, lo cual hace un total de 13 notas.

Los instrumentos de un gamelan que más saltan a la vista son sus metalófonos de bronce. Se dividen en dos tipos fundamentales: los que tienen láminas o tablillas y los que tienen gongs abombados. Los de tablillas o láminas son el saron, el gambang kayu y el gender, y los de gongs son el kethuk, el kenong , el kempul y el gong agung o gong siyem. Los nombres de estos últimos cuatro instrumentos corresponden a onomatopeyas basadas en el sonido que producen y su función es fundamentalmente rítmica (de puntuación).

Saron: instrumento compuesto de una serie de tablillas colocadas sobre una caja de resonancia. Se toca con un mazo de madera o, en ocasiones, de hueso (tabu). A medida que se van tocando las notas se va amortiguando la precedente con el pulgar y el índice de la mano izquierda con lo que la melodía

331 William P. Malm: Culturas musicales del Pacífico, el Cercano Oriente y Asia, Madrid, Alianza Música, 1985. 332 Puede verse una ilustración de algunos de estos instrumentos en el apéndice 0. 333 Puede encontrarse información sobre la isla de Bali en William P. Malm: Culturas musicales del Pacífico, el Cercano

Oriente y Asia, Madrid, Alianza Música, 1985. De esta misma referencia se ha extraído la información descriptiva de los instrumentos. Puede obtenerse información más precisa a partir de las referencias que sobre este tema expongo en el apartado 13 de la bibliografía.

334 La forma en que figura este término en primer lugar (al igual que las de otros) se ajusta a un sistema oficial ortográfico adoptado recientemente; la segunda es una transliteración anterior.

Page 157: SpecMusic Libre

157

surge con claridad. El saron puede ser de tres tamaños: el más agudo y de menor tamaño se llama saron

panerus o peking; el mediano, saron barung, y el más grave, saron demung335. Gambang kayu: especie de xilófono de madera que utiliza una caja de resonancia, al igual que el

saron, pero que se toca con discos almohadillados sujetos al extremo de dos palos largos y finos. Gender: instrumento compuesto de una serie de láminas delgadas de una aleación fina de bronce,

suspendidas por cuerdas sobre tubos de resonancia separados. Igual que para el gambang kayu, se utilizan discos almohadillados colocados al extremo de palos. El gender también puede ser de varios tamaños: el modelo mayor es el gender panembung o slentem y se toca como el saron, con un solo palo; los más agudos son el gender barung y su compañero a una octava más alta, el gender panerus, los dos se tocan con dos palos. En el gender agudo, apagar la resonancia constituye un problema porque las dos manos del ejecutante están tocando con frecuencia partes separadas y complicadas. La solución consiste en un movimiento sutil de la muñeca que permite al intérprete apagar con un dedo o con el borde de la mano la última nota que ha dado, al tiempo que toca la siguiente.

Bonang: instrumento compuesto por gongs abombados de bronce colocados sobre cuerdas atadas a un bastidor de madera y que se tocan con palillos almohadillados. Al igual que el saron y el gender, tiene tres tamaños. Si bien la música la función de los gongs es la puntuación.

Kethuk: pequeño gong abombado y horizontal colocado sobre cuerdas en un bastidor de madera y que se golpea con un mazo almohadillado. Produce un sonido agudo y amortiguado.

Kenong: conjunto de gongs abombados de mayor tamaño que se colocan en bastidores de madera del mismo tipo que el anterior.

Kempul: juego de gongs suspendidos. Gong agung o gong siyem, de aspecto impresionante colgado al fondo de la orquesta, produce el

sonido más profundo de los cuatro. Éste es el instrumento al que nos referimos cuando hablamos del gong a secas.

Otros instrumentos utilizados en Java son el kendang y el kacapi (kachapi). Kendang: tambores cilíndricos de dos parches atados con correas. Kacapi (kachapi): especie de cítara de la cual existen varios tipos en Java. Las del tipo más

común pueden tener de 6 a 18 cuerdas, que se templan con clavijas en los extremos, y puentes movibles. Otro instrumento típico de toda Indonesia es el angklung. Angklung: instrumento de bambú consistente en dos o más tubos de afinados en octavas y

colgados de un bastidor sobre un tubo resonador ranurado.

5.3 Espectros de los instrumentos del gamelan336

5.3.1 Espectro del saron

El espectro del saron varía para cada gamelan aunque, en general, pueden establecerse dos variedades básicas cuyos modelos pueden ser los correspondientes al Gamelan Swastigitha y al Gamelan Kyai Kaduk Manis. Además, dentro de cada instrumento concreto, el espectro con la altura del sonido por lo que Sethares considera dos espectros correspondientes a dos notas representativas del instrumento para cada modelo de saron, resultando el primero de ellos algo más simple que el segundo. A continuación, expongo los gráficos de los espectros medidos337 y sus modelos espectrales normalizados. Para estos últimos se expone el modelo espectral correspondiente a cada nota medida y se busca un espectro o nota “genérica” e ideal que corresponde a la media de los otros dos calculados.

Gráfico y espectro idealizado para el primer modelo:

335 En las familias instrumentales del gamelan, por lo general, existe una relación directa entre el tamaño de un instrumento y la

densidad de su música, de manera que los instrumentos más pequeños y agudos tocan más notas que los grandes y graves. Esto tiene una correspondencia lógica con la teoría de la disonancia de la que tanto he hablado a lo largo de este trabajo y es que los sonidos graves tienen más cantidad de armónicos. Eso provoca que un mismo intervalo sea más disonante que otro igual de un registro más agudo.

336 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997. 337 Para todos los casos tratados en el presente estudio, los cálculos de los gráficos de los espectros se han realizado usando 32 K

muestras para la FFT. Además, cada gráfico representa los primeros ¾ de segundo de la onda grabada.

Page 158: SpecMusic Libre

158

Ilustración 27: Espectro del saron del Gamelan Swastigitha338. 1, 2.71, 4.84 1, 2.62, 4.53, 4.83, 5.91 1, 2.76, 4.72, 5.92 Gráfico y espectro idealizado para el segundo modelo:

Ilustración 28: Espectro del saron del Gamelan Kyai Kaduk Manis339. 1, 2.34, 2.76, 4.75, 5.08, 5.91 1, 2.31, 2.63, 4.65, 5.02, 6.22 1, 2.39, 2.78, 4.75, 5.08, 5.96 El cálculo del espectro idealizado para el primer modelo se ha realizado teniendo en cuenta que

aparecen cuatro parciales de forma consistente a lo largo de todo el registro del instrumento. Puede demostrarse cierta analogía con el espectro de una barra ideal aunque con alguna diferencia340. Puede pensarse que el segundo modelo surge del primero a partir del principio de bifurcación de parciales. En concreto, los parciales segundo y tercero del segundo modelo pueden ser interpretados como “hijos”341 del segundo parcial del primer modelo que sería interpretado como “genérico”.

5.3.2 Espectro del gender

Para el cálculo del modelo espectral del gender se han considerado dos modelos diferentes a partir de dos notas342 típicas y representativas. A continuación expongo los gráficos de los espectros medidos y sus modelos espectrales normalizados:

338 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 8.2, p. 170. 339 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 8.3, p. 171. 340 El espectro de una barra ideal es 1, 2.76, 5.41, 8.94, 13.35 y 18.65. Véase Lawrence E. Kinsler y otros: Fundamentals of

acoustics, John Wiley and Sons, New York 1982. Traducción española: Lawrence E. Kinsler y otros: Fundamentos de acústica, Ed. Limusa, México, 1992.

341 Traducción de la palabra inglesa children con la cual Sethares identifica los parciales correspondientes. 342 Sethares identifica cada lámina del gender con un hit.

Page 159: SpecMusic Libre

159

Ilustración 29: Espectro del gender343. 1, 2.01, 2.57, 4.05, 4.8, 6.27 1, 1.97, 2.78, 4.49, 5.33, 6.97 Puede demostrarse cierta analogía con el espectro de una barra ideal aunque con alguna

diferencia344 consistente en la adición de algún parcial armónico debido a las resonancias de los tubos sobre los que se sitúan las láminas del instrumento.

5.3.3 Espectro del bonang

Para el cálculo del modelo espectral del bonang se han considerado tres notas345 diferentes representativas. A continuación expongo los gráficos de los espectros medidos y sus modelos espectrales normalizados a los que he añadido el espectro “genérico” calculado:

Ilustración 30: Espectro del bonang346. 1, 1.58, 3.84, 3.92 1, 1.52, 3.41, 3.9 1, 1.46, 1.58, 3.47, 3.71, 4.12, 4.49 1, 1.52, 3.46, 3.92 Los dos primeros espectros son bastante típicos y, para el tercero, puede demostrarse su posible

derivación de los otros dos a partir del principio de bifurcación de parciales, el cual ya fue encontrado en el saron. En concreto, los parciales 1.46 y 1.58 del tercer espectro pueden ser interpretados como hijos347 del parcial “genérico” 1.52 del segundo; mientras que los parciales 3.47 y 3.71 del tercer espectro, pueden derivarse del parcial en 3.46 del segundo. Este fenómeno puede observarse en muchos de las otras notas.

343 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 8.4, p. 172. 344 Véase la nota 340. 345 Sethares identifica cada gong del bonang con un kettle. 346 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 8.6, p. 174. 347 Véase la nota 341.

Page 160: SpecMusic Libre

160

5.3.4 Espectro del gong

El gráfico del espectro obtenido para el gong es el siguiente:

Ilustración 31: Espectro del gong348. Y su modelo espectral normalizado es: 1, 1.49, 1.67, 2, 2.67, 2.98, 3.47, 3.98, 5.97, 6.94 En este espectro, curiosamente puede demostrarse la siguiente relación entre sus parciales

(reduciendo a la misma octava): 1, 4/3, 3/2, 5/3, 7/4, 2

la cual secuencia de números racionales se corresponde con una simple escala pentatónica justa349 (donde aparece alguna fracción basada en el 7º armónico350).

Es especialmente interesante la envolvente de la amplitud del sonido que puede escucharse debida a la variación de amplitud (decaimiento y crecimiento) que se produce en los diversos parciales del instrumento, a lo largo del elevado tiempo de reverberación. También resulta característico que sus frecuencias fundamentales son muy graves, del orden de 40 o 50 Hz.

5.3.5 Espectros de otros instrumentos

El espectro del gambang es muy similar al de una barra ideal351. El espectro del kenong es bastante similar al del bonang, al igual que lo es también su

constitución. Igualmente deben serlo los espectros del kethuk y el kempul. El espectro del kendang debe de ser similar al de una membrana352. Por otro lado, los espectros del rebab y el suling son armónicos, en tanto que estos instrumentos

consisten respectivamente en cuerdas tensadas y en un tubo resonador. Igualmente pasa para los casos del kacapi, del angklung, del celempung y de la voz humana.

Esta última consideración es importante de cara al estudio de la afinación, como veremos en el apartado siguiente. Es notorio e interesante tener en cuenta que la música del gamelan incluye varias familias de instrumentos no armónicos, cada uno con su propio carácter, pero que conservan la compatibilidad con los instrumentos armónicos existentes.

348 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 8.8, p. 176. 349 Además, también puede demostrarse que los parciales del espectro del gong son múltiplos de una frecuencia muy grave, a

veces inaudible. 350 Véase Harry Partch: A genesis of a music, Da Capo Press, New York, 1974. 351 Véase la nota 340. 352 Para obtener el espectro de una membrana ideal, véase Lawrence E. Kinsler y otros: Fundamentals of acoustics, John Wiley

and Sons, New York 1982. Traducción española: Lawrence E. Kinsler y otros: Fundamentos de acústica, Ed. Limusa, México, 1992.

Page 161: SpecMusic Libre

161

5.4 Afinación de los instrumentos del gamelan

5.4.1 Sistema musical javanés353

En la música de Java hay dos escalas fundamentales: la slendro, pentatónica y la pelog, heptatónica. Entre los diferentes grupos gamelan de la isla existe una gran variedad en las alturas reales de las notas de esas escalas y en los intervalos entre ellas, aunque están igualadas con gran precisión entre los instrumentos de un mismo gamelan. La escala pelog es particularmente variada. Además, la diferencia entre las dos escalas dentro de un gamelan es de tal magnitud que es necesario afinar un grupo de instrumentos melódicos de acuerdo con cada una de ellas para disponer de un conjunto completo.

En el siguiente gráfico puede verse una afinación típica (no una afinación modelo) con arreglo a las escalas pelog y slendro, con los intervalos marcados en cents, y comparándola con un temperamento igual occidental354.

Ilustración 32: Ejemplo de sistema musical javanés355. La palabra que aparece en cada una de las notas es el nombre que recibe en la moderna práctica

javanesa; los números arábigos son los que aparecerían en la actual notación cifrada javanesa. Tanto los nombres como los números difieren de varias tradiciones cortesanas anteriores y, como en muchos estudios de música javanesa aparecen nombres antiguos de las notas, se han incluido entre paréntesis los más importantes en las posiciones que les corresponden.

En Java central cada escala tiene tres modos denominados pathet (patet). Éstos figuran en las partes superior e inferior del gráfico. Las diferentes representaciones de las notas indican sus diferentes jerarquías dentro del modo: los círculos blancos representan las notas más frecuentes; los círculos negros, las de frecuencia secundaria; y los círculos que figuran entre paréntesis, las que se evitan. En realidad, tales notas son sustituciones (sorogan) para las contiguas unidas por flechas.

En general, pueden establecerse ciertos patrones para las dos escalas que resultan comunes a todos los gamelan de la isla:

El slendro equivale a una división de la seudo-octava356 en 5 partes iguales.

353 Para otros aspectos teóricos sobre la música javanesa puede consultarse una introducción en William P. Malm: Culturas

musicales del Pacífico, el Cercano Oriente y Asia, Madrid, Alianza Música, 1985. También puede obtenerse información más precisa a partir de las referencias que sobre este tema expongo en el apartado 13 de la bibliografía.

354 El tema de la afinación es tratado con profundidad en los siguientes apartados. 355 William P. Malm: Culturas musicales del Pacífico, el Cercano Oriente y Asia, Madrid, Alianza Música, 1985, ejemplo 2-3,

p. 64.

Page 162: SpecMusic Libre

162

El pelog sigue un patrón de la forma S1, S2, L1, S3, S4, S5, L2357

donde los Si representan intervalos pequeños y los Li, intervalos grandes. Es curioso observar cómo tal estructura coincide con una interesante inversión de la escala diatónica definida por la secuencia LLSLLLS. No obstante, los valores reales de Si y Li varían considerablemente entre los diferentes gamelan e incluso dentro del mismo gamelan, por lo que tal patrón no puede ser tomado literalmente.

5.4.2 Afinación del gamelan

Un estudio de las afinaciones fijas de las tablillas del saron y el gender de muchos grupos gamelan de toda la isla, realizado por J. Kunst358, indica que hay una gran variedad en las alturas reales de las notas de las escalas slendro y pelog, así como en los intervalos entre ellas. No obstante, están igualadas con gran precisión entre los instrumentos de un mismo gamelan.

A partir de estas primeras medidas, Kunst observó que el intervalo entre cada nota de un slendro es de unos 240 cents, aproximándose en su conjunto a un temperamento igual de 5 notas.

Nota 6 1 2 3 5 6 Intervalo (en cents) 240 240 240 240 240

En cambio, un pelog consiste en 7 divisiones no iguales de la octava:

Nota 1 2 3 4 5 6 7 1 Intervalo (en cents) 120 150 270 150 115 165 150

Desafortunadamente, J. Kunst utilizó un monocordio para obtener los resultados anteriores, por

lo cual son muy poco precisos. Esto se ha mejorado considerablemente en estudios posteriores359. Además de eso, hay otros aspectos que J. Kunst no tuvo en cuenta para su investigación:

1) Cada gamelan se afina de manera diferentes, especialmente el pelog puede diferir sustancialmente entre diversos grupos de gamelan.

2) Las escalas no tienen “octavas” de valor exacto 2/1 sino que extendidas o comprimidas360. Es por ello que hablaremos de seudo-octavas361.

3) Cada seudo-octava de un gamelan puede diferir de otras octavas del mismo gamelan.

4) Hay normalmente alguna nota común entre el slendro y el pelog dentro de un gamelan dado, tales notas también difieren entre los diversos gamelan.

J. Kunst midió la afinación de un saron en cada gamelan y extrapoló el resultado a la afinación de todo el gamelan. Eso no puede resultar muy afortunado si tenemos en cuenta que la afinación del saron difiere considerablemente en los diversos gamelan, con el resto de instrumentos del mismo gamelan y, dentro del mismo instrumento, entre diferentes registros.

Todos estos aspectos ya los tuvieron en cuenta W. Surjodiningrat (y otros) en un estudio posterior362 donde se dan las afinaciones de más de 30 gamelan completos. En este caso, se usó un sistema de medida electrónico mucho más preciso con el que pudo conseguirse una precisión de 1 Hz. Tal técnica de medida requiere que todos los parciales del sonido sean filtrados quedando únicamente la información aportada por las frecuencias fundamentales del espectro. Este sistema constituye un método completamente adecuado para medir las afinaciones, ya que las alturas sonoras363 de los instrumentos metalófonos vienen determinadas por sus fundamentales. Su desventaja radica en que tal sistema requiere la pérdida de la información relativa al timbre del sonido.

Uno de los aspectos más remarcables de las escalas javanesas (al menos desde nuestro punto de vista) es que no se basan en la octava exacta de relación 2/1. Los efectos de extensión y comprensión de la octava (ya comentados anteriormente en este mismo apartado) han quedado perfectamente demostrados

356 Este término también quedará justificado en loa apartados siguientes. 357 Tal patrón es establecido en W. Surjodiningrat, P. J. Sudarjana y A. Susanto: Tone Mesurements of Outstanding Javanese

Gamelans in Yogyakarta and Surakarta, Gadjah Mada University Press, 1993. En el siguiente apartado trataré el tema de la afinación con más profundidad dando una justificación a la afirmación de Surjodiningrat (y otros).

358 J. Kunst: Music in Java, Martinus Nijhoff, The Hague, Netherlands, 1949. Constituye el primer gran estudio de la música javanesa.

359 Véase el apartado siguiente. 360 Traducciones de los términos ingleses stretched y compressed. 361 Véase el apartado II.3.4 donde defino tal término más detenidamente. Sethares habla de pseudo-octaves o “octaves”. 362 W. Surjodiningrat, P. J. Sudarjana y A. Susanto: Tone Mesurements of Outstanding Javanese Gamelans in Yogyakarta and

Surakarta, Gadjah Mada University Press, 1993. Traducción del original en lengua indonesia. 363 Traducción de pitch. Véase el apartado II.2.1.

Page 163: SpecMusic Libre

163

por Surjodiningrat, quien ha observado que su rango se encuentra entre los 1191 hasta los 1232 cents. Por otro lado, Carterette (y otros)364 reanaliza los datos de Surjodiningrat describiendo las seudo-octavas mediante la mejor aproximación a partir de un modelo exponencial equivalente al de las octavas de la música occidental.

5.4.3 Casos concretos

De cara a poder extraer algunas conclusiones y, teniendo en cuenta la variedad de afinaciones existente entre los diversos gamelan, en este apartado describiré dos casos concretos para la afinación del gamelan: Gamelan Swastigitha y Gamelan Kyai Kaduk Manis365.

Las afinaciones completas de estos gamelan pueden verse en las tablas incluidas en el apéndice 9 donde los números representan las frecuencias fundamentales de cada una de las notas de los instrumentos366. Puede observarse que, con la excepción del gambang367, la afinación es realmente consistente: diferentes instrumentos en la misma columna tienen notas afinadas con la misma frecuencia y raramente difieren de más de 1 o 2 Hz. Por ejemplo, en la nota 6 del registro II, las frecuencias de los 6 metalófonos están comprendidas entre 471 y 472 Hz. La última fila representa la media de los valores de cada columna y constituye una afinación idealizada para ese gamelan.

En las siguientes tablas, se han convertido a distancias (en cents) los valores de la afinación idealizada dada por los gráficos anteriores y se han agrupado por registros obteniéndose los siguientes resultados (la última fila de estas nuevas tablas vuelve a corresponder a los valores medios de los tres registros calculados):

Gamelan Swastigitha: Slendro

Registro Intervalos “Octava” I 252 240 244 244 239 1219 II 233 249 243 235 246 1206 III 235 248 238 252 237 1210 Media 240 246 242 241 241 1210

Gamelan Kyai Kaduk Manis: Slendro

Registro Intervalos “Octava” I 231 223 239 247 253 1193 II 237 237 238 234 250 1196 III 243 239 225 250 242 1199 Media 237 233 234 244 248 1196

Gamelan Swastigitha: Pelog

Registro Intervalos “Octava” I 100 145 301 121 99 162 261 1189 II 133 153 275 117 106 181 234 1199 III 123 166 269 119 119 173 238 1207 Media 119 155 282 119 108 172 244 1199

Gamelan Kyai Kaduk Manis: Pelog

Registro Intervalos “Octava” I 166 161 267 119 119 171 237 1240 II 147 145 274 115 104 197 209 1191 III 158 154 258 96 154 180 206 1206 Media 157 153 266 110 126 183 217 1212

A través de estos gráficos pueden establecerse ciertas conclusiones en referencia de la estructura

interna de las escalas javanesas.

364 E. C. Carterette, R. A. Kendall: “On the tuning and stretched octave of Javanese gamelans”, Leonardo Music Journal, Vol. 4, 1962, pp 59-68.

365 Los dos descritos en W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997; a la vez, están basados en las medidas de Surjodiningrat (véase la nota 362). Además, se han expuesto las tablas de W. A. Sethares en el apéndice 1.

366 En tales medidas se consiguió una precisión de 1 Hz. 367 Puede ser que el gambang sea más difícil de afinar que otros instrumentos debido a su poca reverberación. También puede

influir el hecho de que la madera se desafine más fácilmente que los el bronce de los instrumentos metalófonos.

Page 164: SpecMusic Libre

164

En referencia al slendro, en los dos ejemplos puede observarse claramente la uniformidad característica que lo aproxima con gran exactitud a un temperamento igual de 5 notas. La desviación media de la escala obtenida con el temperamento exacto ideal es, para el primer ejemplo, de 2 cents y el máximo error de 6; para el segundo ejemplo tenemos una desviación media de 5.6 cents y un error máximo de 8. A modo comparativo, si se considera el temperamento igual como una aproximación a la justa entonación, la desviación media que resulta es de 8.8 cents y el error máximo de 16. Por lo tanto, se trata de una mejor aproximación368.

En referencia a la afinación de las seudo-octavas, se observa una tendencia general a extenderlas en una media de 10 cents en el primer ejemplo de slendro mientras que para el segundo están comprimidas ligeramente. Para el caso del pelog, tales tendencias son menos uniformes. En cualquier caso, los rangos establecidos por Surjodiningrat para la extensión o compresión de las “octavas” 369, concuerdan bastante bien con los datos que se han obtenido.

Para el caso del pelog, obviamente se aleja de una división equitativa para la octava. No obstante, podemos considerar otra conclusión de Surjodiningrat en la que calcula un modelo de afinación para esta escala a partir de la media de las 30 escalas medidas en diferentes gamelan y al cual se ajustan bastante bien los dos ejemplos considerados. El resultado obtenido (en cents) es el siguiente:

120 138 281 136 110 158 263

El presente resultado se adapta perfectamente al patrón general descrito para la escala pelog al

final del apartado V.5.4.1.

5.4.4 Aplicación de la teoría de la disonancia

La música del gamelan utiliza varios tipos de instrumentos inarmónicos pero, sin embargo, conserva su compatibilidad con los instrumentos armónicos también existentes dentro de la misma agrupación (como son el rebab, el suling y la voz humana). De este modo, las escalas javanesas pueden ser vistas en términos del espectro de dos instrumentos diferentes. Eso es, tanto el pelog como el slendro pueden relacionarse con los mínimos de la curva de disonancia generada por un espectro inarmónico en combinación con la de otro armónico370.

De cara a realizar los cálculos hemos de tener en cuenta que el slendro es más simple que pelog ya que consta de menos notas y porque su uniformidad entre diversos gamelan es más clara.

Para el caso del slendro, W. A. Sethares demuestra su relación con la teoría de la disonancia a partir del espectro “genérico” del bonang derivado experimentalmente por él mismo371:

1, 1.52, 3.46 y 3.92 Calculando la curva de disonancia para este espectro en combinación con un espectro armónico

de 4 parciales (teniendo en cuenta la observación realizada)372, se obtiene el siguiente gráfico373:

Ilustración 33: Demostración de la afinación del slendro374. Efectivamente, puede verse como muchos de los mínimos de esta curva se sitúan muy cerca de

los intervalos correspondientes a una división equitativa de la “octava” en 5 partes y, a la vez, también están muy cercanos a los intervalos del slendro típico. Así, pues, puede interpretarse la afinación del

368 Afirmación de W. A. Sethares. 369 Estableció un rango entre los 1191 y los 1232 cents. Véase el apartado V.5.4.2. 370 Véase el apartado II.4.3.3 donde se definen las curvas de disonancia para múltiples espectros. Tal opción no está incluida en

mi programa por lo que constituye otra de las adiciones que deben realizarse para poder ampliar sus posibilidades, especialmente en el campo de la etnomusicología.

371 Véase el apartado V.5.3.3 donde expongo el procedimiento seguido. 372 Las opciones tomadas pueden parecer arbitrarias pero las características principales de los resultados obtenidos no varían

considerablemente si se cambia ligeramente el número de picos del espectro armónico o sus amplitudes. En concreto, variando las amplitudes, únicamente se varía la altura de los mínimos y máximos de la curva de disonancia.

373 Se han asumido todos los parciales de igual magnitud. 374 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 8.10, p. 184.

Page 165: SpecMusic Libre

165

slendro a partir de la teoría de la disonancia tal como se ha hecho para el caso de la justa entonación en la música occidental.

No obstante, deben destacarse dos características notables de la curva obtenida: 1) Hay tres mínimos muy cercanos a la octava que son 1.96, 1.98 y 2.0. Esto puede explicar la

variación que se da en los diversos intervalos de “octava” del slendro. 2) Existe un mínimo en el intervalo 1.02 que puede justificar el origen de la estética basada en

la presencia de batidos por la cual el gamelan es famoso. La demostración de este hecho puede hacerse considerando unas frecuencias fundamentales de 100 y 510 Hz para las cuales, el mínimo se situaría en 120 y 510 Hz respectivamente. Con una nota sobre este intervalo se producirían batidos a una frecuencia respectiva de 2 y 10 Hz.

La escala pelog puede diferir sustancialmente de un gamelan a otro, mucho más que lo que

sucede para el caso del slendro. Eso implica que el pelog no es tan fácil de explicar en términos de la teoría de la disonancia.

Una solución que parece fructífera es combinar el espectro del saron con un espectro armónico. Debido a la menor uniformidad de esta escala, para conseguir una relación cerrada entre los mínimos de la curva de disonancia y los intervalos de la escala, no es adecuado utilizar un espectro “genérico” del saron como resultado de la media sobre diversos gamelan. Debe usarse un modelo concreto de instrumento y calcular el resultado para cada gamelan concreto. Aún así, el espectro tomado consiste en una media de todo el registro del instrumento. Por ello, consideraré un modelo típico para cada uno de los gamelan estudiados y encontraré una escala que pueda corresponderse con cada una de las agrupaciones.

En primer lugar, estudiaré la afinación del pelog para el Gamelan Swastigitha: W. A. Sethares parte del espectro “genérico” derivado experimentalmente por él mismo375 para

el gamelan en cuestión376: 1, 2.76 4.72 5.92 Calculando la curva de disonancia para este espectro en combinación con un espectro armónico

de 5 parciales (teniendo en cuenta la observación realizada), se obtiene el siguiente gráfico377:

Ilustración 34: Demostración de la afinación del pelog (primer modelo de saron)378. En este caso, no está tan clara la relación entre los mínimos de la curva obtenida y los intervalos

calculados previamente para la escala. No obstante, veremos que los resultados son igualmente razonables.

Las principales características y conclusiones que pueden extraerse de la curva son: 1) En primer lugar, falta el primer intervalo de la escala a lo que yo añado que tal intervalo se

corresponde perfectamente con un punto de inflexión de la curva. Tal como hemos podido observar a lo largo de las otras aplicaciones descritas, tal punto de inflexión puede convertirse en un mínimo si se varían las amplitudes de los picos del espectro. En cualquier, caso, ya ocurría en las escalas occidentales que el intervalo de cuarta aumentada podía converger en un punto de inflexión situado muy cerca de su valor justo. No obstante, debe de considerarse que existe otro punto de las mismas características situado entre el segundo y el tercer grado de la escala. El resto de grados de la escala están claramente presentes en el gráfico como mínimos de la curva.

2) Algunos de los intervalos de la escala no están alineados exactamente con los mínimos de la curva, por ejemplo, el mínimo de la curva correspondiente al segundo intervalo de la escala es de 289 cents mientras que su valor establecido era de 274. Los valores reales para los tres

375 Véase el apartado V.5.3.1 donde expongo el procedimiento seguido. 376 Esta es la razón por la cual el estudio del espectro se ha realizado de forma diferente para el caso del saron. 377 Igualmente, en este caso se han asumido todos los parciales de igual magnitud. 378 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 8.11, p. 185.

Page 166: SpecMusic Libre

166

registros del gamelan se establecieron en 245, 286 y 289 cents, así que 289 cents (valor del mínimo correspondiente) es un resultado bastante razonable.

3) La discrepancia más grande ocurre en los dos últimos intervalos de la escala. En concreto, el penúltimo cae sobre un mínimo amplio (mientras que el resto coinciden con mínimos locales), y no es sorprendente que este valor tenga la mayor variación a o largo de los diversos registros del pelog (más de 40 cents.

4) El último grado (el correspondiente a la “octava”) es explicable de la misma manera que para el caso del slendro. Ampliando el margen de cálculo para la curva de disonancia podemos encontrar los mínimos correspondientes a los otros registros correspondiéndose a los intervalos de 1.98, 2.0 y 2.14. Por otro lado, los tres valores reales de este intervalo en los tres registros se establecieron en 1.98, 1.99 y 2.01, resultado bastante razonable. De nuevo, los valores reales de las escalas reflejen la incertidumbre que se da en la localización de la seudo-octava.

Por último, estudiaré la afinación del pelog para el Gamelan Kyai Kaduk Manis: W. A. Sethares parte del espectro “genérico” derivado experimentalmente por él mismo379 para

el gamelan en cuestión (algo más complicado que para el otro gamelan): 1, 2.39, 2.78, 4.75, 5.08, 5.96 Calculando la curva de disonancia para este espectro en combinación con un espectro armónico

de 5 parciales (teniendo en cuenta la observación realizada), se obtiene el siguiente gráfico380:

Ilustración 35: Demostración de la afinación del pelog (segundo modelo de saron)381. Más o menos, después de dibujar la curva de disonancia, pueden observarse las mismas

características que en el caso anterior: 1) El primer grado de escala sigue estando ausente aunque cerca de un punto de inflexión. 2) Por una coincidencia numérica, el penúltimo grado es muy cercano al mínimo de la curva

pero se trata igualmente de un mínimo amplio. Es por ello que no puede ser considerado con demasiada seriedad.

3) El séptimo grado (seudo-octava) no es demasiado exacto pero puede justificarse de la misma manera que se ha justificado para el otro caso. Esta vez, alargando la curva a los tres registros del gamelan, podemos encontrar el resto de intervalos de “octava” en 1.98, 1.99 y 2.09.

En general, sin embargo, los resultados obtenidos son igualmente razonables.

5.4.5 Conclusión

Los resultados que hemos obtenido no implican que los afinadores del gamelan sean conscientes de la relación entre el espectro de los instrumentos y la composición de las escalas, ni siquiera tienen porque escuchar los parciales de los espectros de las ondas producidas por sus instrumentos. No obstante, esta relación puede constituir una base científica que dé explicación a algo que, de entrada, puede resultar casual o caprichosos, como es el caso de la afinación de una escala musical. Ello no quita que el trabajo del afinador se base en problema de oído que, en cualquier caso, requiere un gran entrenamiento.

Otra consideración importante es que, a través de esta teoría, puede establecerse una conexión mucho más estrecha entre los principios que deben regir todas las afinaciones de cualquier cultura étnica las cuales, de entrada, parecían bastante inconexas. Tal conexión también puede buscarse en principios equivalentes a los que rigen la estructura de nuestro sistema musical basado en el círculo de quintas.

379 Véase el apartado V.5.3.1 donde expongo el procedimiento seguido. 380 Igualmente, en este caso se han asumido todos los parciales de igual magnitud. 381 W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, figura 8.12, p. 186.

Page 167: SpecMusic Libre

167

Intentos de generalizar estas estructuras cíclicas ya se han sido propuestos por J. Kunst382 y W. A. Sethares383 aunque, en ningún momento se han llegado a establecer principios que puedan tener un alcance universal, ni tampoco que hayan trascendido a una aceptación general.

En cualquier caso, el presente estudio puede ayudar a desarrollar una teoría axiomática para las escalas musicales (en referencia a su afinación) que pueda relacionarse de una manera firme con sus respectivos sistemas musicales y que pueda extrapolarse a cualquier cultura étnica. Éste constituye, precisamente, uno de los principales focos de mi interés en la investigación musicológica y etnomusicológica, objetivo que, entre otros, pretendo alcanzar con la ampliación del programa que he realizado y he utilizado como proyecto de fin de carrera.

5.5 Demostración con el programa

Para poder evaluar este tipo de aplicaciones con mi programa será necesario incluir la opción de cálculo de las curvas de disonancia de múltiples espectros y, además, realizar una grabación de los instrumentos en formato WAVE. Ello podría sustituirse por una grabación en cualquier formato más fácil de obtener añadiendo al programa una opción de conversión del formato de grabación al formato WAVE con el cual trabaja. En concreto, lo más práctico sería implementar un conversor desde el formato de CD en el cual sería posible obtener grabaciones de la música de muchas culturas étnicas sin necesidad de viajar al lugar donde se practica384. En este caso, me he limitado a ilustrar un ejemplo de cara a demostrar la aplicación del método estudiado en el campo de la etnomusicología.

382 J. Kunst: Music in Java, Martinus Nijhoff, The Hague, Netherlands, 1949. Constituye el primer gran estudio de la música

javanesa. 383 W. A. Sethares: “A “Music Theory” for 10-tet”, Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997, cap.

12, pp. 259-270. 384 No obstante, debe tenerse en cuenta que, de cara a una evaluación de un aspecto concreto de la música de una cierta cultura,

como es el caso de este trabajo, puede ser suficiente una grabación de la misma. Eso sí, para un trabajo completo desde el punto de vista de la etnomusicología, deben estudiarse muchos más aspectos desde el punto de vista antropológico para lo cual es necesario convivir con los miembros de la etnia para que puedan ser comprendidos diversos aspectos que influyen en su música.

Page 168: SpecMusic Libre

168

VI. AMPLIACIÓN Y PREVISIÓN FUTURA

Diversos aspectos pueden considerarse en este apartado. En primer lugar, enumeraré algunos más relacionados con las prestaciones del programa y, después, hablaré más específicamente sobre las líneas de investigación futuras que puedan llevar a proponer otros trabajos que constituyan una continuación del presente proyecto.

1. MEJORAS Y ESTUDIOS POSTERIORES

1.1 Mejoras del programa

A continuación, enumeraré las cuestiones relativas a la mejora del programa y la adición de prestaciones considerando por un lado las cuestiones más referentes a la programación y, después, las prestaciones más relacionadas con los objetivos musicales. He aquí el listado:

- Revisión y mejora del código del programa, especialmente las cuestiones referentes a su estructura general y el tratamiento de las ventanas. Entran aquí todas las cuestiones que tengan que ver con problemas de su funcionamiento que, aunque se han eliminado considerablemente, siempre puede quedar algún error debido a las dificultades de implementación que lleva la creación de un software pensado con perspectivas profesionales. Tales cuestiones no tienen especial interés como para ser tratadas aquí con más detalle.

- Adición al programa de prestaciones de carácter general: o Gráficos:

Guardar gráficos como mapas de bits. Crear un nuevo tipo de documento para el tratamiento de mapas de bits, al

igual que se ha hecho para el caso de los textos. Mejora de la calidad de los gráficos. Añadir prestaciones que faciliten el estudio de los gráficos (cursores, cambios

de escala, posibilidad de verse en pantalla completa, etc...). o Mejora del editor de texto creando otra clase vista que no se base en una caja de texto. o Impresión, tanto de textos y resultados numéricos como de gráficos. o Opciones del programa:

Cambiar el tipo de letra. Escoger colores para los gráficos y otros elementos. Escoger el directorio o directorios de almacenamiento de los diversos ficheros

del programa. o Utilidades multimedia:

Mejora del reproductor de secuencias MIDI. Mejora del reproductor de ondas WAVE. Completar la implementación del grabador de secuencias MIDI. Mejora del grabador de ondas WAVE. Añadir código para síntesis de sonido que será usado por el reproductor de

secuencias MIDI y alguna operación relacionada con las ondas WAVE. Añadir código para la aplicación de algoritmos de afinación variable en el

grabador de secuencias MIIDI así como la posibilidad de escuchar sus efectos en tiempo real a través del teclado.

Estudio de otras técnicas de afinación con el estándar MIDI. Posibilidad de obtención de fichero MIDI y WAVE a partir de otros formatos

de ficheros multimedia así como la compatibilidad con los ficheros de datos de MATLAB. Es especialmente interesante, como veremos después, poder obtener información a través de grabaciones en CD.

o Sistema de ayuda y redacción de un manual de usuario. - Adición al programa de otros algoritmos y prestaciones relacionadas con cada clase de

documentos que se han trabajado. o Escalas:

Añadir representaciones gráficas apropiadas. Creación de otros tipos de escalas, especialmente las que se basan en los

armónicos 7, 11 y 13 y las escalas étnicas. Algoritmos que calculen diversos parámetros de las escalas.

Page 169: SpecMusic Libre

169

Tras una investigación teórica previa, añadir algoritmos relacionados con cuestiones teóricas referentes a la relación entre la estructura de los sistemas musicales y la afinación de las escalas en las que se basan.

Más algoritmos de afinación variable, en concreto, el algoritmo de la justa entonación de Ray Tomes385.

o Espectros: Algoritmo para la obtención de espectros a partir de escalas. Curvas de disonancia para múltiples espectros. Mejora en la conversión de espectros en secuencias. Posibilidad de variar el espectro en función de la frecuencia fundamental. Cálculo de frecuencias fundamentales y alturas sonoras386.

o Partituras: Añadir información relativa a otros parámetros musicales, especialmente el

timbre, de cara a contemplar la posibilidad de estudio de obras para más de un instrumento. También pueden añadirse otros datos referentes a las dinámicas, articulación, etc...

Más opciones para la partitura de disonancia, sobretodo en lo referente a su resolución.

Añadir opciones al algoritmo adaptativo de W. A. Sethares (sliding pitch, cambio de registro, etc...)387.

Mejoras para el tratamiento de las partituras en lo referente a la escala en la cual se basa. Tal escala puede constar de un número menor o mayor que 12 y eso también influirá sobre el tratamiento de la nomenclatura de las notas.

Cálculos con intervalos y medidas diferentes para la estimación de la disonancia sensorial. Esto está en relación con algunas de las aplicaciones matemáticas en la musicología388.

Mejora del gráfico representativo de las partituras. o Secuencias MIDI:

Más posibilidades para el tratamiento de secuencias MIDI que permitan el procesado de todos los tipos de eventos y mensajes y otras cuestiones relacionadas con la síntesis del sonido.

Mejora en el tratamiento de ficheros MIDI de tamaño considerable. Añadir compatibilidad con el resto de formatos del estándar MIDI así como

posibles funciones de conversión con otros formatos de audio. o Ondas WAVE:

Añadir el cálculo de la partitura de disonancia para las ondas WAVE. Añadir funciones para la calcular y representar gráficamente la FFT de una

onda WAVE en función del tiempo. Como veremos en el apartado siguiente, este cálculo puede aportar información de interés musical. La representación en cuestión requerirá un gráfico tridimensional.

Mejora del algoritmo de detección de picos. Mejora del algoritmo de obtención de ondas a partir de espectros. Más posibilidades para el tratamiento y procesado de ondas WAVE

(modulaciones, número de canales, enventanado, etc...). Mejora en el tratamiento de ficheros WAVE de tamaño considerable. Añadir compatibilidad con otros formatos de audio, en especial, el del CD, el

cual puede resultar muy útil.

1.2 Líneas de investigación futura

En este apartado me dedicaré más específicamente a líneas de investigación futuras que puedan llevar a proponer otros trabajos que constituyan una continuación del presente proyecto. He aquí el listado:

- Profundización en la evaluación del algoritmo adaptativo:

385 Véase el apartado II.3.7, el apéndice 4 y la siguiente referencia de Internet: Ray Tomes: Automatic Just Intonation, en

http://homepages.kcbbs.gen.nz/rtomes/aji-main.htm o http://homepages.ihug.co.nz/~ray.tomes/aji.htm . 386 Véase E. Terhardt, G. Stoll, M. Seewann: “Algorithm for extraction of pitch and pitch salience from complex tone signals”,

Journal of Acoustical Society of America, vol. 71, nº 3, 679-688 (March 1982), donde se da un algoritmo para encontrar el tono virtual de un tono complejo.

387 Véase el aparatado anterior. 388 Véase el apartado siguiente.

Page 170: SpecMusic Libre

170

o Implementación del efecto de sliding pitch389. o Mejora del procedimiento de convergencia y propuesta de diferentes soluciones al

problema de convergencia en los puntos de discontinuidad del gradiente. Igualmente, considerar la posibilidad de escoger los valores para sus parámetros.

o Estudio de las causas que provocan los problemas de convergencia no resueltos en los ejemplos propuestos en el aparado de evaluación.

o Estudio de su funcionamiento con otros intervalos aumentados y disminuidos no tratados en este trabajo.

o Tomar múltiples espectros teniendo en cuenta los múltiples timbres o instrumentos que puede tener la partitura.

o Variar el espectro en función de la frecuencia de la nota fundamental y del registro utilizado.

o Estudio de los resultados con relación a otras escalas de afinación justa basadas en armónicos superiores al 5.

o Utilización del algoritmo de obtención de espectros a partir de escalas para solucionar el problema de los intervalos.

o Estudio del algoritmo para otros estilos de composición y otras escalas de diferente dimensión.

o Disminución de la disonancia general debida a la adición de picos que lleva la obtención de otros intervalos justos.

o Implementar el algoritmo en tiempo real desde un teclado MIDI creando un teclado capaz de tocar según la justa entonación sin complicaciones técnicas añadidas por teclas adicionales.

- Otros temas relacionados con la afinación de escalas: o Establecer una relación más estrecha entre la teoría musical basada en ciclos de

intervalos con la teoría axiomática de escalas y la teoría de la disonancia. o Programar y estudiar otras escalas y algoritmos de afinación variable, especialmente

todos los sistemas y algoritmos relacionados con la justa entonación. o Considerar otras medidas para el cálculo de la disonancia total así como para la

determinación de la disonancia por otros métodos. o Posibilidad de cálculo de la TD para cualquier número de notas de la escala. o Profundizar el estudio de las escalas relacionadas con determinados espectros en lo

referente a su relación con los sistemas musicales sobre los que debe aplicarse y con las escalas de tradición occidental.

o Estudiar el efecto de la inarmonicidad y demás variaciones del espectro debidas al ataque y otros factores sobre la obtención de sus escalas relacionadas.

- Creación de instrumentos: o Añadir prestaciones para el tratamiento de ondas WAVE y grabación que permitan

calcular el espectro y modelarlo de una forma más precisa y eficiente. o Ampliar el cálculo de la curva de disonancia a un ámbito más amplio y considerar de

una forma más exacta el intervalo de seudo-octava o Aplicar la síntesis de sonido para poder escuchar el resultado auditivamente para

espectros concretos, en especial, los inarmónicos. Igualmente, estudiar su aplicación en relación con el formato MIDI de cara a permitir su reproducción directamente.

o Posibilidad de obtener timbres de instrumentos a partir de grabaciones de CD, lo que supone un estudio del formato así como mejoras en las prestaciones del grabador de sonidos.

o Solucionar el problema del “mapeado” del teclado de tal manera que se establezca un criterio para poder llevar a la práctica una composición basada en escalas de cualquier dimensión.

o Variar los espectros en función de aspectos relacionados con la expresión musical: dinámicas, articulación, variaciones del timbre debida a los recursos que puedan tener los instrumento (sordina, pizzicattos, armónicos, etc...).

o Estudio de la relación entre la afinación de l escala y el sistema musical en el que se aplica.

- Musicología histórica: o Ampliar la muestra de obras analizadas para mejorar la fiabilidad del estudio realizado

en referencia a la afinación del clavicémbalo en las obras de J. S. Bach.

389 Véase la nota 180.

Page 171: SpecMusic Libre

171

o Eliminación de las figuras retóricas, notas extrañas, ornamentación, e intervalos falsos expresivos con tal de ajustar la predicción de la afinación. Establecer criterios de análisis objetivos y programarlos.

o Simular el decaimiento de las ondas para el cálculo de la disonancia en intervalos con notas mantenidas.

o Programar las variaciones de espectro que se consideraban para la mejora del algoritmo adaptativo y aplicarlas a cualquier afinación; en concreto, variar el espectro en función de la frecuencia y del registro, de la articulación y de otros recursos instrumentales así como la posibilidad de contemplar múltiples espectros en una partitura.

o Mejora del cálculo del modelo espectral así como el desarrollo de la teoría de la disonancia a través de un espectro continuo lo cual llevaría, entre otras cosas, a sustituir el cálculo de sumatorios por integrales

o Posibilidad de obtener un temperamento ajustado a una determinada obra o conjunto de obras musicales basado en el algoritmo de gradiente descendiente que propone W. A. Sethares y que yo he expuesto en el apartado II.4.3.9 de este trabajo.

1.3 Otras aplicaciones de la ingeniería en la musicología

A parte de lo que ya expuse en la introducción de este documento, quiero hacer referencia aquí a algunos trabajos de temática musical relacionados con la ingeniería o, simplemente con las matemáticas, que pueden constituir aplicaciones en la musicología que pueden ser añadidas a mi programa. En concreto, haré una referencia a los siguientes estudios:

- El mismo estudio de John Barnes390 constituye una aplicación del análisis de intervalos de una partitura al que hacía referencia en el apartado anterior.

- Luis Colomer391 realiza un estudio muy similar al de W. A. Sethares pero basándose en la FFT en vez de la partitura de disonancia. En el resumen dice que “El propósito de este artículo es mostrar las posibilidades que las técnicas de análisis espectral pueden ofrecer a la musicología para el estudio sistemático de la interpretación musical. La espectrografía proporciona imágenes directas de una interpretación musical, las cuales revelan las acciones del ejecutante sobre el instrumento. Cuestiones tales como las fluctuaciones del tempo, el detalle rítmico, las alteraciones de la afinación, y, en general, la mayor parte de los rasgos retóricos de la práctica interpretativa pueden ser medidos y comparados con la ayuda del espectrograma.”

- Francisco Javier Sánchez González392 realiza un estudio también relacionado con el espectro con especial aplicación en el campo de la etnomusicología. Su resumen dice lo siguiente: “Se describe en este artículo un nuevo sistema de análisis de intervalos y escalas de notas musicales, desarrollado en el Laboratorio de tratamiento de Palabra y Música393 del C. S. I. C., que dirige el autor. Enfocado sobre todo al estudio de la música modal, permite obtener en forma gráfica y numérica, las frecuencias de las notas que han sonado en un intervalo de tiempo, sus intervalos entre sí y también con respecto a una frecuencia base. El sistema toca además esas notas para que el musicólogo pueda cotejar mediante el oído la bondad del análisis. Este sistema consta de un Analizador de Frecuencias 2033 de Bruel, un ordenador personal AT y el programa ESCALA3, desarrollado por el autor.”

- Enrique Igoa Mateos394 propone un nuevo método de análisis basado en la probabilidad de aparición de cada una de las notas de la escala en la cual se basa la composición395 y a través del cual puede estimarse un “grado de cromatismo” que se corresponde con un cierto estilo determinado según el margen en el que se encuentre. Es decir, la música modal de la Edad Media (monodia, Ars Antiqua y Ars Nova) y del Renacimiento tiene un “grado de cromatismo” muy pequeño mientras que a la música dodecafónica de la segunda escuela de Viena (A. Schoenberg, A. Berg, A. Webern...) le corresponde un valor bastante elevado. En medio caben todas las posibilidades que, tomando un modelo muy simplificado, estarían en una relación más o menos lineal con la época a la cual pertenece. A esto, el autor añade que “hay demasiada subjetividad en la mayoría de trabajos musicológicos”, por lo que propone “un nuevo método de

390 John Barnes: “Bach’s keyboard temperament”, Early Music, Vol. 7, Oxford University Press, London 1979. Sobre este

estudio he hablado detenidamente en el apartado V.4.2 de este trabajo. 391 Luis Colomer Blasco: “Introducción al análisis espectrográfico de la interpretación musical”, Anuario Musical 55,

Barcelona, CSIC 2000, pp. 251-271. 392 Francisco Javier Sánchez González: “Análisis de intervalos y escalas modales”, Revista de musicología, Vol. ?, nº ?,

Sociedad Española de Musicología, Madrid, 19..?, pp. 53-78. 393 L. T. P. M. 394 Enrique Igoa Mateos: “Un nuevo método de análisis en musicología”, en Anuario Musical, 41 (1986), pp. 229-250. 395 El autor realiza el estudio para el caso de la música occidental basada en la escala de 12 notas pero también añade que tal

estudio es extrapolable a cualquier otro tipo de música étnica basada en escalas de cualquier otro número de notas.

Page 172: SpecMusic Libre

172

análisis musicológico que nos ofrezca un instrumento de trabajo exacto, científico y libre de toda subjetividad”. Las prestaciones que deben añadirse al programa para permitir estos estudios serían las

siguientes: - Programación de otros procedimientos de análisis de intervalos y estimación de las frecuencias

de aparición de cualquier nota de la escala musical de base. - Posibilidad de obtención de reproducciones auditivas a través del CD así como la obtención de

espectros más reales. Eso requiere un estudio del formato de audio correspondiente. - Aplicar el cálculo de la partitura de disonancia a las ondas, lo que requerirá, además, una

conversión entre diferentes formatos de audio. - Aplicar el cálculo de la FFT a una onda WAVE (o conversión de otro formato de audio).

Todo ello sin contar, por supuesto, con un número considerable de estudios relacionados con la afinación de la escala y la teoría de la tonalidad y la modalidad, muchos de ellos desde una perspectiva matemática. Todos ellos pueden aportar bases para el desarrollo de una de las principales vías de investigación futuras que propongo: el estudio de la relación entre sistema musical y afinación de la escala. Expongo algunos de ellos en el apartado 11 de la bibliografía.

Page 173: SpecMusic Libre

173

VII. CONCLUSIONES

De cara a la redacción de las conclusiones expondré dos gripos. En primer lugar, resumiré los objetivos conseguidos con la implementación del programa –en realidad, enumerar las funciones que puede realizar- y, después, las conclusiones más específicas sobre las evaluaciones del programa que se han realizado y de sus aplicaciones prácticas consideradas.

En cuanto a los objetivos conseguidos con la implementación del programa podemos decir lo siguiente:

- El programa proporciona diferentes herramientas de cálculo para trabajar con escalas la cual cosa resultaba muy costosa utilizando únicamente una calculadora científica, incluso pueden observarse los resultados aplicados a partituras concretas. Igualmente, para los modelos más importantes de escalas, el programa proporciona una herramienta de cálculo que permite crear diversas escalas nuevas. Con ello podrá facilitarse el estudio de los sistemas musicales de afinación existentes y, sobretodo, ayudará en el desarrollo de una teoría basada en una definición axiomática de los mismos396 y a su relación con los sistemas musicales en los que se basan la composición de las diversas obras de cada período de la historia de la música.

- El programa permite trabajar con modelos de rayas espectrales los cuales pueden aplicarse a la definición de los sistemas de afinación. También podemos extraer su curva de disonancia la cual nos permite sacar ciertas conclusiones a priori sobre las escalas adecuadas para trabajar con timbres determinados.

- El programa permite evaluar el algoritmo adaptativo propuesto por W. A. Sethares a cualquier fichero MIDI existente y utilizando cualquier espectro.

- El programa permite evaluar de forma auditiva las diferentes afinaciones y temperamentos aplicándose a cualquier fichero MIDI existente. Ello no constituye una novedad ya que existen programas que realizan esta función. No obstante, mi programa tiene una ventaja importante sobre este tipo de programas y es que puede aplicarse cualquier escala existente (por ahora de 12 notas) y que se nos pueda ocurrir ya que el mismo programa tiene la posibilidad de editar la escala antes de ser aplicada a la secuencia MIDI.

- Realizar medidas de disonancia a cualquier partitura introducida en el ordenador, ya sea en formato MIDI estándar o en el formato creado a propósito para mi programa. Para ello se utiliza el modelo matemático descrito por W. A. Sethares y modificado por mí. Igualmente, podemos aplicar esta medida para extraer conclusiones acerca de las afinaciones más probables para determinadas obras musicales.

- Por otro lado, el programa también permite realizar ciertas operaciones con ficheros de audio en formato WAVE (ficheros con extensión “.wav”) aunque, por ahora, de una forma bastante limitada.

- Además, el programa permite trabajar con un teclado MIDI pero, igual que en el caso anterior, tal funcionalidad aún está muy limitada.

- Más en general, podemos decir que el programa nos permite estudiar aspectos relacionados con la afinación de las escalas musicales empleadas en diferentes épocas dela historia de la música occidental así como en diferentes culturas de cualquier parte del mundo. Todo eso constituye un estudio muy interesante y poco desarrollado hasta ahora el cual puede incluirse dentro del campo de investigación de la musicología histórica y la etnomusicología.

En cuanto a las conclusiones específicas, podemos decir lo siguiente para cada evaluación realizada y para cada aplicación considerada:

1) Evaluación de los algoritmos: 1. En primer lugar, queda demostrada la eficacia del algoritmo de W. A. Sethares como

buena aproximación a la justa entonación. No obstante se presentan diversas limitaciones: a. Existe un compromiso en el número de rayas espectrales para modelar el

espectro: si el número es excesivamente reducido, son pocos los intervalos que se pueden adaptar pero, por el contrario, si ese número es muy elevado, se dificulta la convergencia del algoritmo y se incrementa el nivel general de disonancia.

b. En general, los intervalos que no aparecen en la escala relacionada no pueden converger correctamente con el algoritmo pero, a parte de eso, en ocasiones se presentan problemas con algunos intervalos que sí aparecen y ello es debido a causas por ahora indeterminadas.

396 Objetivo que pretende resolver mi teoría axiomática de escalas a la cual hice referencia en el apartado II.3.9.

Page 174: SpecMusic Libre

174

2. Aplicando un espectro armónico397 de 6 picos: a. Conseguimos una buena adaptación para los intervalos de segunda mayor,

tercera mayor, cuarta justa, quinta justa, sexta mayor y séptima menor. b. No puede adaptarse el intervalo de sexta menor debido a su ausencia en la escala

relacionada. c. El intervalo de tercera menor no funciona correctamente debido a razones por

ahora indeterminadas. d. Tampoco funcionan correctamente los intervalos de segunda menor y séptima

mayor debido a su ausencia en la escala relacionada. e. El caso del trítono funciona correctamente para la cuarta aumentada pero no así

para la quinta disminuida. 3. Añadiendo al espectro los armónicos 8, 9, 18 y 25 que, en teoría, tendrían que

subsanar los problemas encontrados para las terceras menores, sextas menores y quintas disminuidas, nos encontramos con los siguientes resultados: a. Ahora funcionan correctamente los intervalos de tercera menor y de sexta menor

aunque sigue habiendo algún caso aislado e incierto de intervalo de sexta menor. b. No obstante, el caso del trítono –en sus dos formas enarmónicas-, no funciona

afectando igualmente a los intervalos que pertenecen al mismo acorde. 4. La partitura de disonancia nos permite observar gráficamente el funcionamiento de

cada escala concreta observando en qué puntos se obtiene un buen resultado (en el sentido de su consonancia) y en qué puntos no: a. Puede observarse claramente la presencia de intervalos falsos y cómo éstos

quedan totalmente arreglados en el temperamento de Werckmeister III (tomado como modelo de “buen temperamento” o temperamento circular).

b. Las disonancias no quedan bien afinadas con los temperamentos circulares y, en general, con ninguna de las afinaciones tradicionales si bien en algunas de ellas pueden observarse mejores resultados. Es lógico ya que ninguna de estas afinaciones contempla estos intervalos en sus procesos de definición.

5. La disonancia total constituye una medida global que nos permite evaluar la escala (afinación o temperamento) de una forma más global e, igualmente, en el sentido de la consonancia obtenida para sus intervalos constitutivos. En este sentido hemos observado que: a. El valor más elevado se obtiene para el caso de la afinación pitagórica en la cual

las terceras constituían disonancias y tal hecho se refleja en las composiciones del Ars Antiqua y Ars Nova cuando tal afinación estaba en plena vigencia.

b. La escala física de Zarlino da muy buenos resultados debido a la definición de las terceras como consonancias.

c. El caso de los temperamentos se encuentra entre la afinación pitagórica y la escala física de Zarlino y, en orden de mayor a menor disonancia, los enumeramos de la siguiente manera: temperamento igual (con terceras muy grandes similares a las pitagóricas pero sin intervalo falsos), temperamentos mesotónicos (con mejores terceras pero con intervalos falsos), “buenos temperamentos” o temperamentos circulares (situación de compromiso en los valores de los intervalos consonantes de cara a eliminar los intervalos falsos).

d. Los mejores resultados, efectivamente, se dan en la aplicación del algoritmo de W. A. Sethares, mejorando en gran proporción el resultado obtenido para la escala física de Zarlino. En realidad, este algoritmo constituye una mejor aproximación a la justa entonación si ya lo era en menor medida la escala de Zarlino. La dificultad se encuentra en su aplicación práctica, al igual que pasaba con los diversos sistemas de afinación ideados en los siglos XVI y XVII que se basaban en escalas de más de 12 notas. Seguramente, estas escalas darán resultados comprendidos entre el valor obtenido para la escala física de Zarlino y el obtenido para el algoritmo adaptativo de W. A. Sethares398.

e. Queda igualmente demostrado que el resultado del algoritmo continúa siendo satisfactorio si se aplica un espectro diferente (como por ejemplo, un espectro inarmónico). Eso sí, los intervalos tendrán valores diferentes que se adaptarán al nuevo espectro (incluso, algo mejor que para el caso del espectro armónico).

397 En el cual se basa la justa entonación. 398 Su implementación en el programa requiere más investigación acerca de su aplicación en las partituras ya que una nota con

el mismo nombre puede tener diferente afinación según su contexto.

Page 175: SpecMusic Libre

175

f. No obstante, el resultado empeora algo al aplicar y el espectro armónico con más rayas espectrales pudiéndose deber al incremento de disonancia debido a los picos añadidos.

2) Evaluación de casos prácticos: 1. Utilizando la escala relacionada con un espectro armónico el cual constituye un

modelo general de casi todos los instrumentos utilizados en la música occidental, puede justificarse la físicamente la constitución de cualquier escala basada en la justa entonación. No obstante, la aplicación de la escala relacionada está restringida a una serie de intervalos. Su aplicación a escalas de un número de notas más elevado requeriría más estudio. Entre otras cosas, las escalas tradicionales añaden intervalos siguiendo determinados procedimientos los cuales constituyen disonancias que se alejan de los mínimos de la curva de disonancia de cualquier espectro armónico. Igualmente, debe tenerse en cuenta que los intervalos han de corresponderse con mínimos locales de cara a obtener resultados satisfactorios.

2. Los intervalos correspondientes a mínimos amplios de la curva de disonancia no se corresponden exactamente con los valores de la justa entonación y, para el caso de aplicación de espectros reales, se observa un empeoramiento en tales intervalos, sobretodo cuando éstos llegan a desaparecer debido a las amplitudes de los parciales.

3. Por otro lado, existe un compromiso entre el número de picos y la disonancia intrínseca provocada por el espectro. Si el número de picos es reducido, pueden obtenerse pocos intervalos relacionados, en cambio, si el número de picos es elevado se obtienen resultados satisfactorios pero después de un procedimiento de selección de intervalos dentro de una escala de mayor dimensión. De esto se deduce que, para considerar un espectro real, igualmente debe restringirse el número de picos llegando a obtener diferencias con los espectros teóricos debidas únicamente a la amplitud de los parciales.

4. De cara a la aplicación de espectros reales en el algoritmo adaptativo debe tenerse en cuenta la importancia de escoger igualmente un número apropiado de picos del espectro.

5. Por otro lado, para calcular la disonancia total, debe modificarse el cálculo para hacerse con relación al temperamento igual del mismo número de notas que la escala para la cual se está calculando.

6. Podemos observar que, en este caso, la afinación más disonante es la temperada ya que no existen en la partitura intervalos que resulten falsos en la afinación pitagórica. Los otros temperamentos mejoran bastante al temperamento igual y algo a la afinación pitagórica. Continúa siendo algo mejor el resultado del “buen temperamento”, incluso cuando no usamos intervalos falsos.

7. Por otro lado, los mejores resultados los seguimos obteniendo con la escala física de Zarlino y el algoritmo adaptativo de W. A. Sethares, éste último aún mejor.

8. La afinación mediante la escala relacionada con el espectro utilizado resulta más buena que cualquiera de los temperamentos y mejor que la escala pitagórica. Eso sí, está bastante lejos de mejorar el resultado de la escala física y del algoritmo adaptativo.

9. En general, la disonancia intrínseca ocasionada por el espectro real debe ser menor debido a que, para casi todos los casos, los valores de disonancia son mejores. La menor amplitud de los armónicos debe compensar la existencia de un pico añadido. No obstante, se dan excepciones en el temperamento irregular y en el algoritmo adaptativo. Para el caso del algoritmo adaptativo, el resultado empeora y queda por encima de la escala física. Esto puede ser debido a los errores más grandes en las terceras y en las sextas. Para el caso del temperamento irregular, el resultado resulta peor que para el caso del temperamento mesotónico.

3) Creación de un instrumento: 1. Hemos visto en el apartado V.3 que tomando la grabación de un instrumento de

sonido indeterminado o, simplemente, con un timbre inarmónico, podemos crear una escala relacionada con su espectro. Ello permite realizar música con escalas formadas con intervalos consonantes para el timbre considerado. Es posible que, además, sea necesario trabajar con un teclado diferente al tradicional de 7 teclas blancas y 5 negras.

2. Igualmente hay que tener en cuenta que, en los pasos previos según los cuales se modela el espectro a partir de una grabación del sonido escogido, deben tomarse

Page 176: SpecMusic Libre

176

diversas decisiones en referencia a conceptos como el número de muestras, la porción de onda considerada, la frecuencia de muestreo y el enventanado. Todos estos parámetros pueden influir en el resultado final.

3. Este estudio debería completarse con la teoría referente al sistema que rige la composición de la música con el instrumento creado según la escala sobre la cual se basa.

4) Aplicación en la musicología histórica: 1. En este apartado se ha estudiado la afinación de una obra cuya finalidad (entre otras)

es demostrar el empleo de todas las tonalidades lo cual hace pensar, de entrada, en un temperamento irregular circular, o sea, uno de los llamados “buenos temperamentos”. Me refiero a El calve bien temperado de J. S. Bach.

2. Un estudio previo de John Barnes399 determina que el temperamento más probable era el de Werckmeister III o uno muy similar. Es por ello que el mismo autor del artículo propone otro que resulta ser una pequeña modificación del anterior temperamento400.

3. A partir de la teoría de la disonancia desarrollada por W. A. Sethares y por mí mismo en el transcurso de este proyecto he obtenido un resultado diferente al de John Barnes.

4. Según los resultados obtenidos en el apartado V.4.6, podemos observar que se produce un valor mínimo (en media) para el caso del temperamento Kirnberger II. No obstante, existen algunos de los preludios y fugas para los cuales se obtiene algún valor positivo para la disonancia total aunque no son excesivamente significativos. Otros resultados, como los de Kirnberger III, Werckmeister II y Tartini-Vallotti son bastante buenos aunque su valor calculado para la disonancia total es más elevado. En cambio, son bastante malos los resultados obtenidos para los temperamentos de Werckmeister IV y V. Por otro lado, las soluciones de Kellner y Barnes son bastante buenas pero no mejoran los valores encontrados para los temperamentos Kirnberger II y III y Werckmeister II, incluso el de Barnes es más alto que el de Werckmeister I y III. Estas afirmaciones contradicen los resultados dados por John Barnes en su artículo.

5. Ante estos resultados he propuesto el temperamento Kirnberger II como el más probable para la obra de El clave bien temperado de J. S. Bach. Ya hemos visto que eso va en contra de la opinión de Barnes pero, a la vez, hemos de tener en cuenta que el presente estudio ha considerado los preludios conjuntamente con las fugas y que también ha considerado todos los tipos de intervalos, no sólo los de tercera mayor (como hizo Barnes). Igualmente, también hemos de considerar que el presente resultado está apoyado por la opinión de Herbert Kelletat.

6. Además, hemos de tener presentes las limitaciones a las que hacía referencia en el apartado V.4.4. Tales limitaciones hacen referencia básicamente a los siguientes aspectos: a. La dependencia que el compositor tiene con otros múltiples factores a la hora de

componer. b. La cantidad de obras estudiadas. c. El temperamento de Bach podría diferir más o menos de cualquiera de los

temperamentos históricos conocidos. d. Diversos recursos expresivos utilizados dentro de la estética barroca y que

provocan un aumento intencionado de la disonancia. e. Disonancias debidas a la escritura contrapuntística. f. Limitaciones debidas al modelo espectral utilizado.

5) Aplicación en la etnomusicología: 1. Igualmente como se ha demostrado la relación existente entre el espectro armónico de

los instrumentos usados en la música occidental con la afinación de la escala según la llamada justa entonación, puede realizarse un estudio equivalente con cualquier tipo de música étnica de cualquier parte del mundo. Tal estudio se basa en comparar la afinación real de los instrumentos utilizados con la afinación correspondiente a la escala relacionada con los espectros de los mismos instrumentos. También debe tenerse en cuenta que pueden influir varios timbres diferentes de forma conjunta. Ello se ha solucionado calculando la curva de disonancia para múltiples espectros.

399 John Barnes: “Bach’s keyboard temperament: Internal evidence from the “Well-Tempered Clavier””, Early Music, Vol. 7,

London, Oxford University Press, 1979. 400 Temperamento que he identificado como “Barnes”.

Page 177: SpecMusic Libre

177

2. El caso estudiado corresponde al gamelan de Java (Indonesia) cuyas música se basa en las escalas slendro y pelog. A partir de la curva de disonancia del algunos de sus instrumentos en combinación con el espectro armónico de la voz humana se ha demostrado la relación existente entre los timbres de los instrumentos y la afinación de las escalas.

Page 178: SpecMusic Libre

178

VIII. BIBLIOGRAFÍA

Esta extensa bibliografía no pretende ser únicamente la enumeración de las fuentes consultadas para la realización de este documento y la implementación del software del proyecto. En ella también he citado las referencias a todas las obras citadas en este documento de forma indirecta, es decir, las fuentes en las que se basan los autores de las fuentes que yo he consultado. Por otro lado y teniendo en cuenta la diversidad de disciplinas tratadas en este trabajo, he preferido dar una bibliografía que pueda ser de utilidad para el lector que no conozca alguno de los temas tratados o, en cualquier caso, quiera profundizar en algunos de ellos o estudiarlos desde el punto de vista con el que yo los he enfocado. Igualmente, téngase en cuenta que, dentro de cada apartado pueden encontrarse referencias que estén relacionadas con otros apartados aunque solamente figure en una de ellos.

1. Programación

Principal bibliografía consultada:

Francisco Javier Ceballos: C/C++. Curso de programación, RA-MA Editorial, Madrid 2002 (2ª edición). Francisco Javier Ceballos: Programación orientada a objetos con C++, RA-MA Editorial, Madrid 1997 (2ª edición). Francisco Javier Ceballos: Microsoft Visual C++. Aplicaciones para Win 32, RA-MA Editorial, Madrid 1999 (2ª edición). Francisco Javier Ceballos: Microsoft Visual C++. Programación avanzada en Win 32, RA-MA Editorial, Madrid 1999. Peter Norton, Robert W. McGregor: Peter Norton’s guide to Windows 95/NT 4 programming with MFC, Sams publishing, Indianapolis 1996.

Otra bibliografía consultada:

P. Yao, R. C. Leinecker: Todo Visual C++ 5 Bible, Inforbook’s, S. L. 1998.

Recursos de Internet:

Principales páginas consultadas:

Sourcebank http://www.devx.com/sourcebank/ CodeGuru - Visual C++ http://www.codeguru.com/ Controls-Table of Contents http://www.codeguru.com/controls/GraphicsClasses.shtml (Programación de gráficos).

Otras páginas:

The Code Project - Free Source Code and Tutorials http://www.codeproject.com/ Programmers Heaven http://www.programmersheaven.com/ Visual C++ Developer Links http://www.pinpub.com/VC/VCmain.nsf/links!openform www.simtel.net - Simtel.Net http://www.simtel.net/nolonger.php Tips and tricks for Visual C++ http://www.mip.sdu.dk/ipl98/unofficial/visualc/tips_and_tricks.htm Material for C and C++ programmers http://garbo.uwasa.fi/pc/c-lang.html The MFC Professional -- Source Code and Classes http://www.visionx.com/mfcpro/code.htm Paint 2000 - Download - TotalShareware Software Archive http://www.totalshareware.com/asp/detail_view.asp?application=1664 Mathtools.com web site http://www.mathtools.com/ (MATLAB) Richard's Programming Page - Index http://www.geocities.com/SiliconValley/5689/index.html Visual C++ MFC Programming by Example http://www.rdbooks.com/store/products/rd3003.htm

2. Procesado de señales

Mariño, J. B., Vallverdú, F., Rodríguez, J. A., Moreno, A.: Tratamiento digital de la señal: una

introducción experimental, CPET, 1995. Oppenheim, A. V.; Schafer, R. W.: Discrete-time signal processing, Prentice Hall, 1989. Proakis, J.G., Manolakos, D.G.: Introduction to digital signal processing, McMillan, 1988. Slar, B.: Digital communications: fundamentals and applications, Prentice-Hall, 1988. Carlson, A. B.: Communication systems, McGraw-Hill, 1986 (3rd. ed.). Proakis, J. G.: Digital communications, McGraw-Hill, 1989 (2nd. ed.). Disponible la tercera edición en inglés en versión de tapas duras (1995). Zelniker, G.; Taylor, F.: Advanced digital signal processing, Marcel Dekker, 1994.

Page 179: SpecMusic Libre

179

Jayant, A, K.; Noll, P.: Digital coding of waveforms: principles and applications to speech and video, Prentice Hall, 1984.

Recursos de Internet:

Edition2 ftp://ftp.mathworks.com/ ftp://ftp.mathworks.com/pub/books/garcia/edition2/Cpp/fft2.cpp ftp://ftp.mathworks.com/pub/books/garcia/edition2/Cpp/ifft2.cpp (Programación FFT y IFFT). QPeaks http://www.spectrumsquare.com/qpeaks.htm (Algoritmo de detcción de picos). The Haar wavelet transform http://amath.colorado.edu/courses/4720/2000Spr/Labs/Haar/haar.html

Referencias en la base de datos de IEEE: http://bibliotecnia.upc.es/

V. Labunets, E. Labunets-Rundlab, J. Astola: “Fast Classical and Quantum Fractional Haar Wavelet Transforms”, Tampere University of Technology, Tampere International center for Signal Processing, Tampere, Finland. Seok Won Lee, Boo Hee Nam: “Noise Reduction Using Wavelet and Identification of Nonlinear Channel for QAM Using Neural Network”, Kangwon National University, Chunchon, Korea, IEEE 2001. M. L. Jacobson (United Arab Emirates University, United Arab Emirates): “Auto threshold peak detection in physiological signals”, IEEE Transactions on signal processing, Vol. 45, no. 3, march 1997 (2001 Proceedings of the 23rd Annual EMBS International Conference, October 25-28, Istanbul, Turkey). Z. S. Wng, JDZ Chen: “Robust ECG R-R Wave Peak Detection Using Evolutionary-Programming-based Fuzzy Interference System (EPFIS) and Its Application to Assessing Brain-Gut Interaction”, GI Division, The University of Texas Medical Branch at Galveston, USA. Seok Won Lee, Boo Hee Nam: “Peak Detection of ECG Signal Using Wavelet Transform and Radial Basis Functions”, Dept. of Control and Instrument Engineering, Kangwon National University Chunchon, Korea, July 1999.

3. Tecnología musical

Martin Russ: Sound Síntesis & Sampling by Russ, Butterworth-Heinemann, 1996. Traducción española por Javier Ferreras Nicolás: Martin Russ: Síntesis y muestreo de sonido, Instituto Oficial de Radio y Televisión, RTVE, Madrid, 1999. G. Perotti: Técnicas de interface MIDI. Música y ordenadores personales, Grupo Editorial Jackson, Madrid 1991. S. de Furia: Secrets of Analog and Digital Synthesis, Tirad Earth Productions Inc., Pompton Estates, NJ 1986; R. A. Penfold: MIDI Avanzado. Guía del usuario, RA-MA, Madrid, 1992 (edición original: Advanced

MIDI. User's guide, PC Publishing, 1991). Francis Rumsey: MIDI systems and control, Foval Press, Cambridge, 1990 (2ª edición de 1991). The complete MIDI 1.0 detailed specification incorporating all recommended practices document

Version 96.1, 2001. Downloadable sounds level 2-1 version 1.0 February 2000 including Mod LFO to Gain Changes 2000. Specification for XMF Meta File Format version 1.00b revised 10/10/2001. Description of SMF Meta. Electronic Musician (Revista). Keyboard (Revista). Transoniq Hacker (Revista). Computer Music (Revista).

Recursos de Internet:

Principales páginas consultadas:

MIDI Technical Fanatic's Brainwashing Center http://www.borg.com/ MIDI Technical Fanatic's Brainwashing Center http://www.borg.com/~jglatt/ Index of -~jglatt-tech http://www.borg.com/~jglatt/tech/ http://www.borg.com/~jglatt/tech/miditech.htm (Programación de dispositivos multimedia) http://www.borg.com/~jglatt/tech/midispec.htm (Especificaciones MIDI) MIDI Software http://www.borg.com/~jglatt/progs/software.htm (Software) MIDI Universal System Exclusive Messages http://crystal.apana.org.au/~ghansper/midi_introduction/midi_sysex_universal.html MIDI Manufacturer's Association Web Index http://www.midi.org/ http://www.midi.org/about-midi/tuning.shtml (Especificaciones Midi-Tuning)

Page 180: SpecMusic Libre

180

http://www.midi.org/about-midi/specinfo.shtml (Especificaciones) http://www.midi.org/about-midi/specshome.shtml (Especificaciones MIDI) Help with MIDI (Resources) http://www.midi.org/about-midi/resource.htm MIDI Stuff http://www.enborne.com/midi/midi-classes.htm (Programación MIDI) Discrete Fast Fourier Transforms http://www.intersrv.com/~dcross/fft.html (Programación WAVE) Michael Hamman Home Page http://www.shout.net/~mhamman/index.html (Síntesis de sonido) Multimedia Programming - Table of Contents http://www.codeguru.com/multimedia/index.shtml (Programación de dispositivos multimedia).

Otras páginas sobre multimedia401:

MIDIOX http://www.midiox.com/ Harmony Central® MIDI Software Development Tools http://www.harmony-central.com/MIDI/dev.html Hardware Web (R) Midi hardware projects page http://www.nctnico.cistron.nl/midi.htm MIDI & SYNTH TECH ZONE - MIDI & synthesizer technical resources http://www.synthzone.com/miditech.htm GNMIDI - MIDI Tools for Windows http://www.gnmidi.com/ Günter Nagler's midi utilities with C++ sources and original compositions http://www2.iicm.edu/Cpub Showing -code-hardware-audio- - http://www.hornet.org/code/hardware/audio/ How to Convert MIDI files to WAVE files http://www.notationmachine.com/midi_to_wave.htm

Ficheros MIDI y WAVE:

Joe's Original Wave Files http://mywebpages.comcast.net/jdeshon2/joewav.html A Johann Sebastian Bach Midi Page http://www.bachcentral.com/ Classical music archives J.S.Bach http://www.classicalarchives.com/bach.html

4. Acústica musical

A. H. Benade: Fundamentals of musical acoustics, Dover Publications, Inc. New York 1990 (edición corregida de la original de 1976 por Oxford University Press). D. Blanxart: Teoría física de la música, Ed. Bosch, Barcelona. Antonio Calvo-Manzano: “Determinación matemática de la serie de armónicos de un sonido”, Revista de

musicología 12, 1 (1989). Antonio Calvo-Manzano Ruiz: Acústica fisico-musical, Real Musical, Madrid 1991. L. Colomer Blasca: “Introducción al análisis espectrográfico de la interpretación musical”, Anuario

Musical 55, 251-271 (2000). A. J. Ellis, A. Mendel: Studies in the history of musical pitch, Amsterdam 1968. Gonzalo Fernández de la Gándara, Miguel Lorente: Acústica musical, Ediciones del ICCMU, Madrid 1998. N. H. Fletcher y T. D. Rossing: The physics of musical instruments. Springer-Verlag, New York 1991. J. J. Goldáraz Gainza: “Aristógenes en la teoría musical del renacimiento: fundamentos de la ciencia armónica y medición de intervalos”, Revista de musicología 12, 1 (1989). Hermann von Helmholtz: Die Lehre von den Tonempfindungen, Longmans & Co., 1877. Traducción inglesa por A. J. Ellis: On the sensations of tone (Sobre las sensaciones sonoras), 1877, Dover, New York 1954. Lawrence E. Kinsler y otros: Fundamentals of acoustics, John Wiley and Sons, New York 1982. Traducción española: Lawrence E. Kinsler y otros: Fundamentos de acústica, Ed. Limusa, México, 1992. W. P. Mason: Physical acoustics. Principles and methods, vols. I-VIII, New York. Morse. Vibration and Sound. Mc. Graw Hill. New York 1936. T. de Olazábal: Acústica musical y organología, Ed. Ricordi, Buenos Aires 1954 (7ª edición). H. J. Pain: The physics of vibrations and waves, London 1970. C. V. Palisca: “Aristoxenus redeemed in the Renaissance”, Revista de musicología 16, 3 (1993). T. D. Rossing: The science of sound, Addison-Wesley Pub. Co. Inc. Reading MA 1982 (2ª edición de1990). John Mitten: A guide tuning musical instruments.

5. Afinación y temperamento

1/1 Journal of the Just Intonation Network, 535 Stevenson St., San Francisco, CA. Ariel (seudónimo): Das Relativitätspronzip der Musikalischen Harmonie, Leipzig, 1925.

401 En las páginas citadas en el apartado de programación también pueden encontrarse referencias sobre programación

multimedia.

Page 181: SpecMusic Libre

181

P. Y. Asselin: Musique et Temperament, Editions Costallat, 1985. J. Murray Barbour: Tuning and Temperament, Nueva York, 1972. John Barnes: "Bach's keyboard temperament: Internal evidence from the "Well-Tempered Clavier"", Early Music, Vol. 7, nº 2, 1979, pp. 236-248. E. M. Burns, W. D. Ward: “Intervals, scales and tuning”, The Psichology of Music, ed. Diana Deutsch, Academic Press, Inc., New York 1982. Maurice Courant: “Chine et Coréé”, Enciclopédie de la musique et dictionaire du conservatoire, París, 1913, I, 88. A. J. Ellis, A. Mendel: Studies in the history of musical pitch, Amsterdam 1968. D. García Fraile: “El llamado órgano de Salinas”, Anuario musical 49 (1994). Joan Girbau: “Les matemàtiques i les escales musicals”, Butlletí de la Secció de Matemàtiques SCCFQM

(IEC) nº 18, octubre 1985. Se publicó una versión resumida en el apartado de “Ciencia” de La vanguardia del domingo 9 de octubre de 1988, con el título “Las matemáticas y las escalas musicales”. J. Javier Goldáraz Gaínza: Afinación y temperamento en la música occidental, Alianza Música, Madrid, 1992. Eivind Groven: “My Untempered Organ”, Organ Institute Quartely, Vol. 5, 3, 1955. D. E. Hall: “Quantitative evaluation of musical scale tuning”, An. J. Phys. 42, 543-552, 1974. Hermann von Helmholtz: Die Lehre von den Tonempfindungen, Longmans & Co., 1877. Traducción inglesa por A. J. Ellis: On the sensations of tone (Sobre las sensaciones sonoras), 1877, Dover, New York 1954. Clark Jones: “Remarks on Just Intonation and Musical Scales”, Acoustical Society Journal, 1974. Herbert Kelletat: Zur musikalischen Temperatur, insbesondere bei Johann Sebastian Bach, Hassel 1960. Herbert Antón Kellner: "Wie stimme ich selbst mein Cembalo?", Das musikinstrument, cuaderno 19, Frankfurt/Main, 1976. Thorvald Kornerup: Das Tonsystem des Italianers Zarlino, Copenhage, 1930. M. Lorente: “Ciencia y música en el renacimiento español”, Revista. de Musicología XVII, nº 1-2, pp. 11-40, Madrid (1994). Max V. Mathews, John R. Pierce: “Theoretical and experimental explorations of the Bohlen-Pierce scale”, Journal of the Acoustical Society of America, 84 (4), octubre 1988. P. Otaola: “Instrumento perfecto y sistemas armónicos microtonales en el siglo XVI. Bermudo, Vicentino y Salinas”, Anuario musical 49 (1994). W. Parret: Some Questions of Musical Theory, Cambridge, 1926. Harry Partch: A genesis of a music, Univ. of Wisconsin Press, 1949. Jaime Piles Estellés: Intervalos y gamas, Instituto Valenciano de Musicología de la Institución Alfonso el Magnánimo, Ed. Piles, Valencia 1982. L. Robledo: “Del pitagorismo a la justa entonación: los tratados musicales de Juan Pérez de Moya y de Juan Segura”, Revista de musicología XIX, 1996 1-2. F. J. Sánchez González: “Análisis de intervalos y escalas modales”, Revista de musicología XII-1, (1989). F. Javier Sayas González: “Una aproximación matemática a los sistemas de afinación musical”, Nassarre

XI, 1-2 471-489 (1995). W. A. Sethares: “Adaptative tunings for musical scales” Journal of Acoustical Society of America 96, no.1, pg. 10-19, July (1994) W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997. Joachin Steiner: “Einfluss der reinen Stimmung auf die Entwickklung der Musik”, Bericht von III

Kongress der Internationalen Musikgesellschaft, Viena, 1909. Ray Tomes: Automatic Just Intonation, en http://homepages.kcbbs.gen.nz/rtomes/aji-main.htm o http://homepages.ihug.co.nz/~ray.tomes/aji.htm Joseph Yasser: A Theory of Envolving Tonality, New York, 1932.

Referencias antiguas

Martín Agrícola: Rudimenta musices, Wittenberg, 1539. Giorgio Anselmi: De Musica, 1434. Pietro Aron: Toscanello in musica, Venecia, 1523, reed. rev., 1529. Giovanni Maria Artusi: Seconda parte dell’Artusi ovvero delle imperfettioni della moderna musica, Venecia, 1603. Juán Bermudo: Declaración de instrumentos musicales, Osuna, 1555. Quirinus van Blankenburg: Elementa musica, La Haya, 1739. A. M. Severino Boecio: De Institutione Musica, Ed. Godofredus Friedlein, Leipzig, 1867. R. H. M. Bosanquet: An Elementary Treatise on Musical Intervals and Temperament, Londres, 1876. Giovanni Battista Doni: Compendio de trattato de’ generi, e de’ modi, Roma, 1635, c. 13 Robert Dowland: Variety of Lute-Lessons, Londres, 1610.

Page 182: SpecMusic Libre

182

M. W. Drobish: “Ubre musikalische Tombestimmung und Temperatur”, Abhandlungen der

mathematisch-physischen Classe der königlich sächsischen Gesellschaft der Wissenschaften, IV, 1855, 82-86. Euclides: Sección de canon (c. 300 a. C.). Lodovico Fogliano (finales del siglo XV – 1539): Musica theorica, Venecia, 1529. Sylvestro Ganassi: Regola Rubertina, Venecia, 1543. J. Kepler: Harmonices Mundi, 1619. Johann Philipp Kirnberger: Die Kunst des reinen Satzes in der Musik, Berlín y Könisberg, 1779. Mark Lindley: “Pytagorean entonation”, New Grove Dictionary of Music and Musicians, Vol. 15, pp. 485-487. Henry Liston: An Essay upon Perfect Intonation, Edimburgo, 1812. Friedrich Wilhelm Marpurg: Versuch über die musikalische Temperatur, Breslau, 1776. Jean Baptiste Mercadier: Nouveau système de musique théorique et practique, París, 1776. Marin Mersenne: Harmonie universelle, París. 1636-1637. Marin Mersenne: Harmonicorum Libri XII, París, 1649. Johann George Neidhardt: Gäntzlich erschöpfte, mathematische Abtheilungen des diatonisch-

chromatischen, temperirten Canonis Monochordi, Königsberg y Leipzig, 1732, 2/1734. J. Ozaman: Dictionaire mathèmatique, Amsterdam, 1691. Platón: Timeo, 34b-36b. Ptolomeo: Armónica II, 4. Arístides Quintiliano: De Musica III, 2. Jean Phillipe Rameau: Nouveau système de musique théorique, 1726. Bartolomé Ramos de Pareja (c. 1440 - c. 1498): Música práctica, Bolonia, 1482. Giordano Riccati: Saggio sopra le leggi del contrapunto, Castelfranco, 1762. J. B. Romieu: “Mémoire théorique & practique sur les systèmes tempérés de musique”, Mémoires de

l’académie royale des sciences, 1758, pp. 805-870. J. J. Rousseau: Dictionnaire de musique, París, 1786. Francisco Salinas: Siete libros sobre la música, Ed. Alpuerto, Madrid, 1983. Edición a cargo de Ismael Fernández de la Cuesta basada en la edición anastática de M. Santiago Kastner. Edición original: De

musica libri septem, Salamanca, 1577. Arnold Schlick: Spiegel der Orgelmacher und Organisten, Mainz, 1511. Heinrich Schreiber (Henrichus Grammateus): Ayn new kunstlich Buech, Nüremberg, 1518. Robert Smith: Harmonics or the Philosophy of Musical Sounds, Londres, 1759. Georg Andreas Sorge :Gesprächt zwischen einem Musico theoretico und einem Studioso musices, Lobesndtein, 1748. Ch. E. Stanhope: “Principles of the Science of tuning instruments with Fixed Tones”, Philosophical

Magazine XXV, 1806. Francesco Antonio Vallotti: Giuseppe Tartini: Trattato di musica secondo la vera scienza dell’armonia,

Padua, 1754. Andreas Werkmeister: Musikalische Temperatur, oder deutlicher und warer Mathematischer Unterricht,

Wie man durch Anweisung des Monochord Ein Clavier, Sonderlich die Orgel-Wercke, Positive, regale,

Spinetten und dergleichen wol Temperirt Stimmen Könne, Frankfurt y Leipzig, 1691; Andreas Werckmeister: Hypomnemata musica, Quedlinburg, 1697. Andreas Werckmesiter: Erweiterte und verbesserte Orgel-probe, 1698. Wesley S. B. Woolhouse: Essay on Musical Intervals. Harmonics, and the Temperament of the Musical

Scale, Londres, 1835. Thomas Young: “Outlines of Experiments and Inquiries Respecting Sound and Light”, Philosophical

Transactions, xc, 1800. Gioseffo Zarlino de Chiogga (1517-1590): Istitutioni harmoniche, Venecia, 1558. Gioseffo Zarlino: Dimostrationi harmonique, Venecia, 1571.

Recursos de Internet:

Algorithmic Arts Software MicroTone http://algoart.com/web/microtone.htm Ethnic Music Links http://www.asahi-net.or.jp/~HB9T-KTD/music/muslnk3e.html Huygens-Fokker Foundation, centre for microtonal music http://www.xs4all.nl/~huygensf/english/index.html Microtonal Synthesis http://www.microtonalsynthesis.com/index.html Southeast Just Intonation Society http://www.afn.org/~sejic/ Early Music FAQ http://www.medieval.org/emfaq/ Huygens-Fokker Foundation http://www.xs4all.nl/~huygensf/links/index.html LucyTuningLucyScaleDevelopmentsPi tuningTech. Info.: http://www.harmonics.com/lucy/tuning.html

Page 183: SpecMusic Libre

183

Midi Tempering Utilities http://www.dogstar.dantimax.dk/midiutil/ Sonic Arts http://www.ixpres.com/interval/ Ray Tomes: Automatic Just Intonation, en http://homepages.kcbbs.gen.nz/rtomes/aji-main.htm o http://homepages.ihug.co.nz/~ray.tomes/aji.htm Existen diversas páginas Web de Internet dedicadas a la obra de Harry Partch así como una fundación que lleva su nombre (Harry Partch Foundation). Otra referencia impresa sobre su obra es Bob Gilmori: Harry Partch: a biography, Yale University, 1998.

6. Teoría de la disonancia

G. von Békésy, “Uber akustische Raughigkeit” (“La dureza acústica”), Zeitschrift für technische Physik

16, (1935), 276-282. P. Broomsliter, W. Creel: “The long pattern hypothesis in harmony an hearing”, Journal of music theory

5, nº 2, 2-30 (1961). N. Cazden: “Musical consonance and dissonance: a cultural criterion”, J. Aesthetics 4, 3-11 (1945). H. Fletcher: Review of modern physics 12, (1940) 47-65. Fletcher and Munson: “Pitch, loudness and quality of musical tones”, American journal of Physics 14 (1946) 215. J. L. Goldstein: “An optimum processor theory for the central formation of the pitch of complex tones”, Journal of Acoustical Society of America 54, 1496-1516 (1973). D. F. Keisler: “The relevance of beating partials for musical intonation”, Proceedings of the ICMC, Montreal 1993. M. Lorente: “Fundamentos físicos de la tonalidad y la consonancia”, Rev. Ciencia Aplicada 97, 97-116 (1964); M. Lorente: “Serialización de los elementos musicales”, Rev. Ciencia Aplicada 102, 12-24 (1965); M. Lorente: “Physical Basis of musical tonality and consonance”, 5th International Congress of

Acoustics, Liege, 7-14 sept, 1965. Harry Partch: A genesis of a music, Da Capo Press, New York, 1974. R. Plomp, W. J. M. Levelt: “Tonal consonance and critical bandwith”, Journal of Acoustical society of

america 38, 548-560 (1965). Los autores presentaron un trabajo preliminar “Musical consonance and Critical Bandwith” en Fourth Int. Congress on Acoustics, Copenhagen, 1962. William A. Sethares: Tuning, timbre, spectrum, scale. Springer-Verlag London Limited 1998. J. Tenney: A history of “consonance” and “dissonance”. Excelsior Music. New York 1988. E. Terhardt: “Pitch shifts of harmonics, am explanation of the octave enlargement phenomenon”, Proc.

7tf Int. Congress Acoustics, Budapest 3:621 (1971). E. Terhardt: “Pitch, consonance and hatmony”, Journal of Acoustical Society of America 55, nº 5, 1061-1069 (May 1974). E. Terhardt: “The concept of musical consonance: a link beteen music and psychoacoustics”, Music

Perception. 1, No. 2 276-295, Spring (1984). E. Terhardt, G. Stoll, M. Seewann: “Algorithm for extraction of pitch salience from complex tone signals”, Journal of Acoustical Society of America 71, No. 3, 679-688 March (1982). W. A. Sethares: “Local consonance and the relationship between timbre and scale”, Jounal of Acoustical

Society of America 94 (3), pg. 1218-1228, Sept. (1993). W. A. Sethares: “Relating tuning and timbre”, Experimental Musical Instruments IX No. 2 (1993). W. A. Sethares: “Adaptative tunings for musical scales” Journal of Acoustical Society of America 96, no.1, pg. 10-19, July (1994). W. A. Sethares: “Tunings for nonharmonic sounds”, Synaesthetica ACAT, Canberra, Australia, Aug. (1994). W. A. Sethares: “Specifying spectra for musical scales”, Journal of Acoustical Society of America (1997). W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997. K. Stumpf: “Konsonanz und dissonanz”, Beitr. Akust. Musikwiss 1, 1-108 (1898). J. Vos: “Subjective acceptability of various regular twelve-tone tuning sustems in two-part musical fragments”, Journal of Acoustical Society of America 83 (6), 2383-2392 (1988). A. G. Wier, W. Jesteadt, D. M. Green: “Frequency discrimination as a function of frequency and sensation level”, Journal of Acoustical Society of america 61, 178-184 (1977). E. Zwicker, H. Fastl: Psichoacoustics, Springer-Verlag (1990). E. Zwicker, G. Flottorp, S. S. Stevens: “Critical bandwhith in loudness summation”, Journal of

Acoustical Society of America 29, 548 (1957).

Recursos de Internet:

Sethares homepage http://eceserv0.ece.wisc.edu/~sethares/index.html

Page 184: SpecMusic Libre

184

Tuning Timbre Spectrum Scale http://eceserv0.ece.wisc.edu/~sethares/ttss.html (Página de W. A. Sethares). Existen diversas páginas Web de Internet dedicadas a la obra de Harry Partch así como una fundación que lleva su nombre (Harry Partch Foundation). Otra referencia impresa sobre su obra es Bob Gilmori: Harry Partch: a biography, Yale University, 1998.

7. Referencias generales sobre música

Sadie, S. (ed.): The New Grove Dictionary of Music and Musicians, McMillan, London 1980.

8. Teoría de la música

J. Chailey, H. Challan, C. Aymat: Teoría completa de la música, vols. 1 y 2. Alphonse Leduc. Paris. Hermann Grabner: Teoría general de la música. Ediciones Akal. Madrid. Joaquín Zamacois: Teoría de la música, vol 1 y 2, Ed. Labor, Barcelona 1992 (24ª / 13ª edición). Edición posterior por Idea Música. Joan Font i Romagosa: Sistema musical numérico: con método dodecasílabo de solfeo, Clivis, Barcelona, 1989.

9. Armonía y contrapunto

R. Crocker: Discant, counterpoint and harmony, 1962. Johann Joseph Fux: Gradus ad Parnassum, Viena (s. i. ) 1925. P. Hindemith: The Craft of Musical Composition 1937, Trans. A. Mendel, associated Music Publishers, New York 1945. Diether de la Motte: Armonía, Ed. Labor, Barcelona 1989 (2ª edición de 1994). Edición posterior por Idea Música. Diether de la Motte: Contrapunto, Ed. Labor, Barcelona. Edición posterior por Idea Música, 1998. Walter Piston: Harmony, W. W. Norton & Co. Inc., New York 1941 (5th edition of 1987). Existen traducciones españolas: Walter Piston: Armonía, revisada y ampliada por Mark De Voto, traducción de

Juan Luis Milán Amat, Idea Books, Col. Idea Música, Barcelona, 2001; Walter Piston: Armonía, Labor, Col. Enfoques, Barcelona, 1993. Walter Piston : Counterpoint, New York. Traducción española: Contrapunto, Ed. Labor, Barcelona. Edición posterior por Idea Música. Jean Phillipe Rameau: Treatise on Harmony, Dover Publications, New York 1971. Edición original: Traité de l’harmonie réduite à son principe naturel, Paris 1722. Jean Phillipe Rameau: Démonstration du principe de l’harmonie, Paris 1750. H. Riemann: Harmonie und Modulieren, Breitkopf und Hartel, Leipzig. Traducción española: Armonía y

modulación, Ed. Labor, Barcelona 1952. P. Samuel Rubio, O. S. A.: La polifonía clásica, Biblioteca “La ciudad de Dios”, Real Monasterio de “El Escorial”, Madrid 1983. Alois Haba: Neue harmonielehre des diatonischen, chromatischen, viertel, drittel, sechstel, und zwölfftel-

tonsystems, Filmkunst-Musikverlag, München / Supraphon, Praha, 1979. Traducción al castellano por Ramón Barce: Alois Haba: Nuevo tratado de armonía, Real Musical, Madrid, 1984. Heinrich Schenker: Harmonielehre, Stuttgart 1906. Traducción española: Tratado de armonía, 1990. Arnold Schoenberg: Harmonielehre, Wien 1922. Traducción española: Armonía, Real Musical, Madrid 1974. Arnold Schoenberg: Ejercicios preliminares de contrapunto, SpanPress Universitaria. Cooper City 1997. Arnold Schoenberg: Funciones estructurales de la armonía, Ed. Labor, Barcelona 1990. Edición posterior por Idea Música. Joaquín Zamacois: Tratado de armonía, vols. 1-3, Ed. Labor, Barcelona 1958. Edición posterior por Idea Música.

10. Teoría de la tonalidad

C. Dahlhaus: Studies on the origen of harmonic tonality. Princenton University Press. Princenton, New Jersey. E. Igoa Mateos: “Observaciones complementarias al método del grado de cromatismo”, Revista de

musicología 12, 1 (1989). A. Machabey: Gènese de la tonalité musicale classique des origenes au XV siècle, Paris 1955. M. R. Moniates: “Nicola Vicentino’s reconstruction of the ancient greek genera”, Revista de musicología

16, 3 (1993).

Page 185: SpecMusic Libre

185

J. Mª. Muneta: “Evolución de la modalidad desde el Gregoriano al siglo XVIII”, Nassarre XI, 1-2, 345-365 (1995). P. Otaola: “Francisco Salinas y la teoría modal en el siglo XVI”. Nassarre XI, 1-2, 367-385 (1995). R. Reti: Tonalidad, atonalidad, pantonalidad, Madrid 1965. J. Yasser: A theory of envolving tonality, Nueva York 1932. A. Zaldívar Gracia: “Reflexiones en torno a la modalidad polifónica en la música española, ca. 1550: la aportación del cancionero de Upsala”, Nassarre IV, 1-2 281-303 (1988).

11. Teorías matemáticas sobre la música

Luis Colomer Blasco: "Introducción al análisis espectrográfico de la interpretación musical", Anuario

Musical 55 (2000), pp. 251-271. Francisco Javier Sánchez González: "Análisis de intervalos y escalas modales", Revista de musicología, Vol. ?, nº ?, (19..?), pp. 53-78. Enrique Igoa Mateos: "Un nuevo método de análisis en musicología", Anuario Musical 41 (1986), pp. 229-250. Laurent Fichet: Les théories scientifiques de la musique aux XIXe et XXe siècles, Librairie Philosophique J. Vrin, París, 1996. Emilio Panadi: Un curso de algoritmo musical, 1999. Journal of music theory.

12. Historia y estética de la música

Historias generales:

Donald J. Grout, Claude V. Palisca: Historia de la música occidental, 2 vols., Alianza Música, Madrid 2001 (3ª edición). Stanley Sadie: Guía Akal de la música, Ediciones Akal, Madrid. Enrico Fubini: La estética musical desde la antigüedad hasta el siglo XX, Alianza Música 31, Madrid 1997 (2ª edición). Hielen Southern: Historia de la música negra norteamericana, Ediciones Akal, Madrid.

Colecciones:

Richard H. Hoppin: La música medieval, Ediciones Akal, Madrid 1991. Richard H. Hoppin (ed.): Antología de la música medieval, Ediciones Akal, Madrid. Allan W. Atlas: La música del renacimiento, Ediciones Akal, Madrid 2002. Allan W. Atlas (ed.): Antología de la música del renacimiento, Ediciones Akal, Madrid 2002. George Vulgo: La música barroca, Ediciones Akal. Madrid (de próxima publicación). Philip Downs: La música clásica, Ediciones Akal, Madrid. Leon Plantinga: La música romántica, Ediciones Akal, Madrid. Robert P. Morgan: La música del siglo XX, Ediciones Akal, Madrid. Robert P. Morgan: Antología de la música del siglo XX, Ediciones Akal, Madrid. Gustave Reese: La música en la Edad Media, Alianza Música, Madrid 1989. Gustave Reese: La música en el Renacimiento, 2 vols., Alianza Música 37, 38. Madrid. Manfred F. Bukofzer: La música en la época barroca, Alianza Música 30, Madrid. Charles Rosen: El estilo clásico. Haydn, Mozart, Beethoven, Alianza Música, Madrid 1994. Alfred Einstein: La música en la época romántica, Alianza Música 26, Madrid.

13. Musicología y etnomusicología

Musicología:

J. Chailley: Compendio de musicología, Alianza Música, Madrid. Blake Wilson, George J. Buelow, Peter A. Hoyt: "Rhetoric and music", The New Grove Dictionary of

Music and Musicians, Vol. 15, pp. 793-803, ed. S. Sadie, McMillan, London 1980. Francisco Salinas: Siete libros sobre la música, Ed. Alpuerto, Madrid, 1983. Edición a cargo de Ismael Fernández de la Cuesta basada en la edición anastática de M. Santiago Kastner. Edición original: De

musica libri septem, Salamanca, 1577. P. Cerone: El melopeo y maestro. Tractado de música theorica y pratica, Iuan Bautista Gargano y Lucrecio Nucci, impresores, Nápoles, 1613 (reimpresión anastásica por la Biblioteca Musica Bononiensis, sezione II, n. 25, Bologna, Forni Editore, 1969, 2 Vols);

Page 186: SpecMusic Libre

186

P. Nassarre: Escuela música según la práctica moderna, Zaragoza, 1723-24 (edición facsímil, Zaragoza, 1980). Francisco José León Tello: La teoría española de la música en los siglos XVII y XVIII, CSIC, Madrid, 1974. Francisco José León Tello: Estudios de la teoría musical, CSIC, Madrid, 1962. Wolfgang Schmieder: Thematisch-systematisches Verzeichnis der Musikalischen Erke von Johann

Sebastian Bach (Catálogo temático-sistemático de las obras musicales de Johann Sebastian Bach), Leipzig, Breitkopf & Härtel, 1950. C. P. E. Bach y J. F. Agrícola: Necrología de J. S. Bach, Lorenz Mizlers Musikalische Bibliothek, Leipzig 1754, 4, 1, p. 173. John Barnes: "Bach's keyboard temperament: Internal evidence from the "Well-Tempered Clavier"", Early Music, Vol. 7, 1979, pp. 236-248. Consultable también en la siguiente base de datos de Internet: http://pcift.chadwyck.co.uk/pcift/

Etnomusicología:

B. Nettl: The study of ethnomusicology, University of Illinois Press 1983. William P. Malm: Culturas musicales del Pacífico, el Cercano Oriente y Asia, Madrid, Alianza Música, 1985. W. Surjodiningrat, P. J. Sudarjana y A. Susanto: Tone Mesurements of Outstanding Javanese Gamelans

in Yogyakarta and Surakarta, Gadjah Mada University Press, 1993. Traducción del original en lengua indonesia. J. Kunst: Music in Java, Martinus Nijhoff, The Hague, Netherlands, 1949. E. C. Carterette, R. A. Kendall: "On the tuning and stretched octave of Javanese gamelans", Leonardo

Music Journal, Vol. 4, 1962, pp 59-68. M. Tenzer: Gamelan Gong Kebyar: the art of twentieth-century Balinese music, with a foreword by Steve

Reich, The University of Chicago Press, Chicago, 2000. Sumarsam: Gamelan: cultural interaction and musical development in central Java, The University of chicago Press, Chicago 1992. Jennifer Lindsay: Javanese Gamelan: Traditional Orchestra of Indonesia, Oxford University Press, 1979 (segunda edición de 1992). Catherine Basset: Músicas de Bali a Java. El orden y la fiesta, Ediciones Akal, Col. Músicas del mundo, 1999. Traducción de Pablo García Miranda del original en francés: Musiques de Bali a Java. L’ordre et le

fête, Cité de la Musique, Actes Sud, 1959.

14. Partituras

Música impresa:

Claudio Monteverdi: Lauda, Jerusalem, Dominum, Breitkopf & Härtel. J. S. Bach: El clave bien temperado I (BWV 846-869), Real Musical 1979 (edición original de Wiener URTEXT Edition, Viena, según los autógrafos y primeras copias con comentarios de Walter Dehnhard y digitación de Detlef Kraus), versión española de Antonio Baciero; J. S. Bach: El clave bien temperado I (BWV 846-869), G. Henle-Verlag München. J. S. Bach: El clave bien temperado I (BWV 846-869), Peters. J. S. Bach: El clave bien temperado I (BWV 846-869), Breitkopf & Hartel. J. S. Bach: El clave bien temperado II (BWV 870-893), Real Musical 1979 (edición original de Wiener URTEXT Edition, Viena, según los autógrafos y primeras copias con comentarios de Walter Dehnhard y digitación de Detlef Kraus), versión española de Antonio Baciero; J. S. Bach: El clave bien temperado II (BWV 870-893), G. Henle-Verlag München. J. S. Bach: El clave bien temperado II (BWV 870-893), Peters. J. S. Bach: El clave bien temperado II (BWV 870-893), Breitkopf & Hartel. Johann Sebastián Bach: Das wohltemperierte Klavier, Leipzig, 1971, V. E. B. "Deutsche Verlag für Musik" (Distribución: Real Musical, Madrid), edición facsímil. Johann Sebastián Bach: “Fantasia and fugue in G minor” (BWV 542), Toccatas, fantasias, passacaglia

and other works for organ, Dover Publications, Inc., New York, 1987. Juan Cabanilles: Ausgewählte orgelwerke, Vol. II, Willu Müller, Süddeutscher Musikverlag, Heidelberg, 1977. Johann Sebastian Bach: St. Matthew Passion in full score, Dover Publications, Inc., New York, 1990.

Discografía:

Page 187: SpecMusic Libre

187

Johann Sebastian Bach: Obras famosas para órgano, Otto Winter, órgano “Silbermann”, Pilz España, S. A., Ávila, 1988 (CD 1); Johann Sebastian Bach: Variaciones Goldberg, Christiane Jaccottet, clavicémbalo, 1989 (CD 2). Girolamo Frescobaldi: FioriMusicali, 1635 (2 CD), Rinaldo Alessandrini, órgano Gian Giacomo Antegnati, 1554, S. Mauricio al Monastero Maggiore, Milan, Audivis-Astrée, 1989.

Nota: En referencia al apartado de afinación y temperamento, en algún lugar del proyecto he hecho alusión a un artículo mío sobre la definición axiomática de las escalas musicales. A fecha de hoy, este artículo no está completado ni mucho menos editado aunque la teoría está bastante desarrollada. A continuación expondré mis datos personales por si alguien interesado en el desarrollo de dicha teoría quisiera ponerse en contacto conmigo:

Dirección postal: Av. San Antonio Mª. Claret 252, 1º 4ª, 08041 Barcelona. Dirección de correo electrónico: [email protected]. Teléfono fijo: 93 347 74 75. Teléfono móvil: 654 74 71 48. No dispongo actualmente de ninguna página web personal.

Page 188: SpecMusic Libre

188

APÉNDICES

1. NOMENCLATURA DE LAS NOTAS

1.1 Nomenclatura de las notas musicales en diversos idiomas

En la siguiente tabla pueden verse las diferentes nomenclaturas de las notas musicales aplicadas según diferentes países:

Español Alemán Inglés Francés Italiano Catalán Do C C Ut Do Do Re D D Re Re Re Mi E E Mi Mi Mi Fa F F Fa Fa Fa Sol G G Sol Sol Sol La A A La La La Si H B Si Si Si

En alemán e inglés se emplean las letras para designar las tonalidades pero para solfear utilizan

la misma notación silábica que nosotros. Igualmente, en francés, el nombre Ut se utiliza para expresar el nombre de la nota Do pero también utilizan éste último para solfear.

Los nombres de las alteraciones en los mismos idiomas están representados en la siguiente tabla:

Español Alemán Inglés Francés Italiano Catalán # sostenido kreuz Sharp dièse Diesis sostingut b bemol bemol Flat bemol Bemolle bemoll becuadro quadrat natural bécarre Bequadro becaire

No obstante, para designar las notas alteradas, en alemán se usan los sufijos -is y -es para el

sostenido y el bemol respectivamente. Para el bemol se usa el sufijo -s para las notas representadas por una vocal o sea, La (A) y Mi (E). Otra excepción es el Si b que se expresa por la letra B sin ningún sufijo.

1.2 Clasificación de los diferentes sistemas de nomenclatura

Teniendo en cuenta los diversos sistemas de nomenclatura presentados, podemos hacer una clasificación en silábicos y alfabéticos. Los sistemas alfabéticos son más antiguos y provienen de la nomenclatura griega que aún se utilizó en la Edad Media para designar las notas de la gama completa402. Los sistemas silábicos derivan del sistema de solmisación medieval ideado por Guido d’Arezzo en el siglo X403. Se trataba de un sistema de solfeo que constituye el antecedente de nuestro sistema actual. No obstante, el sistema era más complicado y se basaba en hexacordos, sistemas de 6 notas en vez de 7 aunque la escala musical era igualmente de 7 notas. Las notas eran Ut, Re, Mi, Fa, Sol y La404. El Si se añadió en el siglo XVI igualando el sistema de solfeo a la escala musical aunque se siguió utilizando el

402 Para el estudio de este sistema véase, por ejemplo, D. J. Grout, Claude V. Palisca: Historia de la música occidental, Alianza

Música, Madrid, 2001 (3ª edición), 2 vols.;. o G. Reese: La música en la Edad Media, Alianza Música, Madrid, 1989. 403 Para una explicación detallada del sistema de solmisación ideado por Guido d’Arezzo véase, por ejemplo, D. J. Grout,

Claude V. Palisca: Historia de la música occidental, Alianza Música, Madrid, 2001 (3ª edición), 2 vols.;. G. Reese: La música en la

Edad Media, Alianza Música, Madrid, 1989; R. H. Hoppin: La música medieval, Ediciones Akal, Madrid 1991; o A. W. Atlas: La

música del Renacimiento, Ediciones Akal, Madrid 2002. 404 Los nombres de las notas las tomó de un himno gregoriano a San Juan, seguramente con fines didácticos, escogiendo la

primera sílaba de sus respectivos versos, pues, por darse la particularidad de que cada uno de éstos empezaba con el sonido inmediato superior al anterior, ello facilitaba la retentiva de los sonidos. La letra del himno es:

Ut queant laxis

Resonare fibris

Mira gestorum

Famuli tuorum

Solve polluti

Labii reatum

Sancte Johannes La nota Si, más moderna, surgió del verso siguiente tomando las primeras letras de cada palabra.

Page 189: SpecMusic Libre

189

mismo sistema de solmisación hasta el siglo XVII o XVIII405. El Ut fue substituido por el Do en el siglo XVII debido a su mejor eufonía. El cambio fue realizado por Giovanni Battista Doni tomando las dos primera letras de su apellido. Tal nombre todavía lo conserva la nomenclatura francesa.

Hemos de considerar que existen otros sistemas de nomenclatura diferentes en otras culturas los cuales designan las diferentes notas de sus respectivas escalas. Tales escalas pueden corresponderse a las nuestras en mayor o menor medida. Dependiendo de la correspondencia que exista con alguna de nuestras escalas de 5, 7 o 12 notas, puede establecerse o no una equivalencia entre las notas de tales sistemas musicales.

En la notación de musical de los nuevos sistemas ideados por compositores de nuevas tendencias experimentales del siglo XX pueden ser necesarios nuevos sistemas de notación. Piénsese, por ejemplo, en Harry Partch quién compuso música para ser interpretada en su sistema de afinación de 43 notas, piénsese también en las nuevas tendencias microtonalistas de Alois Haba o Joseph Yasser por no decir las tendencias basadas en la música aleatoria o electrónica (Iannis Xenakis o Karlheinz Stockhausen). También constituyen sistemas diferentes de notación los usados por los teóricos que idearon los sistemas de división múltiple de la escala en los siglos XVII y XVIII y que continuaron en los siglos XIX y XX.

A parte de esto, se han ideado nuevos sistemas de notación que, entre otras cosas, afectan a los nombres de las notas. Aunque no han tenido aceptación en la práctica, pueden constituir una buena reflexión acerca de las dificultades y limitaciones de nuestro sistema musical, al igual que lo constituyeron los antiguos sistemas de división múltiple de la octava. Un ejemplo es la notación numérica de Joan Font i Romagosa406.

A todo esto hemos de añadir los nuevos sistemas que se han desarrollado con las nuevas tecnologías. Me refiero, en concreto, al sistema utilizado por el estándar MIDI. No voy a desarrollar aquí lo que no he desarrollado en la redacción del proyecto en referencia al funcionamiento y la estructura de los ficheros MIDI pero, para completar el tema de este apéndice y, como explicación de uno de los sistemas de nomenclatura de las notas que he incluido en mi programa, voy a exponer el sistema de designación de las diferentes notas dela gama musical que utiliza el estándar en cuestión:

El sistema asigna un número a cada nota de la gama musical empezando por el Do –2 y acabando en el Sol 9, correspondiéndose precisamente con el Do 0 y el Sol 10 del sistema inglés. Se utilizan 12 notas por octava y las notas enarmónicas tienen el mismo número asignado407. Así, las notas pueden tomar un valor comprendido entre 0 y 127. La representación puede hacerse en decimal, hexadecimal o cualquier otro sistema de representación numérica pero estos dos son los más habituales y los que yo he usado en el proyecto por tratarse respectivamente del sistema más familiar para nosotros y del sistema más directamente relacionado con el sistema binario que utiliza el ordenador.

1.3 Sistemas de nomenclatura usados en el proyecto

Los sistemas de nomenclatura utilizados en la implementación de mi programa son los siguientes:

- Inglés (ENGLISH 1408). - Alemán (GERMAN 2). - Francés (FRENCH 3). - Español (SPANISH 4). - Italiano (ITALIAN 5). - Otro sistema numérico descrito a continuación (NOTE 6). - MIDI, expresado con números decimales (MIDI_DEC 7). - MIDI, expresado con números hexadecimales (MIDI_HEX 8). El otro sistema usado en el programa es un sistema numérico que representa a cada una de las

notas de la escala o gama que utilice la partitura utilizándose los mismos números para las notas enarmónicas y empezando por el número 0. Para considerar diferentes afinaciones para las notas llamadas enarmónicas actualmente hemos de utilizar sistemas de afinación variable o utilizar sistemas de más de 12 notas por octava con su correspondiente consecuencia en la notación de las partituras.

Así, pues, en la escala pentatónica, las notas van de 0 a 4, en la diatónica, de 0 a 6, en la cromática, de 0 a 11, en la “cromática extendida” (o sea, con todas las alteraciones), de 0 a 18, etc... Lo

405 Véase P. Cerone: El melopeo y maestro. Tractado de música theorica y pratica, Iuan Bautista Gargano y Lucrecio Nucci,

impresores, Nápoles, 1613 (reimpresión anastática por la Biblioteca Musica Bononiensis, sezione II, n. 25, Bologna, Forni Editore, 1969, 2 Vols); o P. Nassarre: Escuela música según la práctica moderna, Zaragoza, 1723-24 (edición facsímil, Zaragoza, 1980). Los dos son tratados musicales de teóricos españoles del siglo XVII.

406 Joan Font i Romagosa: Sistema musical numérico: con método dodecasílabo de solfeo, Clivis, Barcelona, 1989. 407 Los eventos de mensajes Pitch Bend ya dan la posibilidad de cambiar la afinación de las notas, tal como hemos visto en la

implementación de este proyecto. 408 Identificación en el programa, véase el apartado IV.4.10).

Page 190: SpecMusic Libre

190

importante es una correspondencia correcta entre la dimensión de la escala usada para calcular la afinación de las notas y la dimensión de la escala usada para la representación de las notas en la partitura. Eso se extendería también para usar sistemas de afinación de más de 12 notas por octava que no se correspondan con ninguno de os anteriores (como puede ser el de Harry Partch, algunos de los sistemas microtonales o alguno de los sistemas antiguos de división múltiple de la octava).

Vemos que este sistema tiene relación con el propuesto por Joan Font i Romagosa y también tiene correspondencia con el sistema de representación de las gamas usado en etnomusicología.

1.4 Nota

Por último, debe indicarse que, en la redacción de este proyecto, se han indicado los nombres de las notas mediante el sistema habitual en España, eso sí, tomando la primera letra mayúscula para poder diferenciar las notas musicales de otras palabras como artículos, conjunciones, adjetivos, etc...

Page 191: SpecMusic Libre

191

2. SISTEMAS DE REPRESENTACIÓN DE LOS ÍNDICES ACÚSTICOS

Ilustración 36: Identificación de las octavas409.

1 2 3 4 5 6 7 8 9 10 11 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 DO0 DO1 DO2 DO3 DO4 DO5 DO6 DO7 DO8 DO9 DO10

C2 (2C) C1 (1C) C c (c0) c1 c2 c3 c4 c5 c6 c7 DO2 DO1 (DO) do (do0) do1 do2 do3 do4 do5 do6 do7 C2 C1 C c (c0) c’ c’’ c’’’ c’’’’ c’’’’’ c’’’’’’ c’’’’’’’ CCCC CCC CC C c’ c’’ c’’’ c’’’’ c’’’’’ c’’’’’’ c’’’’’’’ DO2 DO1 (DO) do (do0) do’ do’’ do’’’ do’’’’ do’’’’’ do’’’’’’ do’’’’’’’ C-2 (-1) C-1 (0) C1 C2 C3 C4 C5 C6 C7 C8 C9 C-2 C-1 C1 C2 C3 C4 C5 C6 C7 C8 C9

ut-2 (-1) ut-1 (0) ut1 ut2 ut3 ut4 ut5 ut6 ut7 ut8 ut9

UT-2 UT-1 UT1 UT2 UT3 UT4 UT5 UT6 UT7 UT8 UT9 do-2 (-1) do-1 (0) do1 do2 do3 do4 do5 do6 do7 do8 do9

DO-2 DO-1 DO1 DO2 DO3 DO4 DO5 DO6 DO7 DO8 DO9 32p 16p 8p 4p 2p 1p 1/2p 1/4p 1/8p 1/16p 1/32p 32 pies 16 pies 8 pies 4 pies 2 pies 1 pie 1/2 pie 1/4 pie 1/8 pie 1/16 pie 1/32 pie 32 pies 16 pies 8 pies 4 pies 2 pies 1 pie 6 pulgadas 3 pulgadas 1½ pulgada ¾ pulgada (3/8 pulgada)

de Sub-Contras de Contras Mayor Pequeña Segunda Tercera Cuarta Quinta Sexta Séptima (Octava) La tabla precedente resume los diferentes sistemas usados para la representación de los índices

acústicos de las notas musicales. El primer grupo corresponde a diversas variantes del sistema usado en USA e Inglaterra; el segundo corresponde al sistema usado en Alemania; el tercero corresponde al sistema usado en Francia y Bélgica, se le conoce como sistema franco-belga y es el más usado en España (en la variante con el nombre Do); y el último corresponde a diversas variantes para la identificación de las octavas en el órgano y que hace referencia a la longitud de sus tubos. En el sistema franco-belga, las tildes o comas pueden sustituirse por rayitas horizontales sobre las sílabas o letras de las notas.

En el proyecto he incluido la numeración correspondiente al sistema americano y al sistema franco-belga (la que no tiene el 0) aunque he escrito las letras en minúsculas y los números sin subíndices. En versiones posteriores podrían completarse los sistemas y respetar las letras mayúsculas de las nomenclaturas alfabéticas. Tales sistemas los he identificado como “USA” y “Francia-Bélgica”.

409 Modificación de la figura de la página 169 de Antonio Calvo-Manzano Ruiz: Acústica físico-musical, Real Musical, Madrid,

1991.

Page 192: SpecMusic Libre

192

3. AFINACIÓN DEL La NORMAL410

El La 3 (según el sistema franco-belga de representación de los índices acústicos) o La normal es la nota que contiene el diapasón, un pequeño instrumento que produce un tono puro que se toma cono punto de referencia para la entonación del resto de notas, sirviendo de patrón en la afinación de los instrumentos y aceptado mundialmente. Desde hace unos 200 años se ha intentado fijar un criterio unánime para su afinación pero no han faltado las discrepancias. Su valor ha variado según los lugares y a lo largo de la historia desde su invención. Antes de esto, la frecuencia del las notas de la escala no estaban afinadas de forma absoluta y se tomaba una referencia aproximada. Eso sí, una vez afinado el órgano o, en general, el instrumento de teclado, éste se tomaba como referencia. La frecuencia del La 3 en los órganos antiguos se encontraba entre 374 Hz en Francia y 567 Hz en Alemania, cabiendo todas las posibilidades intermedias. Incluso, ya en el siglo XVII, el desorden era tal que se afinaba a distinta altura según se tratara de música sagrada o de música profana.

El primer diapasón se empleó en la ópera de París en 1699 y su frecuencia, según Sauveur, era de 404 Hz (alrededor de un semitono más bajo). A partir de aquí, ha habido una tendencia generalizada a elevarlo, ya G. F. Haendel, utilizó un diapasón de horquilla cuya frecuencia era de 422.5 Hz, casi un semitono más bajo que el actual, y que más o menos sirvió para la afinación de las obras de J. Haydn, J. S. Bach y L. von Beethoven.

Al margen de todas estas discrepancias en la afinación utilizada hasta el siglo XVIII, algunos teóricos van tomando conciencia de las dificultades creadas por esta situación y proponen soluciones que no serán aceptadas por los músicos antes del comienzo del siglo XIX.

Será Mersenne (en su libro “De los Movimientos y del sonido de las cuerdas”) el primer teórico que plantea el problema proponiendo que se indique cuál debe ser la frecuencia de la primera nota de una de las partes. Sin embargo, no parece que su propuesta tenga mucho éxito entre los músicos de la época aunque en su misma obra hace referencia al tono de capilla como algo fijo. Efectivamente, parece que, localmente y en un período determinado, en el siglo XVIII y ya en el XVII, el tono de capilla había jugado ya ese papel normalizador que Mersenne le da.

La tendencia generalizada a elevar el diapasón continuó durante el siglo XIX debido probablemente al mayor uso de los instrumentos de viento los cuales aumentaban su brillo al subir la frecuencia.

En realidad, la verdadera toma de conciencia del problema y la primera medida de normalización datan de principios del siglo XIX. En 1812, Sarette, Director del Conservatorio de París, fija el diapasón de estudios del Conservatorio. En 1827, Fetis pide un diapasón europeo: “Se ha manifestado a menudo el deseo de que existiese un solo diapasón para toda Europa y, en efecto, sería necesario para que la música conserve el carácter que cada compositor ha querido imprimir a sus obras”. Igualmente, el primer Congreso Internacional de Físicos que se reúne en 1834 en Stuttgart, adopta la frecuencia de 440 Hz.

Distintos países van tomando conciencia del problema de la afinación y, para intentar terminar con las diferencias de criterio, el Gobierno francés dispone en 1858 un decreto fijando el diapasón en Francia en 435 Hz. Para ello se establece una Comisión internacional reunida en la Academia de Ciencia de París. El diapasón patrón de horquilla depositado en el Conservatorio de París daba 435 Hz a 15 grados centígrados y no se podían vender en el comercio más que diapasones de horquilla verificados con el diapasón patrón y marcados después de su control con un sello oval de 2 mm de ancho por 2,5 mm de alto, representando a una lira con dos letras, D y N (diapasón normal). Este valor fue adoptado en casi toda Europa y reinó desde entonces en la mayoría de teatros líricos y grandes orquestas. Igualmente, el Congreso Internacional de Viena en 1885 adopta la frecuencia de dicho diapasón.

Pero los partidarios de un diapasón más elevado no desaparecieron. Más tarde, se fijó otro de 438.9 Hz en Inglaterra y otro de 440 Hz en América. En 1889 los constructores de pianos europeos y americanos convinieron en adoptar otro diapasón de 439 Hz.

En este momento existen dos tendencias generalizadas correspondientes al La de 435 Hz adaptado en Europa y otra correspondiente al de 440 Hz usado en América. Se conocen respectivamente como diapasón europeo y americano.

Una nueva conferencia internacional se reúne en Londres en 1939 y, aunque las circunstancias hacen que sus conclusiones sean un poco ignoradas, se fija la frecuencia patrón de 440 Hz correspondiente al diapasón americano, llamado también La brillante o La de concierto.

Éste es el diapasón que se ha generalizado actualmente en todo el mundo. La norma actual en vigor ha sido definida por la International Standard Organisation (ISO) y su redacción es como sigue:

410 Antonio Calvo-Manzano Ruiz: “Afinación del “LA” patrón”, Acústica físico-musical, Real Musical, Madrid, 1991, capítulo

13, pp. 169-171; Jaime Piles Estellés: “El diapasón”, Intervalos y gamas, Instituto Valenciano de Musicología de la Institución Alfonso el Magnánimo, Ed. Piles, Valencia 1982, capítulo 6, pp. 64-66; Joaquín Zamacois: “Diapasón”, Teoría de la música, Vol. II, capítulo VII, §162, p. 129.

Page 193: SpecMusic Libre

193

“La frecuencia de afinación normal es la frecuencia de la nota La 3 (actualmente La 4) y está fijada en 440 Hz.”

Pero el problema subsiste y las discrepancias no han desaparecido totalmente. Entre otras cosas, estas subidas han afectado a los cantantes y a los viejos instrumentos de banda los cuales presentan un timbre estridente. Aún después de 1939, son numerosas las reuniones, congresos y simposios donde el problema se sigue debatiendo.

En España, la desaparecida Comisaría General de la Música de la Dirección General de Bellas artes, conjuntamente con el Consejo de Europa y en colaboración con la Dirección General de Relaciones Culturales del Ministerio de Asuntos Exteriores, organizó, con motivo de la II Decena Musical de Toledo, 1970, la III Reunión Internacional del Diapasón. Previamente el Consejo de Europa elaboró y envió una Recomendación al Comité de Ministros Europeos y a cada uno de los estados miembros del Consejo de Europa. Fruto de tal Reunión fue la publicación, dentro de la colección de Cuadernos de Actualidad Artística, Problemas Actuales de la Educación Musical en España, del libro “La Normalización del Diapasón” en el que se recogen las conclusiones de la reunión, además de una completísima recopilación histórica sobre el tema.

Mucho más reciente es el proyecto de ley de 1983 en Italia para afinar orquestas. Una nota de prensa del día 17 de abril de aquel año decía lo siguiente: “Una docena de diputados, pertenecientes a nueve partidos italianos presentaron ayer un proyecto de ley para normalizar la entonación de todos los instrumentos musicales. Los parlamentarios, indignados por la engañosa búsqueda de brillantez que está pulverizando las gargantas de los mejores cantantes, proponen se disminuya a 440 Hz, la frecuencia del La del diapasón utilizado para afinar orquestas. La frecuencia actual, calculada en unos 450 Hz, no sólo atrofia ilustres cuerdas vocales, sino que deforma la originalidad de las obras. Se recuerda como María Callas, Mario del Mónaco o Renata Tevaldi exigían en sus contratos que las orquestas respetaran el nivel justo de afinación.”

Por otro lado, los actuales criterios históricos para la interpretación de la música antigua (entendida como la música anterior al clasicismo) han llevado a fijar un diapasón más grave para su interpretación, teniendo en cuenta la tendencia generalizada que ha existido. Así, pues, para la interpretación de música antigua se suele tomar un La 3 de 415 Hz.

Page 194: SpecMusic Libre

194

4. DEFINICIÓN DE LOS SISTEMAS DE AFINACIÓN411

4.1 Los intervalos y el sistema de quintas

Aprovechando la estructura de nuestro sistema musical, utilizaremos el sistema de quintas para calcular las razones de cualquier intervalo. El método será el siguiente: si consideramos que un intervalo se compone de n quintas, sumaremos n intervalos de quinta y restaremos las octavas que la anterior suma haya sobrepasado de cara a situar el intervalo dentro de una única octava tal como se ha definido en el apartado correspondiente. Identificaremos tal número de octavas como m.

Según las definiciones de las operaciones con intervalos expuestas en el mismo apartado, el cálculo a realizar consistirá en multiplicar n veces la razón del intervalo de quinta y dividir m veces la del intervalo de octava. Eso es:

Donde q es el intervalo correspondiente a la quinta y p el correspondiente a la octava. El intervalo q será diferente en cada afinación y temperamento pero el de octava será siempre 2. Hay que tener en cuenta que esta operación es válida para las escalas con tradición en la música occidental y que será diferente en las afinaciones de escalas de otras culturas e incluso debería cuestionarse su validez en ciertas versiones de la justa entonación que consiguen más de 12 notas por octava. De entrada, ciertos algoritmos que pretenden conseguir la afinación justa, entre ellos, el algoritmo adaptativo de W. A Sethares ya no se basan en la operación anterior.

Tras el anterior cálculo, podrán realizarse posteriormente operaciones de reducción y ampliación como se definió para obtener intervalos y notas octavas diferentes. No obstante, el intervalo en si, tal como se definió, queda definido con una única variable correspondiente al número de quintas de que consta en el sistema de quintas. Ya en tal sistema, los intervalos tienen una definición similar. En este caso:

El número de octavas m queda determinado por la misma operación de suma de quintas y puede calcularse de la siguiente manera:

Resultando el cálculo completo:

En principio, haremos los cálculos para 7 y 12 notas según los casos aunque veremos ejemplos de afinaciones que constan de más de 12 notas aunque no necesariamente implicarán considerar valores de n mayores o menores de los habituales.

A parte de este cálculo, debe considerarse que existirá una quinta que será la que cierre el círculo

y su valor es el correspondiente a la inversión de , siendo N en número de notas de la escala

(normalmente 7 o 12).

411 La principal referencia para este apéndice es J. Javier Goldáraz Gainza: Afinación y temperamento en la música occidental,

Alianza Música, Madrid, 1992. Véanse más referencias en el apartado 5 de la bibliografía. Para una representación gráfica de los diferentes sistemas de afinación descritos o para ampliar información acerca de otros aspectos relacionados, véase esta misma referencia y P. Y. Asselin: Musique et temperament, Ed. Costallat. 1985. Además, en el apéndice 5, se encuentra una tabla resumen de los intervalos de las principales afinaciones expuestas. Igualmente, para una exposición más matemática y generalizada, véase el apartado II.3.9 de este trabajo y las referencias a las que allí se apunta. No obstante, en este apéndice, únicamente trataré de las escalas con tradición dentro de la música occidental. En el apéndice 10 expondré algunos casos concretos para la afinación del gamelan en la música de Java (Indonesia). Para el resto de escalas étnicas así como para otras occidentales que puedan considerarse como variaciones de las aquí expuestas o, incluso, otras que no figuren en este apéndice por la razón que sea, deberá consultarse bibliografía adicional.

Page 195: SpecMusic Libre

195

4.2 La escala pitagórica

Aunque la figura de Pitágoras (siglo VI a. C.) está envuelta en leyendas, se le atribuyen una serie de descubrimientos matemáticos-musicales que constituyen el inicio de la ciencia armónica. Según nos cuenta Boecio412, Pitágoras, por un designio divino, pasó delante de una herrería y al oír los diferentes sonidos producidos por los martillos de los herreros, apreció que tales sonidos eran consonantes. Vuelto a casa hizo una serie de experimentos con diferentes pesos atados a las cuerdas, con flautas, vasos de agua, etc., para comprobar matemáticamente las relaciones numéricas de las consonancias escuchadas y en todos los casos llegó a las mismas conclusiones.

Aunque tales experimentos no pueden arrojar las conclusiones a las que, según la leyenda, llegó, éstas pueden ejemplificarse en el monocordio. Este es un instrumento musical compuesto de una cuerda sonora y un kanon o regla numerada con la que determinar las relaciones numéricas entre los diversos fragmentos de la cuerda sonora. Arístides Quintiliano413 nos dice que Pitágoras, al morir, recomendaba encarecidamente a sus discípulos el uso del monocordio al no fiarse de la apreciación sensorial sino únicamente de la intelectual.

Si tomamos una cuerda y, manteniendo constante su tensión, hacemos sonar toda la cuerda y su mitad, el intervalo entre los dos sonidos corresponde al de razón 2/1414 (la octava); dividida la cuerda en tres partes iguales y haciendo sonar dos, el intervalo formado es el de razón 3/2 (quinta); dividida la cuerda en cuatro partes iguales y haciendo sonar tres el intervalo formado es el de razón 4/3 (cuarta). Éstas son las consonancias descubiertas y consideradas por los pitagóricos.

Para los pitagóricos, los números descubiertos en las razones de las consonancias pertenecen a la “tetractys de la década” donde la suma de los cuatro primeros números es diez: 1 + 2 + 3 + 4 = 10. Tal concepto constituía el recinto sagrado de la especulación místico-numérica pitagórica. Haciendo todas las combinaciones entre ellos, las consonancias resultantes son:

2/1 Octava o diapason 3/2 Quinta o diapente 4/3 Cuarta o diatessaron 3/1 Octava más quinta o diapason-diapente 4/1 Doble octava, bidiapason o disdiapason Es de destacar la ausencia de la octava más cuarta puesto que uno de los términos de su razón

(8/3), el 8, cae fuera de la tetractys. Sin embargo, sería admitida posteriormente por Ptolomeo415. Unido al tratamiento matemático de la música, los pitagóricos desarrollaron la teoría de las

medias proporcionales para obtener intervalos consonantes. De estas medias, las más importantes son la aritmética, la geométrica y la armónica. Si aplicamos estos cálculos a los intervalos, podemos dividirlos en dos partes más pequeñas de tal manera que, para cada tipo de media, tenemos lo siguiente:

• La media aritmética coloca el intervalo menor en la parte grave y el mayor en la parte aguda.

• La media aritmética coloca el intervalo mayor en la parte grave y el menor en la parte aguda.

• La media geométrica divide el intervalo en dos partes iguales. Los pitagóricos aplicaron las medias aritmética y armónica al intervalo de octava. La media

geométrica la consideraban impracticable al resultar razones numéricas irracionales las cuales no eran aceptadas en la teoría musical. Por lo tanto, ninguna consonancia puede dividirse en partes iguales (esta propiedad ya fue observada por Euclides416.

Los resultados de aplicar las medias aritmética y armónica al intervalo de octava son: • La media armónica divide la octava en dos consonancias de razones 3/2 y 4/3,

correspondientes respectivamente a la quinta y cuarta. • Análogamente, con la media aritmética obtenemos los mismos intervalos en orden inverso

(cuarta y quinta). Tal procedimiento divide la octava en los siguientes intervalos: 1, 4/3, 3/2 y 2/1 (unísono, cuarta,

quinta y octava respectivamente). En esta división encontramos otro intervalo 9/8 (tono) que equivale a la diferencia de la quinta y la cuarta y que ya no es considerada como consonancia al encontrarse fuera de la “tetractys de la década”.

412 A. M. Severino Boecio: De Institutione Musica I, 10-11. Ed. Godofredus Friedlein, Leipzig, 1867. 413 Arístides Quintiliano: De Musica III, 2. 414 Recuérdese que las razones de los intervalos expresan relaciones de frecuencia las cuales corresponden a la inversión de las

razones de longitud de onda. Evidentemente, las razones entre longitudes de onda son iguales a las razones correspondientes entre longitudes de los fragmentos de la cuerda.

415 Ptolomeo: Armónica II, 4. 416 Euclides: Sección de canon (c. 300 a. C.).

Page 196: SpecMusic Libre

196

Al parecer, los primitivos pitagóricos no fueron más allá en la división de la octava. Debemos a Platón417 la primera descripción de la división tetracordal. Aunque inmersa en una compleja intuición cosmológica, el resultado final es simple: tomando el tono (9/8) como unidad de medida, cada cuarta puede dividirse en dos tonos y una limma o residuo de razón 256/243, la diferencia entre la cuarta y los dos tonos. Esta división platónica de la octava, la “escala del Timeo”, conocida quizá por Filolao y Arquitas, es llamada “de Eratóstenes” por Ptolomeo y habitualmente se la conoce como “afinación pitagórica” de la escala diatónica. Su disposición es la siguiente:

Do-Re Re-Mi Mi-Fa Fa-Sol Sol-La La-Si Si-Do 9/8 9/8 256/243 9/8 9/8 9/8 256/243 tono tono limma tono tono tono limma

Ahora podemos asociar cada razón geométrica a un intervalo contando el número de notas que lo

componen. Así pues, obtenemos las siguientes relaciones numéricas para cada intervalo de la escala: • Semitono diatónico, segunda menor o limma: 256/243 • Segunda mayor o tono: 9/8 • Tercera mayor pitagórica o ditono: 81/64 • Cuarta o diatessaron: 4/3 • Quinta o diapente: 3/2 • Octava o diapasón: 2/1 • Octava más quinta o diapason-diapente: 3/1 • Doble octava, bidiapason o disdiapason: 4/1

Do-Do Do-Re Do-Mi Do-Fa Do-Sol Do-La Do-Si Do-Do 1/1 9/8 81/64 4/3 3/2 27/16 243/128 2/1

Posteriormente, con la aparición de alteraciones en la Edad Media y, en concreto, en la musica

ficta, la definición de la escala cromática se extendió al género cromático considerando el anterior como diatónico418. El procedimiento consiste en dividir cada tono en un semitono diatónico y otro cromático. Entonces, tomaremos como razón del semitono diatónico la que se ha dado para Mi-Fa y Si-Do, y para el semitono cromático la diferencia entre el tono y el semitono diatópico, o sea, 2187/2048.

De esta manera, podemos obtener diferentes variantes de la escala pitagórica o, de forma equivalente, una división de la octava en 19 notas. No obstante, tomando las alteraciones típicas de la Edad Media, obtenemos los siguientes resultados:

Escala pitagórica Do – Do 1/1 Do – Do # 2187/2048 Do – Do # 2187/2048 Do # – Re 256/243 Do – Re 9/8 Re – Mi b 256/243 Do – Mi b 32/27 Mi b – Mi 2187/2048 Do – Mi 81/64 Mi – Fa 256/243 Do – Fa 4/3 Fa – Fa # 2187/2048 Do – Fa # 729/512 Fa # – Sol 256/243 Do – Sol 3/2 Sol – Sol # 2187/2048 Do – Sol # 6561/4096 Sol # – La 256/243 Do – La 27/16 La – Si b 256/243 Do – Si b 16/9 Si b – Si 2187/2048 Do – Si 243/128 Si – Do 256/243 Do – Do 2/1

417 Platón: Timeo, 34b-36b. 418 La extensión al género cromático ya tiene sus antecedentes en la misma Grecia y, de hecho, también existía entonces el

género enarmónico cuyo calificativo no tiene nada que ver con el concepto de enarmonía actual aunque puedan darse ciertas relaciones semánticas y conceptuales. Igualmente, en la época griega se conocían más afinaciones de la escala las cuales incluían variedades en los tres géneros existentes (diatónico, cromático y enarmónico). No obstante, su explicación es bastante incierta debido a la poca información y documentación de que disponemos.

Para una exposición de las diferentes divisiones tetracordales griegas con los valores de sus intervalos véase la tabla dada en J. Javier Goldáraz Gaínza: “Grecia. La afinación pitagórica”, Afinación y temperamento en la música occidental, Alianza Música, Madrid, 1992, capítulo 1, p. 24. Igualmente, tal tabla se basa en Ptolomeo: Armónica II, 14.

Page 197: SpecMusic Libre

197

Si extendemos el procedimiento a una escala de 19 notas donde obtenemos todas las notas alteradas, la constitución de la escala pitagórica quedará como sigue:

Escala pitagórica Do – Do 1/1 Do – Re b 256/243 Do – Reb 256/243 Re b – Do # 531441/524288 Do – Do # 2187/2048 Do # – Re 256/243 Do – Re 9/8 Re – Mi b 256/243 Do – Mi b 32/27 Mi b – Re # 531441/524288 Do – Re # 19683/16384 Re # – Mi 256/243 Do – Mi 81/64 Mi – Fa 256/243 Do – Fa 4/3 Fa – Sol b 256/243 Do – Sol b 1024/729 Sol b – Fa # 531441/524288 Do – Fa # 729/512 Fa # – Sol 256/243 Do – Sol 3/2 Sol – La b 256/243 Do – La b 128/81 La b – Sol # 531441/524288 Do – Sol # 6561/4096 Sol # – La 256/243 Do – La 27/16 La – Si b 256/243 Do – Si b 16/9 Si b – La # 531441/524288 Do – La # 59049/32768 La # – Si 256/243 Do – Si 243/128 Si – Do 256/243 Do – Do 2/1

De estos resultados se deduce que los sonidos llamados actualmente “enarmónicos” no coinciden

nunca, la diferencia entre ellos es de una comma pitagórica, siempre mayores los sostenidos que los bemoles419. Su valor puede calcularse como la diferencia entre el semitono diatónico y el cromático resultando la siguiente relación numérica: 531441/524288.

No parece que en la música griega este hecho fuese problemático a efectos prácticos, pero llegó a serlo al aumentar el número de alteraciones a finales de la Edad Media.

En este momento tenemos los siguientes tipos de intervalos: • Comma pitagórica: 531441/524288 • Semitono diatónico, segunda menor o limma: 256/243 • Semitono cromático, segunda menor o apotomé: 2187/2048 • Segunda mayor o tono: 9/8 • Tercera menor pitagórica o semiditono: 32/27 • Tercera mayor pitagórica o ditono: 81/64 • Cuarta o diatessaron: 4/3 • Quinta o diapente: 3/2 • Octava o diapasón: 2/1 • Octava más quinta o diapason-diapente: 3/1 • Doble octava, bidiapason o disdiapason: 4/1 A partir de estos resultados podemos hacer las siguientes observaciones: • Que las notas con sostenido son más agudas que las correspondientes enarmónicas con

bemol, por ejemplo, el Do # es más alto que el Re b. • La diferencia entre las notas enarmónicas es de una comma pitagórica. • Cada nota diatónica tiene más cerca el semitono diatónico que el cromático, al ser el limma

menor que el apotomé. • El semitono menor es el semitono diatónico y corresponde al limma. El semitono mayor es

el semitono cromático y corresponde al apotomé.

4.2.1 Sistematización de la escala pitagórica

Puede demostrarse que los intervalos de la escala pitagórica pueden obtenerse en su integridad mediante una fórmula matemática constituyéndose un sistema cíclico que se corresponde completamente con el sistema de quintas. De esta manera, la escala pitagórica se basa únicamente en las dos primeras consonancias (la octava de razón 2/1 y la quinta de razón 3/2) y todos los intervalos se construyen a partir de estos dos primarios:

419 Ello es equivalente a decir que las notas enarmónicas tienen razón diferente de 1, es decir, diferente frecuencia por lo que, en

realidad, no lo son.

Page 198: SpecMusic Libre

198

Sin embargo, matemáticamente puede demostrarse que los intervalos básicos de octava y quinta son inconmensurables entre sí. Eso es, no existe ningún número de quintas que iguale a ningún otro número de octavas420. Si recorremos el círculo completo de quintas, o sea, si calculamos la razón de un intervalo de 12 quintas equivalente a dos sonidos enarmónicos, el intervalo obtenido no es la unidad sino un excedente que se corresponde con el valor de la comma pitagórica calculada en el apartado anterior.

Entonces, si se desea cerrar la espiral de quintas para que formen un circulo y acomodar así el número de notas a la práctica musical, es preciso que una de las quintas no tenga la proporción justa de 3/2 sino que sea 1 comma menor. Tal quinta, llamada “del lobo” por los “aullidos” que produce cuando suenan sus dos notas simultáneamente, se pone entre notas poco usuales: Sol # - Mi b, en otros casos Re # - La b. Por la notación se ve que tal quinta “une” sostenidos con bemoles. La quinta del lobo es musicalmente impracticable. El hecho de que el círculo “no se cierre” entre Sol # y Mi b hace que no pueda atravesarse tal quinta falsa, y que los intervalos que la atraviesan en su formación sean diferentes al resto, construidos con quintas justas.

4.2.2 Valoración de la afinación pitagórica421

Escala pitagórica Quintas justas o diapente 11 3/2 1.5 701.95 0 Quintas falsas o “quinta del lobo” 1 262144/177147 1.4798 678.49 -23.45 Terceras mayores o ditono 8 81/64 1.2656 407.82 +21.5 Terceras mayores falsas 4 8192/6561 1.2486 384.36 -1.96 Terceras menores o semiditono 8 32/27 1.1852 294.13 -21.49 Terceras menores falsas 4 19683/16384 1.2013 317.59 +1.96 Segunda mayor o tono 9/8 1.125 203.91 Semitono diatónico o limma 256/243 1.0535 90.22 Semitono cromático o apotomé 2187/2048 1.0679 113.68 Comma pitagórica 531441/524288 1.0136 23.46422

En comparación a la afinación de intervalos puros o justos, la afinación pitagórica presenta

quintas y cuartas justas pero terceras y sextas muy desviadas. Hay un único tipo de tono (9/8), y los semitonos, además de estar “invertidos”, presentan una gran desviación. Se acerca mucho más al temperamento igual en el que las quintas son casi puras, las terceras mayores muy grandes y los semitonos iguales.

De la tabla anterior se deduce que las terceras mayores y menores tienen la misma desviación respecto de las justas, pero en sentido contrario. Es además notorio el hecho de que aquellas terceras que absorben la quinta falsa son casi justas. Este hecho será explotado musicalmente por algunos teóricos de los siglos XIV y XV.

La afinación pitagórica estuvo en boga hasta el Renacimiento cuando el sistema de composición pasó a basarse en las hoy llamadas consonancias imperfectas. Era muy adecuada para la música monódica y diatónica típica de la llamada monodia medieval (canto llano y monodia profana). Deja de ser buena en el momento en que han de utilizarse intervalos falsos dentro de una música más cromática.

La principal virtud de la afinación pitagórica son sus quintas justas. Debido a ello, la afinación pitagórica se siguió aceptando en teoría incluso cuando en la práctica se usase otra afinación diferente. Partidarios de ésta eran todavía Gaffurio en el siglo XVI y Robert Fludd en el XVII. Tal atractivo hizo que se ensayasen numerosas variantes como las de Grammateus, Bermudo, Agrícola o Dowland en el siglo XVI. En la segunda mitad del siglo XVII el obispo Caramuel decía que muchos contemporáneos suyos seguían todavía los pasos de Pitágoras. También en los siglos XVIII y XIX tuvo defensores, debido probablemente a la afinación de los violines y a que el sistema armónico occidental, de Rameau en adelante, está basado en la progresión por cuartas de las fundamentales de los acordes.

Igualmente, su simplicidad será una razón para ser considerada a favor de otras posteriores por algunos teóricos.

420 Tal incompatibilidad entre las consonancias ya era conocida por Arquitas y Euclides. 421 Los valores de la tabla reflejan se refieren respectivamente al número de intervalos existentes de cada tipo, su razón

numérica, su distancia expresada en cents y su desviación respecto de la justa entonación también expresada en cents. 422 Para los cálculos de los temperamentos, este valor se aproxima a 24 debido a su mayor divisibilidad respecto de 23, el

número entero más cercano.

Page 199: SpecMusic Libre

199

4.3 La justa entonación

Como justa entonación se entiende cualquier afinación que intente igualar las razones de los intervalos de quinta y tercera (y, por supuesto los de octava) a los valores justos de las tres consonancias. Éstas son:

• Octava: 2/1 • Quinta: 3/2 • Cuarta: 4/3 • Tercera mayor: 5/4 • Tercera menor: 6/5

Evidentemente, la justificación de estos intervalos está en su relación con el espectro armónico, tema principal de estudio a lo largo de este proyecto. No obstante, en la época de auge de la justa entonación no se conocían los armónicos o concomitantes y su justificación puede realizarse a través de procedimientos que resulten análogos. Por ejemplo, los dos procedimientos seguidos por los pitagóricos (el de las medias proporcionales y el de la división del monocordio) pueden demostrar esas relaciones numéricas:

1) Si dividimos la cuerda en 5 partes y hacemos sonar 4 obtenemos el intervalo de razón 5/4 (tercera mayor) y si dividimos la cuerda en 6 partes y hacemos sonar 5, obtenemos el intervalo de razón 6/5 (tercera menor). Tales intervalos resultan aún consonantes al oído.

2) Aplicando la media armónica y aritmética al intervalo de quinta se obtienen los de tercera mayor y menor (la aritmética da el intervalos mayor en el grave y la armónica al revés).

Por otro lado, los intervalos de sexta son intervalos complementarios de las terceras y pueden obtenerse a partir de aquéllas mediante operaciones de inversión.

El proceso puede continuar aplicando las medias armónica y aritmética a los intervalos de tercera. De hecho, en algunas de las divisiones tetracordales griegas recogidas por Ptolomeo (incluyendo algunas de las suyas propias)423 contiene los intervalos que responden a dichos cálculos para la tercera mayor: 9/8 y 10/9. Estos intervalos, como veremos seguidamente, corresponden a los tonos mayor y menor respectivamente.

Cuando en el Renacimiento se conocen estas divisiones tetracordales griegas, se ve que muchos de los intervalos se corresponden con los dela justa entonación, incluyendo los tonos mayores y menores. No obstante, en ningún tratado son considerados como consonancias a estos intervalos, al igual que sucede hoy en día. De hecho, el proceso de obtención de consonancias mediante el método de las medias proporcionales finaliza en las terceras, aunque pueda continuarse con otros objetivos.

En esta época, las terceras constituyeron nuevas consonancias. Entonces, estos intervalos, que sustituyeron a los antiguos ditono y semiditono, llevaron a G. Zarlino424 a proponer que las consonancias son seis y aparecen en los seis primeros números, el senario. El número seis es el primer número “perfecto”, en el que la suma de sus divisiones es igual a su producto: 1 + 2 + 3 = 1 * 2 * 3 = 6. El 6 es, además, un número “circular”; las sucesivas multiplicaciones por 6 siempre dan números terminados en él: 6 * 6 = 36, 36 * 6 = 216, etc. Zarlino, muy influido por el neoplatonismo florentino, veía la esencia numérica inmersa en todas las cosas por lo que el senario constituye un símbolo que puede explicar muchas leyes naturales. De hecho, no deja de ser un sustitutivo de la tetractys pitagórica en el que poder introducir las nuevas consonancias.

Pero inmediatamente aparece un problema: una de las consonancias, la sexta menor (8/5) tiene uno de sus términos, el 8, que no entra en el senario. ¿Por qué no proponer el ottonario como recinto de las consonancias? Evidentemente, porque habría que dar cabida al número 7 y los intervalos compuestos con este número son disonancias. Zarlino acudirá a la distinción aristotélica de “potencia” y “acto” para decir que la sexta menor se encuentra en el senario en potencia, aunque no en acto, lo cual, naturalmente, no soluciona nada. Más tarde, G. Zarlino425 se enfrenta de nuevo al problema considerando las potencialidades del ottonario, el primer número cúbico, y distinguiendo entre consonanza propriamente

detta (las pertenecientes al senario) y consonanza comunemente detta (la sexta menor).

423 Ptolomeo: Armónica, II, 14. Esta tabla de divisiones tetracordales griegas puede verse en J. Javier Goldáraz Gainza: “Grecia.

La afinación pitagórica”, Afinación y temperamento en la música occidental, Alianza Música, Madrid, 1992, capítulo 1, p. 24. Las divisiones tetracordales llegaron a la época moderna a través de Boecio. Véase A. M. Severino Boecio: De Institutione Musica I, 10-11. Ed. Godofredus Friedlein, Leipzig, 1867.

424 Gioseffo Zarlino: Institutione harmoniche, Venecia, 1558, cc. 13-14-15. 425 Gioseffo Zarlino: Dimostratione harmonique, Venecia, 1571, Rag. II, def. i, ii.

Page 200: SpecMusic Libre

200

También otros teóricos se hacen eco del problema. Francisco Salinas426, por ejemplo, dirá que, al ser las sextas intervalos complementarios de las terceras pueden reducirse a éstas, que sí pertenecen al senario. Pero en vez de incidir en las virtudes del senario, como hace Zarlino, Salinas arguye que es el número 7 el que marca el límite numérico a las razones de las consonancias. En parecidos términos se expresa J. Kepler427, quien recurrirá a la geometría y a las características del heptágono para invalidar el número siete como generador de consonancias.

4.3.1 Sistematización

El principio general de este sistema de afinación consiste en acortar algunas de las quintas de tal manera que las terceras sean justas. Dentro de este procedimiento pueden tomarse diversas opciones, de hecho, múltiples de ellas existen expuestas en diversos tratados teóricos especialmente a lo largo del siglo XVI, época de apogeo de este tipo de afinación. Tal hecho coincide con la nueva apreciación de las terceras como consonancias y el cambio de estilo compositivo que se basaba en las consonancias perfectas en la Edad Media y pasa a basarse en las imperfectas a partir del Renacimiento.

No obstante, ante esta tentativa, nos encontramos con un problema añadido respecto de lo que nos encontrábamos en la afinación pitagórica. Al problema de incompatibilidad entre quintas y octavas se le añade otro análogo referente a la incompatibilidad entre las quintas y terceras, así como el de las terceras con las octavas (aunque este último no ha sido problema hasta el siglo XIX). Ante este problema deben de plantearse diferentes soluciones dependiendo de múltiples factores.

La reducción de la quinta ha de ser tal que las cuatro quintas igualen a la tercera mayor, eso es:

de donde resulta , excedente llamado comma sintónica.

Igualmente, igualando tres quintas a la tercera menor ha de reducirse una de ellas en la misma comma sintónica, eso es:

de donde resulta igualmente .

El cálculo de cualquier intervalo en la escala física se realiza de la siguiente manera:

donde ξ es el valor de la comma sintónica, o sea 81/80 y n’ el número de quintas sintónicas que atraviesa el intervalo a calcular.

A todo esto hay que considerar igualmente que el círculo de quintas debe cerrarse en algún punto mediante la “quinta del lobo” obteniéndose otro excedente llamado diesis, el cual es equivalente a la comma pitagórica. Además, los intervalos que atraviesen en su formación esa quinta falsa, también serán considerados falsos e igualmente disonantes.

Esta situación refleja una dificultad que se traduce en que las escalas se forman mediante un número considerable de intervalos diferentes que atraviesan diferentes tipos de quintas y, a la larga, pocos de los intervalos serán practicables –tanto quintas como terceras-. Es entonces cuando se idearán diversas afinaciones con sus correspondientes sistemas experimentales de puesta en práctica que consistirán en añadir más notas a la escala de tal manera que puedan obtenerse más intervalos justos escogiendo una tecla u otra en función del contexto. Se crean así divisiones múltiples de la octava ya no sólo extendiendo el círculo de quintas para ajustar las quintas, sino añadiendo notas del mismo nombre para ajustar las terceras.

4.3.2 Escala física de Ptolomeo

Aunque fue en el Renacimiento cuando hubo necesidad de ajustar los intervalos de tercera, hemos visto que en la época clásica griega ya hubieron antecedentes del procedimiento. Expondré aquí la escala de Dídimo y una de las de Ptolomeo (la correspondiente al tetracordo syntonon o intenso) ya que son las que se corresponden de forma directa con algunas de las escalas físicas de la época del Renacimiento. Explicaré también su adaptación teniendo en cuenta que el sistema musical griego era bastante diferente del nuestro428. También es necesario considerar que los principios que regían estas

426 Francisco Salinas: Siete libros sobre la música, Ed. Alpuerto, Madrid, 1983. Edición a cargo de Ismael Fernández de la

Cuesta basada en la edición anastática de M. Santiago Kastner. Edición original: De musica libri septem, Salamanca, 1577. 427 J. Kepler: Harmonices Mundi, 1619. 428 Para más detalles sobre el sistema musical griego véase Gustave Reese: “Grecia y Roma”, La música en la Edad Media,

Alianza Música, Madrid, 1988, capítulo 2, 31-79. Igualmente, en J. Javier Goldáraz Gaínza: “Grecia. La escala pitagórica”, Afinación y temperamento en la música occidental, Alianza Música, Madrid, 1992, capítulo 1, pp. 15-16, existe una introducción sobre el tema.

Page 201: SpecMusic Libre

201

afinaciones son inciertos hoy en día y que su extensión al género cromático requiere de otras consideraciones en las que ahora no entraré. Es por ello que expondré únicamente el género diatónico que es el que tiene correspondencia con nuestro sistema actual.

La división tetracordal de Ptolomeo en el género diatónico es la siguiente:

La Sol Fa Mi 10/9 9/8 16/15

Puede verse que Ptolomeo presenta la división armónica de la tercera mayor justa en la que el

tono mayor se encuentra en la parte grave. Si aplicamos esta división tetracordal a nuestro sistema actual hemos de asociar estos intervalos

a los de los tetracordos de la escala actual que tengan la misma estructura de tonos y semitonos429. Por tanto, pondremos las mismas relaciones numéricas a los intervalos de los tetracordos Mi-Fa-Sol-La y Si-Do-Re-Mi. El intervalo La-Si queda fuera de los dos tetracordos pero su valor puede reducirse restando de la octava el resto de intervalos considerados. Si tenemos en cuenta que la octava tiene relación numérica 2/1, el intervalo La-Si tiene relación numérica 9/8. Entonces, la escala de Ptolomeo correspondiente en nuestro sistema actual es la siguiente:

Do Re Mi Fa Sol La Si Do 9/8 10/9 16/15 9/8 10/9 9/8 16/15

Como novedad respecto de la escala pitagórica vemos que tenemos dos tipos de tonos (9/8 y

10/9) que se conocen con los calificativos de tono grande y tono pequeño respectivamente. Tal diferencia aparecerá en todos los sistemas relacionados con la justa entonación.

4.3.3 Escala física de Dídimo

Podemos aplicar el mismo procedimiento anterior pero partiendo de la división tetracordal de Dídimo en el género diatónico:

La Sol Fa Mi 9/8 10/9 16/15

Puede verse que Dídimo, al contrario que Ptolomeo, presenta la división aritmética de la tercera

mayor justa en la que el tono menor se encuentra en la parte grave. Entonces, asociando la división tetracordal de Dídimo a nuestra escala actual, obtenemos el

siguiente resultado:

Do Re Mi Fa Sol La Si Do 10/9 9/8 16/15 10/9 9/8 9/8 16/15

En este caso también se ha obtenido el valor 9/8 para el intervalo La-Si e, igualmente, se tienen

tonos mayores (9/8) y menores (10/9), aunque distribuidos ahora de forma diferente.

4.3.4 Escala física de las terceras mayores

Reduciendo una de cada cuatro quintas a lo largo de todo el círculo se consigue maximizar el número de terceras mayores justas quedando como excepción las terceras mayores falsas que atraviesan la quinta del lobo. Eso sí, las terceras menores variarían en función del número de quintas de cada tipo atravesadas en su formación.

El valor de la diesis resulta de 128/125 y se conoce también con el nombre de diesis menor, en oposición a otra de mayor tamaño que aparecerá seguidamente.

429 Esta estructura corresponde al tetracordo frigio según la nomenclatura adoptada por Boecio (véase A. M. Severino Boecio:

De Institutione Musica I, 10-11. Ed. Godofredus Friedlein, Leipzig, 1867), la cual no tiene nada que ver con el modo frigio griego. En realidad, el tetracordo tomado de referencia era el del modo dórico griego, el más importante. Seguramente, Boecio tomó los nombres de los modos griegos para aplicarlos a los modos gregorianos sin tener en cuenta que su estructura y disposición eran totalmente diferentes.

Page 202: SpecMusic Libre

202

4.3.5 Escala física de las terceras menores

Reduciendo una de cada tres quintas a lo largo de todo el círculo se consigue maximizar el número de terceras menores justas quedando como excepción las terceras menores falsas que atraviesan la quinta del lobo. Eso sí, las terceras mayores variarían en función del número de quintas de cada tipo atravesadas en su formación.

El valor de la diesis es de 648/625 y se conoce también con el nombre de diesis mayor por ser más grande que la otra existente.

4.3.6 Escala física de Zarlino

El sistema principal y el que se toma como referencia o por defecto de la nomenclatura cuando se habla de la escala física es el sistema de Zarlino430.

La llamada escala física de Zarlino se consigue reduciendo las siguientes quintas: Si b – Fa, Re – La y Si – Fa #. De esta manera se han conseguido algunas terceras mayores justas y algunas otras menores así como otros tipos de terceras que expondré seguidamente en la valoración del sistema. En realidad, tal solución consiste en una solución de compromiso entre las dos anteriores. De hecho, se reduce alternadamente una de cuatro quintas y, después, una de cada tres quintas resultando un ciclo “periódico”431 de 7 quintas.

El valor de la diesis para esta escala es de 128/125 (el correspondiente a la diesis menor) y sus intervalos resultantes son:

Do-Re Re-Mi Mi-Fa Fa-Sol Sol-La La-Si Si-Do 9/8 10/9 16/15 9/8 10/9 9/8 16/15 tono mayor

tono menor

semitono diatónico

tono mayor

tono menor

tono mayor

semitono diatónico

Extendiendo el resultado a una escala cromática con las alteraciones típicas de la época:

Escala física de Zarlino Do – Do 1/1 Do – Do # 25/24 Do – Do # 25/24 Do # – Re 27/25 Do – Re 9/8 Re – Mi b 16/15 Do – Mi b 6/5 Mi b – Mi 25/24 Do – Mi 5/4 Mi – Fa 16/15 Do – Fa 4/3 Fa – Fa # 24/24 Do – Fa # 25/18 Fa # – Sol 27/25 Do – Sol 3/2 Sol – Sol # 25/24 Do – Sol # 25/16 Sol # – La 16/15 Do – La 5/3 La – Si b 27/25 Do – Si b 9/5 Si b – Si 25/24 Do – Si 15/8 Si – Do 16/15 Do – Do 2/1

Si extendemos el procedimiento a una escala de 19 notas donde obtenemos todas las notas

alteradas, la constitución de la escala física de Zarlino quedará como sigue:

Escala física de Zarlino Do – Do 1/1 Do – Do # 25/24 Do – Do # 25/24 Do # – Re b 648/625 Do – Re b 27/25 Re b – Re 25/24 Do – Re 9/8 Re – Re # 25/24 Do – Re # 75/64 Re # – Mi b 128/125

430 A veces, también se le llama escala de Aristógenes-Zarlino lo que pienso que se debe a un error. Por el contrario, si

examinamos las divisiones tetracordales griegas puede verse como la escala de Zarlino se basa en la de Ptolomeo. Incluso, se habla de la escala de Ptolomeo en Gonzalo Fernández de la Gándara: “Curso de acústica para músicos”, Acústica musical, ICCMU, Madrid, 1998. Por otro lado, el nombre de Zarlino también es erróneo, ya no sólo porque la escala no es de su propia invención sino que ideó otro tipo de afinación diferente y más complicado, seguramente algún tipo de temperamento mesotónico. Posiblemente, la confusión puede ser debida a que la colocación de las diferentes notas cromáticas de la escala resulta en el mismo orden que la que conocemos como escala de Zarlino pero, en realidad, se basa en principios diferentes e inciertos.

431 En el caso de que tal procedimiento se extienda a lo largo de todo el sistema de quintas o de forma indefinida.

Page 203: SpecMusic Libre

203

Do – Mi b 6/5 Mi b – Mi 25/24 Do – Mi 5/4 Mi – Fa 15/15 Do – Fa 4/3 Fa – Fa # 25/24 Do – Fa # 25/18 Fa # – Sol b 648/625 Do – Sol b 36/25 Sol b – Sol 25/24 Do – Sol 3/2 Sol – Sol # 25/24 Do – Sol # 25/16 Sol # – La b 128/125 Do – La b 8/5 La b – La 25/24 Do – La 5/3 La – La # 25/24 Do – La # 125/72 La # – Si b 648/625 Do – Si b 9/5 Si b – Si 25/24 Do – Si 15/8 Si – Do 16/15 Do – Do 2/1

De estos resultados podemos obtener las siguientes observaciones: • En este sistema tenemos dos tipos de tonos, tres tipos de semitonos y varios tipos de

commas y las notas cromáticas con sostenidos son más bajas que las enarmónicas con bemoles (por ejemplo, el Do # es más bajo que el Re b aunque la diferencia depende del tipo de tono en el que se incluyan).

• En este sistema, el tamaño del semitono diatónico depende del tamaño del tono pero el semitono cromático es siempre igual.

• La comma grande es la diferencia entre el semitono diatónico pequeño y el semitono cromático y corresponde a los intervalos Re # - Mi b y Sol # - La b (también Mi – Fa b, Mi # - Fa, Si – Do b y Si # - Do).

• La comma grande sintón corresponde a la diferencia entre el semitono diatónico grande y el semitono cromático y corresponde a los intervalos Do # - Re b, Fa # - Sol b y La # - Si b.

• La comma mediana es la diferencia entre el semitono cromático y la comma grande y corresponde a los intervalos Fa b – Mi # y Do b – Si #, que en el caso del semitono diatónico natural no sigue la misma norma.

• La escala física de Zarlino tiene el gran inconveniente de que sus intervalos son diferentes según la tonalidad en la que nos encontremos.

En resumen:

Escala física de Zarlino Tono grande 9/8 1.125 203.9099 Tono pequeño 10/9 1.11111 182.4037 Semitono diatónico grande 27/25 1.08 133.2375 Semitono diatónico pequeño 16/15 1.06667 111.7321 Semitono cromático 25/24 1.04167 70.6724 Comma sintónica 81/80 1.0125 21.5063 Comma mediana 3125/3072 1.0172 29.6135 Comma grande 128/125 1.024 41.0588 Comma doble grande sintón 648/625 1.0368 62.5651 Diesis 128/125 1.024 41.0588

Valoración del sistema: Escala física de Zarlino Quintas justas 8 3/2 1.5 701.95 0 Quintas falsas 1 192/125 1.536 743.01 +41.06 Quintas sintónicas 3 40/27 1.48148 680.45 -21.5 Terceras mayores justas o sintónicas 7 5/4 1.25 386.32 0 Terceras mayores falsas 1 162/125 1.296 448.88 +62.56 Terceras mayores sintónicas falsas 3 32/25 1.28 427.37 +41.05 Terceras mayores sintónicas dos veces 1 100/81 1.2346 364.81 -21.51 Terceras mayores pitagóricas 0 81/64 1.2656 407.82 +21.5 Terceras menores justas o sintónicas 8 6/5 1.2 315.64 0 Terceras menores falsas 2 125/108 1.1574 253.08 -62.56 Terceras menores sintónicas falsas 1 75/64 1.1719 274.58 -41.06

Page 204: SpecMusic Libre

204

Terceras menores pitagóricas 1 32/27 1.1852 294.13 -21.51 Terceras menores sintónicas dos veces 0 243/200 1.215 337.15 +21.51

4.3.7 Escala física de Delezénue432

Cuando la música occidental se adaptaba ya, con creciente éxito, a la gama temperada e iba desechando la pitagórica, al físico y matemático francés Delezénue, quizás por un afán científico, se le ocurrió presentar una variación de la escala física de Zarlino que, aunque la mejoraba en muchos aspectos, no la liberaba de sus múltiples complicaciones. Realmente, Delezénue, no es que rectificara el sistema de Zarlino, sino que creó un nuevo sistema para el desarrollo de la escala física.

La variación consistía en un concepto inverso en la formación de los semitonos, por admitir uno solo diatónico (16/15) y aceptando en cambio dos cromáticos (135/128 y 25/24) para ajustar la diferencia entre el tono grande y el pequeño, con lo que se consigue mayor naturalidad en la resolución de las notas alteradas.

Para ello, reduce una de cada cinco quintas del círculo comenzando por el Si b. El valor de la diesis, en este caso, es de 128/125, correspondiente a la diesis menor.

Los intervalos resultantes para la escala de Delezénue (directamente en el género cromático ya que en el diatópico resultan iguales que para la escala de Zarlino) son, utilizando las alteraciones típicas de la época:

Escala física de Delezénue Do – Do 1/1 Do – Do # 135/128 Do – Do # 135/128 Do # – Re 16/15 Do – Re 16/15 Re – Mi b 16/15 Do – Mi b 6/5 Mi b – Mi 25/24 Do – Mi 5/4 Mi – Fa 16/15 Do – Fa 4/3 Fa – Fa # 135/128 Do – Fa # 45/32 Fa # – Sol 16/15 Do – Sol 3/2 Sol – Sol # 25/24 Do – Sol # 25/16 Sol # – La 16/15 Do – La 5/3 La – Si b 16/15 Do – Si b 16/9 Si b – Si 135/128 Do – Si 15/8 Si – Do 16/15 Do – Do 2/1

Si extendemos el procedimiento a una escala de 19 notas donde obtenemos todas las notas

alteradas, la constitución de la escala física de Zarlino quedará como sigue:

Escala física de Delezénue Do – Do 1/1 Do – Do # 135/128 Do – Do # 135/128 Do # – Re b 2048/2025 Do – Re b 16/15 Re b – Re 135/128 Do – Re 9/8 Re – Re # 25/24 Do – Re # 75/64 Re # – Mi b 128/125 Do – Mi b 6/5 Mi b – Mi 25/24 Do – Mi 5/4 Mi – Fa 15/15 Do – Fa 4/3 Fa – Fa # 135/128 Do – Fa # 45/32 Fa # – Sol b 2048/2025 Do – Sol b 64/45 Sol b – Sol 135/128 Do – Sol 3/2 Sol – Sol # 25/24 Do – Sol # 25/16 Sol # – La b 128/125 Do – La b 8/5 La b – La 25/24 Do – La 5/3 La – La # 135/128 Do – La # 225/128 La # – Si b 2048/2025 Do – Si b 16/9 Si b – Si 135/128 Do – Si 15/8 Si – Do 16/15

432 Jaime Piles Estellés: Intervalos y gamas, Instituto Valenciano de Musicología de la Institución Alfonso el Magnánimo, Ed.

Piles, Valencia 1982.

Page 205: SpecMusic Libre

205

Do – Do 2/1 De estos resultados podemos obtener las siguientes observaciones: • En este sistema tenemos dos tipos de tonos, tres tipos de semitonos y varios tipos de

commas y las notas cromáticas con sostenidos son más bajas que las enarmónicas con bemoles (por ejemplo, el Do # es más bajo que el Re b aunque la diferencia depende del tipo de tono en el que se incluyan), al igual que en la escala física de Zarlino.

• En este sistema, el tamaño del semitono cromático depende del tamaño del tono pero el semitono diatónico es siempre igual, al revés de lo que sucedía en la escala física de Zarlino.

• La comma grande es la diferencia entre el semitono diatónico y el semitono cromático pequeño y corresponde a los intervalos Re # - Mi b y Sol # - La b (también Mi – Fa b).

• La comma pequeña corresponde a la diferencia entre el semitono diatónico y el semitono cromático grande y corresponde a los intervalos Do # - Re b, Fa # - Sol b y La # - Si b (también a Si - Do b, Si # - Do y Mi # - Fa).

• La comma triple es la suma de dos commas sintónicas y una mediana (diferencia entre el semitono cromático grande y la comma pequeña) y corresponde al intervalo Do b – Si #.

• La comma doble mediana-sintón es la suma de dos commas mediana y sintónica (diferencia entre el semitono cromático pequeño y la comma pequeña) y corresponde al intervalo Fa b – Mi #.

• La escala física de Delezénue continúa teniendo el gran inconveniente de que sus intervalos son diferentes según la tonalidad en la que nos encontremos.

En resumen:

Escala física de Delezénue Tono grande 9/8 1.125 203.9099 Tono pequeño 10/9 1.11111 182.4037 Semitono diatópico 16/15 1.06667 111.7321 Semitono cromático grande 135/128 1.05468 92.1787 Semitono cromático pequeño 25/24 1.04167 70.6724 Comma sintónica 81/80 1.0125 21.5063 Comma pequeña 2048/2025 1.01136 19.5526 Comma grande 128/125 1.024 41.0588 Comma doble mediana sintón 16875/16384 1.02997 51.1198 Comma triple 273375/262144 1.04284 72.6261 Diesis 128/125 1.024 41.0588

4.3.8 Escala física de Ramos de Pareja

Ésta es la escala correspondiente a la afinación del monocordio de Ramos de Pareja433. El procedimiento se basa en reducir únicamente la quinta Sol-Re y tomando las siguientes alteraciones (diferentes a las típicas de la época)434: La b – Mi b – Si b – Fa # - Do #. Ahora, la quinta del lobo queda entre Do # y La b. Ahora, el valor de la diesis es de 32805/32768, diferente a cualquiera de los anteriores.

En realidad, tal sistema parece una mezcla entre la afinación pitagórica y la justa. El círculo se compone de dos secciones: la primera comprende las quintas justas de La b a Sol y la segunda de Re a Do #. La característica peculiar de este sistema es que las quinta del lobo es inferior a la justa en una comma pitagórica menos una comma sintónica. La diferencia entre ambas commas se denomina schisma y su razón es de 32805/32768 (alrededor de 2 cents). Se trata de una quinta muy cercana a la justa.

Muchas veces se ha considerado a Ramos de Pareja como el inventor del temperamento igual435. La afirmación es incorrecta, como puede apreciarse. Ramos de Pareja es el primer teórico importante en proponer una división práctica del monocordio en el sistema de la justa entonación para el género diatónico.

433 Bartolomé Ramos de Pareja (c. 1440 - c. 1498): Música práctica, Bolonia, 1482. 434 En realidad, éste no fue el procedimiento seguido por Ramos de Pareja, esto constituye su sistematización según teorías

actuales. Su principio de formación se basaba en cálculos geométricos y matemáticos. Véase J. Javier Goldáraz Gaínza: “La justa entonación”, Afinación y temperamento en la música occidental, Alianza Música, Madrid, 1992, capítulo 2, pp. 40-43.

435 Probablemente, tal confusión tenga su explicación en la constitución más o menos cerrada del círculo de quintas ya que, como hemos visto, la quinta del lobo es muy cercana a la justa.

Page 206: SpecMusic Libre

206

4.3.9 Otras escalas físicas

De todas las soluciones propuestas que requieren más de 12 notas por octava, las más importantes son:

• División del monocordio de Fogliano436. • G. Zarlino437. • “Sistema perfecto” de Salinas438. • G. B. Doni439. • M. Mersenne440. • Q. Blankenburg441. • H. Liston442. • H. L. F. Helmholtz443. En tales sistemas, dos notas con el mismo nombre pueden tener diferente afinación (ya no sólo

las consideradas enarmónicas hoy en día) dependiendo del contexto en el que se encuentren: acorde, tonalidad... con lo cual se crea una dificultad que hace muy difícil su puesta en práctica.

Casi todos estos sistemas se quedaron en puras especulaciones teóricas y experimentales, sobretodo, los más tardíos y complicados. No obstante, existen órganos y otros instrumentos de teclado pertenecientes a la época del Renacimiento o del Barroco, en los cuales se encuentran algunas teclas dobles para algunas notas concretas y que pudieron ser llevados a la práctica. No así los que constan de un número elevado de notas. Igualmente, debe considerarse que tales teclados no tenían porqué corresponderse con la justa entonación sino más bien con alguna especie de temperamento mesotónico.

Omito la explicación de tales sistemas444 debido a su extensión y complicación dejándolos pendientes para otra ocasión445.

4.4 El temperamento igual

El temperamento igual consiste en acortar las quintas para poder conseguir la igualdad entre la octava justa y las 12 quintas temperadas que cierran el círculo de quintas. Eso se consigue repartiendo el valor de la comma pitagórica entre las 12 quintas. Puede demostrarse que esta operación es equivalente a dividir la octava en 12 partes iguales. Este procedimiento podría extenderse para cualquier número de partes de la octava.

Con este procedimiento desaparecen todas las commas y todos los intervalos de un mismo tipo tienen la misma razón numérica, es decir, son iguales. El semitono temperado constituye así una unidad de medida.

El cálculo de cualquier intervalo en el temperamento igual se realiza de la siguiente manera:

donde ξ es el valor de la comma pitagórica, o sea 531441/524288. Debido a la propiedad expuesta, también podemos calcular cualquier intervalo en función del

número de semitonos de que consta:

donde k es el número de semitonos de que consta el intervalo. El principal temperamento igual y, en cierta manera, el único utilizado, es el de 12 notas aunque

pueden considerarse divisiones múltiples de la octava en un cualquier número de partes iguales. La valoración del temperamento igual de 12 notas queda expuesta en la siguiente tabla446:

Temperamento igual de 12 notas

436 Lodovico Fogliano (finales del siglo XV – 1539): Musica theorica, Venecia, 1529. 437 Gioseffo Zarlino de Chiogga (1517-1590): Istitutioni harmoniche, Venecia, 1558, cc. 28-38. 438 Francisco Salinas: Siete libros sobre la música, Ed. Alpuerto, Madrid, 1983, II, 8. Edición a cargo de Ismael Fernández de la

Cuesta basada en la edición anastática de M. Santiago Kastner. Edición original: De musica libri septem, Salamanca, 1577. 439 Giovanni Battista Doni: Compendio de trattato de’ generi, e de’ modi, Roma, 1635, c. 13 440 Marin Mersenne: Harmonie universelle, París. 1636-1637. 441 Quirinus van Blankenburg: Elementa musica, La Haya, 1739. 442 Henry Liston: An Essay upon Perfect Intonation, Edimburgo, 1812. 443 Hermann von Helmholtz: Die Lehre von den Tonempfindungen, Longmans & Co., 1877. Traducción inglesa por A. J. Ellis:

On the sensations of tone (Sobre las sensaciones sonoras), 1877, Dover, New York 1954. 444 Véase, para una exposición de los mismos, J. Javier Goldáraz Gaínza: “La justa entonación”, Afinación y temperamento en

la música occidental, Alianza Música, Madrid, 1992, capítulo 2, pp. 33-63. 445 La implementación de estos sistemas en el proyecto no constituye una tarea obvia ni fácil. Deben realizarse modificaciones

y, posiblemente, cálculos analíticos complicados. La principal dificultad está en que una nota puede estar afinada de forma diferente dependiendo de su contexto. De hecho, se trata de escalas de afinación variable.

446 Véase la nota 421.

Page 207: SpecMusic Libre

207

Quinta temperada 12 1.4983 700 +1.95 Tercera mayor temperada 12 1.2599 400 -13.68 Tercera menor temperada 12 1.1892 300 +15.63 Semitono temperado 12 1.05946309435 Tono temperado 6 1.122462048

La principal ventaja de este temperamento está en su simplicidad y en la posibilidad de

modulación a cualquier tonalidad así como la utilización de cualquier acorde dentro de una misma tonalidad. Esta ventaja ha superado a la preferencia por los intervalos justos y ha hecho que sea este temperamento el que se haya impuesto de forma generalizada en toda la música occidental actual y desde comienzos del siglo XIX. No obstante, no han faltado nunca ni faltan ahora, partidarios de la utilización de intervalos justos o que se aproximen a ellos así como la creación de nuevos sistemas de afinación dentro de las diferentes tendencias de la música experimental del siglo XX447.

4.4.1 Otros temperamentos iguales

Otro temperamento igual que ha tenido cierta tradición dentro de la música del siglo XXT es el temperamento de cuartos de tono que divide la octava en 24 partes iguales. Este temperamento no es sino una extensión del de 12 partes iguales, en el que la octava quedaría dividida en 24 cuartos de tono. No tiene, pues, diferencias teóricas notables con aquél. Bastaría disponer de dos instrumentos normales en temperamento igual de 12 notas afinados con una diferencia de un cuarto de tono (50 cents) para conseguirlo. Es un temperamento que puede retrotraerse a Aristógenes si se quiere y que ha sido sometido a examen entre los años 20 y 30 del siglo XX por una serie de teóricos (Möllendorf, A. Haba448, Wyschnegradsky, Lourie).

Otras escalas que constituyen divisiones en partes iguales de la octava pueden ser las diversas aproximaciones de los temperamentos mesotónicos o las de las modificaciones de la afinación pitagórica449. En estos casos, se obtienen divisiones de la octava de más de 12 notas, incluso números bastante elevados e impracticables. No obstante, ello no significa que se utilicen todas las notas sino que se afinen las que sí se hagan servir en función de la división en partes iguales. Todos estos sistemas, en muchos casos, han sido tratados como su aproximación, o sea, como divisiones de la octava en partes iguales.

4.5 Temperamentos mesotónicos

El principio general que rige la formación de los diferentes temperamentos mesotónicos es acortar las quintas para que desciendan las terceras y se acerquen de esta forma a su valor justo. La diferencia entre las terceras justas y las pitagóricas es de una comma sintónica y la denominación de cada uno de ellos se hace en referencia a la disminución de la quinta en partes de esa comma.

Conocida la disminución de la quinta es fácil calcular las razones numéricas del resto de intervalos sustituyendo la razón de la quinta justa por la de la quinta mesotónica.

Los principales temperamentos mesotónicos son los que reducen la quinta en ¼, 1/3 y 2/7 de comma.

En el temperamento mesotónico de 1/4 de comma se disminuye la quinta de tal manera que las terceras mayores resulten justas, por lo tanto, la comma sintónica se reparte entre 4 quintas que aproximan la tercera mayor.

En el temperamento mesotónico de 1/3 de comma se realiza el mismo procedimiento pero aplicado a las terceras menores, por lo tanto, la comma sintónica se reparte entre las tres quintas que las aproximan.

En el temperamento mesotónico de 2/7 de comma se establece un compromiso entre las terceras mayores y menores redistribuyendo entre 7 quintas las dos commas que se acumulan en las 7 quintas que cubren una tercera mayor y una tercera menor justas. En este caso, ni las terceras mayores ni las menores quedan justas pero su desviación resulta menor que las mesotónicas de los casos anteriores.

447 Para más información acerca de la utilización y consideración del temperamento igual a lo largo de la historia de la música

occidental, véase J. Javier Goldáraz Gaínza: “El temperamento igual”, Afinación y temperamento en la música occidental, Alianza Música, Madrid, 1992, capítulo 7, pp. 113-120.

448 Alois Haba: Neue harmonielehre des diatonischen, chromatischen, viertel, drittel, sechstel, und zwölfftel-tonsystems, Filmkunst-Musikverlag, München / Supraphon, Praha, 1979. Traducción al castellano por Ramón Barce: Alois Haba: Nuevo tratado

de armonía, Real Musical, Madrid, 1984. En esta obra, A. Haba teoriza y sistematiza la composición basada en la escala de cuartos de tono adaptando el sistema de

nomenclatura en lo referente a las alteraciones que indican variaciones de un cuarto de tono. Tiene composiciones basadas en esta teoría.

449 Véase el apartado 4.7 de este apéndice.

Page 208: SpecMusic Libre

208

Generalizando, el cálculo de cualquier intervalo en un temperamento mesotónico se realiza de la siguiente manera:

donde ξ es el valor de la comma sintónica, o sea 81/80, y q el valor de la fracción de comma para cada tipo de temperamento, o sea 1/4, 1/3 y 2/7 respectivamente.

De estos tres temperamentos, el primero y que quizá gozó de más aceptación fue el de ¼ de comma. La primera mención más o menos explícita a este temperamento es la de Pietro Aron450, quien no da sin embargo fórmulas aritméticas ni hace mención a al comma. El primero en tratar el temperamento mesotónico matemáticamente y de forma rigurosa fue Lodovico Fogliano451, quien lo deja incompleto. Gioseffo Zarlino452 lo completó llamándolo “un novo Temperamento & [...] una nova Participatione”, aunque Salinas da a entender que él lo estaba usando ya en 1530453.

4.5.1 Valoración de los temperamentos mesotónicos454

Temperamento mesotónico de 1/4 de comma Quintas Mesotónicas 11 696.58 -5.37 Falsas 1 737.62 +35.67 Terceras mayores Puras 8 386.31 0 Falsas 4 427.36 41.04 Terceras menores Mesotónicas 9 310.26 -5.37 Falsas 3 269.22 -46.41

Considerando en las tonalidades los acordes de tónica, subdominante y dominante, pueden

usarse 6 tonalidades mayores, Si b, Fa, Do, Sol, Re, La y 3 tonalidades menores, Sol, Re, La. Todas ellas pueden usarse a lo largo de todas las notas con una sexta inferior o una tercera superior. Es éste un temperamento muy bueno en las tonalidades en que puede practicarse. Las tríadas son muy consonantes.

Temperamento mesotónico de 1/3 de comma Quintas Mesotónicas 11 694.79 -7.16 Falsas 1 757.31 +55.36 Terceras mayores Mesotónicas 8 379.16 -7.16 Falsas 4 441.68 +55.36 Terceras menores Puras 9 315.64 0 Falsas 3 253.11 +62.52

Al ser las terceras menores puras, la desviación de las terceras mayores es la misma que la de las

quintas. Las tríadas son peores que en temperamento de ¼ de comma.

Temperamento mesotónico de 2/7 de comma Quintas Mesotónicas 11 695.81 -6.14 Falsas 1 746.09 +44.14 Terceras mayores Mesotónicas 8 383.24 -3.08 Falsas 4 433.52 +47.2 Terceras menores

450 Pietro Aron: Toscanello in musica, Venecia, 1523, reed. rev., 1529. 451 Lodovico Fogliano: Musica theorica, Venecia, 1529. 452 Gioseffo Zarlino: Dimostrationi harmonique, Venecia, 1571. 453 Para más referencias históricas a los temperamentos mesotónicos véase J. Javier Goldáraz Gaínza: “Introducción en el

temperamento. Los temperamentos mesotónicos”, Afinación y temperamento en la música occidental, Alianza Música, Madrid, 1992, capítulo 4, pp. 75-78.

454 Véase la nota 421.

Page 209: SpecMusic Libre

209

Mesotónicas 9 312.57 -3.06 Falsas 3 262.29 +53.34

4.5.2 Circularidad de los temperamentos mesotónicos

Todo temperamento mesotónico puede convertirse en cíclico o circular, sin quinta del lobo, al prolongar la espiral de quintas hasta que surjan notas enarmónicas o casi enarmónicas. Aunque la división en partes iguales no corresponde exactamente a la del temperamento correspondiente, cuando la diferencia es lo suficientemente pequeña y la quinta del lobo aceptable, se puede en teoría sustituir una por otra. En estos casos se tienen temperamentos iguales con múltiples divisiones de la octava.

El que las partes sean iguales es un hecho importante. Permite por un lado una fácil afinación del sistema, al disponer de una unidad cuya mera adición da lugar a los diferentes intervalos de forma casi aristogénica; las fracciones correspondientes a cada intervalo en relación al sistema general son en este caso muy simples: una tercera menor, por ejemplo, equivale a 5/19, 13/50 u 8/31 en los temperamentos de 19, 50 ó 31 partes respectivamente. Pueden además establecerse comparaciones fáciles entre diferentes sistemas múltiples de tal forma que unos con más notas pueden ser ampliaciones de otros con menos. Esto ha sido especialmente importante a partir del siglo XVIII. Series de temperamentos pueden surgir, por ejemplo, por adición de un número dado de notas por octava, 12, 24, 36, 48..., o por adición de partes iguales (12, 19, (19 + 12), 43 (31+12), 50 (31+19), etc., con lo que quedan relacionados entre sí los temperamentos correspondientes, constituyendo uno una ampliación del precedente. Dependiendo del número de notas del sistema, las notas enarmónicas son diferentes. Si en el sistema actual de 12 notas, Do # = Re b, Fa # = Sol b, etc., en el de 19, las notas enarmónicas son Mi b = Fa b, Fa x = Sol b, etc., en el de 31 partes aparecerán como notas diferentes, Do – Do # - Do x – Re bb – Re b – Re, etc. En esto sistemas divididos en partes iguale será conveniente hablar de unidades, partes o microtonos, más que de términos como semitono o diesis. Semitonos y diesis sólo estarían unívocamente definidos en cada sistema particular.

Ahora bien, el que un determinado temperamento pueda dar lugar a la división e la octava en un número determinado de partes no significa que se proponga en la práctica tal número de partes. Divisiones dela octava en 455, 74, 118, etc., partes serían imposibles de llevar a la práctica, a no ser por medios electrónicos actuales. Funciona como un excelente modelo teórico que luego s llevará a la práctica de una forma u otra. Una posibilidad de usar sólo 12 notas pero afinadas en un temperamento mesotónico según las exigencias de la pieza a interpretar, estriba en la reafinación ad hoc del instrumento, colocando la quinta del lobo en el lugar conveniente de acuerdo a la tonalidad de la pieza. Esto es, naturalmente, imposible en los órganos, pero posible en el clavicordio.

Puede demostrarse que los temperamentos de 1/3, ¼ y 2/7 de comma se aproximan respectivamente a divisiones de la octava en 19, 31 y 50 partes iguales.

4.5.3 Otros temperamentos mesotónicos

• Temperamento de 1/5 de comma (43 partes). • Temperamento de 2/9 de comma (74 partes). • Temperamento de 1/6 de comma (55 partes). Según Georg Andreas Sorge455, este

temperamento fue propuesto por Silbermann, quien lo denominó “Telemann’s system”. • Temperamento de 3/10 de comma. Atribuido por Robert Smith456 a un tal Mr. Harrison y

mencionado por J. B. Romieu457. • Temperamento de 3/11 de comma. Mencionado por J. B. Romieu. • Temperamento de 3/14 de comma. Propuesto por Giordano Riccati458. • Temperamento de 5/18 de comma. Referenciado por Robert Smith (50 partes aunque

propuesto para 21 por R. Smith). • Temperamento de 1/7 de comma. Considerado por J. B. Romieu. • Temperamento de 1/8 de comma. Considerado por J. B. Romieu. • Temperamento de 1/9 de comma. Considerado por J. B. Romieu. • Temperamento de 1/10 de comma. Considerado por J. B. Romieu y por F. W. Marpurg459. • Temperamento de 1/11 de comma.

455 Georg Andreas Sorge :Gesprächt zwischen einem Musico theoretico und einem Studioso musices, Lobesndtein, 1748. 456 Robert Smith: Harmonics or the Philosophy of Musical Sounds, Londres, 1759. 457 J. B. Romieu: “Mémoire théorique & practique sur les systèmes tempérés de musique”, Mémoires de l’académie royale des

sciences, 1758, pp. 805-870. 458 Giordano Riccati: Saggio sopra le leggi del contrapunto, Castelfranco, 1762. 459 F. W. Marpurg: Versuch über die musikalische Temperatur, Breslau, 1776.

Page 210: SpecMusic Libre

210

4.6 Temperamentos irregulares

En estos temperamentos, dos o más quintas son de diferente tamaño que el resto. En general, derivan de sistemas regulares previos, modificados para conseguir determinadas ventajas.

Puesto que no hay reglas generales de la formación de los temperamentos irregulares, los dividimos de esta forma general:

a) Temperamentos irregulares de los siglos XV y XVI. b) Temperamentos irregulares del siglo XVIII:

i. Temperamentos franceses. ii. “Buenos temperamentos”.

4.6.1 Temperamentos irregulares de los siglos XV y XVI

Este grupo comprende una serie de temperamentos propios de los siglos XV, XVI y principios del XVII, pensados para el órgano o el laúd. Su principio de formación se basa en la modificación de la afinación pitagórica para acercarse a la justa entonación. También existen otros que presentan diferentes distribuciones de la comma pitagórica con finalidades o principios algo diferentes. Tanto unos como otros pueden ser cíclicos o no.

En la afinación pitagórica, las terceras que en su formación atraviesan la quinta del lobo, se acercan a las justas mucho más que las que se componen de quintas justas. Aprovechando esta circunstancia, aparecen en los siglos XIV y XV algunas afinaciones consistentes en utilizar precisamente la imperfección que supone la quinta del lobo para reducir las terceras mayores y aumentar las menores, colocando la quinta del lobo entre notas más usuales.

Los principales temperamentos irregulares de los siglos XV y XVI son: • Ejemplos musicales del Robertsbridge Codex y del Faenza Codees460. • Giorgio Anselmi461. • Otras propuestas y menciones de teóricos del siglo XV (Prodoscimus de Beldemandis,

Ugolino de Orvieto, Henri Arnaut de Zwolle, Johannes Legrense, John Hothby, Nicolaus Burtius y Franchino Gaffurio).

• Heinrich Schreiber (Henrichus Grammateus)462. • Martín Agrícola463. • Sylvestro Ganassi464. • Juan Bermudo465. • Giovanni Maria Artusi466. • Robert Dowland467. • Arnold Schlick468.

4.6.2 Temperamentos irregulares del siglo XVIII

Los temperamentos irregulares del siglo XVIII parten de objetivos diferentes a los anteriores, exceptuando quizá el de Schlick. El círculo de quintas queda cerrado de forma irregular; todas las notas son practicables pero el objetivo es producir consonancias más justas en las tonalidades más usuales (“naturales”) y más desviadas en las menos (“transpuestas”). De esta forma, el oyente recibe diferentes impresiones de los intervalos de acuerdo a sus diferencias y el compositor saca partido de tales diferencias tal como quería Rameau en 1726. Cada tonalidad tiene una cualidad diferente; el cambio de tonalidad no constituye únicamente un cambio de sonoridad destinado a explotar los diferentes “afectos” emocionales propios del barroco.

Si, en cierto modo, estos temperamentos representan una aproximación al temperamento igual, de ninguna forma deben considerarse como “aproximaciones fallidas” o “todavía inmaduras” a aquél. Desde principios del siglo XVII, el temperamento igual era de sobra conocido y propugnado por autores como M. Mersenne469. Son indicativas, al respecto, las críticas al temperamento igual por parte de muchos teóricos de los siglos XVII y XVIII, que veían en el un vehículo de empobrecimiento de las cualidades emocionales de la música y la defensa de la diversidad de éstas provocadas por los

460 Véase Mark Lindley: “Pytagorean entonation”, New Grove Dictionary of Music and Musicians, Vol. 15, pp. 485-487. 461 Giorgio Anselmi: De Musica, 1434. 462 Heinrich Schreiber (Henrichus Grammateus): Ayn new kunstlich Buech, Nüremberg, 1518. 463 Martín Agrícola: Rudimenta musices, Wittenberg, 1539. 464 Sylvestro Ganassi: Regola Rubertina, Venecia, 1543. 465 Juan Bermudo: Declaración de instrumentos musicales, Osuna, 1555. 466 Giovanni Maria Artusi: Seconda parte dell’Artusi ovvero delle imperfettioni della moderna musica, Venecia, 1603. 467 Robert Dowland: Variety of Lute-Lessons, Londres, 1610. 468 Arnold Schlick: Spiegel der Orgelmacher und Organisten, Mainz, 1511. 469 Marin Mersenne: Harmonicorum Libri XII, París, 1649.

Page 211: SpecMusic Libre

211

temperamentos irregulares. Así, J. Ozaman470, A. Werckmeister471, J. P. Rameau472, J. J. Rousseau473 o Ch. E. Stanhope474.

El punto de partida de los temperamentos franceses es diferente al de los “buenos temperamentos” pero, a la larga los resultados son parecidos, puesto que la diferencia entre la comma sintónica (22 cents) y la comma pitagórica (24 cents) es muy pequeña (2 cents). Cualquier fracción menor que la mitad de esta diferencia es menor que 1 cent.

4.6.3 Buenos temperamentos

El término “bien temperado” o “buen temperamento” (wohltemperirt) está estrechamente asociado a J. S. Bach, aunque tal término no designa un temperamento en particular. Mucho se ha discutido si se refiere al temperamento igual o alguno de los diferentes temperamentos que circulaban en Alemania, en especial los de Werckmeister475. Que el temperamento sea “bueno” no significa que sea mejor que otros, simplemente hace alusión a que permite la modulación a todas las tonalidades, es decir, es un temperamento circular, sin quinta del lobo.

Los “buenos temperamentos” se desarrollaron principalmente en Alemania e Italia y se presentan como alternativas al temperamento igual. Su objetivo es ofrecer un círculo de quintas cerrado que permita la variedad de intervalos entre las diferentes tonalidades. En realidad, su formación se basa en la distribución de la comma pitagórica de forma irregular entre las quintas. El perfil general que presentan es que las quintas cromáticas tienen quintas justas mientras que las diatónicas están reducidas para permitir buenas terceras.

Debido a la constitución de estos temperamentos, la unidad de medida más usada por los teóricos musicales alemanes del siglo XVIII es 1/12 de comma (2 cents).

Los principales teóricos de la época (Werckmeister, Neidhardt y Marpurg) proponen muchas variedades de temperamentos circulares y se conocen con el mismo nombre al que se añade un indicativo ordinal con números romanos o, a veces, letras mayúsculas.

Los “buenos temperamentos” más importantes son: • Andreas Werckmeister476: Werckmeister I, II, III, IV y V. • Johann George Neidhardt477: Neidhardt I y otros. • Francesco Antonio Vallotti478 (llamado también de Tartini-Vallotti). • Friedrich Wilhelm Marpurg479: Varios, entre ellos: “C”, “D”, “F”, “H”, “I”. • Johann Philipp Kirnberger480. Varios, entre ellos: Kirnberger I, II y III. • Barca. • Kellner481. • Barnes482 (temperamento propuesto en la actualidad para la afinación de El clave bien

temperado de J. S. Bach).

4.6.4 Temperamentos franceses

Los temperamentos desarrollados en Francia durante el siglo XVIII parten de objetivos diferentes a los de Alemania e Italia aunque el resultado final sea parecido.

Parten de los temperamentos mesotónicos483, distribuyendo la diesis entre las quintas cercanas a la del lobo haciéndola practicable y permitiendo la circularidad del sistema.

Los principales temperamentos franceses son: • Marin Mersenne484. • Jean Phillipe Rameau485 y J. J. Rousseau486: “temperament ordinaire” o “temperament

établi”487.

470 J. Ozaman: Dictionaire mathèmatique, Amsterdam, 1691. 471 A. Werckmeister: Hypomnemata musica, Quedlinburg, 1697. 472 J. P. Rameau: Nouveau système de musique théorique, París, 1726. 473 J. J. Rousseau: Dictionnaire de musique, París, 1786. 474 Ch. E. Stanhope: “Principles of the Science of tuning instruments with Fixed Tones”, Philosophical Magazine XXV, 1806. 475 Véase el apartado V.4 de este trabajo. 476 Andreas Werckmeister: Musicalische Temperatur, Frankfurt y Leipzig, 1961. 477 Johann George Neidhardt: Gäntzlich erschöpfte, mathematische Abtheilungen des diatonisch-chromatischen, temperirten

Canonis Monochordi, Königsberg y Leipzig, 1732, 2/1734. 478 Francesco Antonio Vallotti: Giuseppe Tartini: Trattato di musica secondo la vera scienza dell’armonia, Padua, 1754. 479 Friedrich Wilhelm Marpurg: Versuch über die musikalische Temperatur, Breslau, 1776. 480 Johann Philipp Kirnberger: Die Kunst des reinen Satzes in der Musik, Berlín y Könisberg, 1779. 481 Herbert Antón Kellner: "Wie stimme ich selbst mein Cembalo?", Das musikinstrument, cuaderno 19, Frankfurt/Main, 1976. 482 John Barnes: "Bach's keyboard temperament: Internal evidence from the "Well-Tempered Clavier"", Early Music, Vol. 7,

1979, pp. 236-248. 483 En realidad, parten del temperamento mesotónico de ¼ de comma. 484 Marin Mersenne: Harmonicorum Libri XII, París, 1649.

Page 212: SpecMusic Libre

212

• Jean Baptiste Mercadier488. • Thomas Young489. • Chaumont. • Corrette. • Marpourg. • Bethisy. • Asselin490 (temperamento propuesto en la actualidad).

4.7 Otras escalas

4.7.1 Escala de Holder491

En el siglo XVII, el teórico inglés William Holder (1614-1696), con pequeñas modificaciones de la pitagórica, estableció una escala que, como otras muchas, no tuvo aceptación.

Su nombre quedó en olvido, pero dejó la convicción entre los músicos que el tono se dividía en nueve commas, como propugnaba en su sistema.

El hecho de que últimamente el profesor Robert Dussant del Conservatorio de París ha resurgido el nombre de Holder y le ha devuelto la paternidad del tono de nueve commas que ya muchos atribuían a Pitágoras, ha motivado que en las últimas “Teorías de la Música” que han ido apareciendo vayan reproduciendo las aclaraciones del profesor Dussant, sin más explicación.

La fórmula de esta escala es492:

De esta fórmula resulta una nueva unidad de medida correspondiente a la 53ª parte de la octava cuyo valor es 1.013164143 (22.64 cents) y se denomina comma de Holder.

De esta manera, puede demostrarse que el tono consta de 9 commas correspondiendo 4 de ellas al semitono diatónico y las otras 5 al semitono cromático. Como vemos, se trata de una aproximación de la afinación pitagórica por un temperamento igual de mayor número de notas.

4.7.2 Otras modificaciones de la afinación pitagórica

La escala de Holder constituye una modificación de la escala pitagórica la cual se ha extendido hasta 53 notas y se ha aproximado por un temperamento igual del mismo número de notas. No obstante, ello no significa que estas notas se usen en su totalidad sino que solamente se toman algunas de ellas. Existen más definiciones de otros sistemas similares así como autores que los han defendido. De entre ellos podemos citar:

• Clark Jones493, temperamento schismático (1/8 de schisma) o afinación pitagórica 36 notas (incluso hasta 540). Tuvo otros defensores (Oettingen, Helmholtz, Eitz y Kornerup) que lo utilizaron como un sistema cerrado de 53 notas.

• Eivind Groven494. • G. Anselmi495. • Filolao (atribución errónea de Boecio496). • Rey chino Fâng: citado como su descubridor por J. Yasser497. Según Barbour498, en cambio,

la afinación pitagórica habría pasado a China tras las conquistas de Alejandro Magno,

485 Jean Phillipe Rameau: Nouveau système de musique théorique, 1726. 486 J. J. Rousseau: Dictionnaire de musique, París, 1767. 487 Para estos temperamentos, P. Y. Asselin da diferentes realizaciones. Véase P. Y. Asselin: Musique et Temperament, Editions

Costallat, 1985. 488 Jean Baptiste Mercadier: Nouveau système de musique théorique et practique, París, 1776. 489 Thomas Young: “Outlines of Experiments and Inquiries Respecting Sound and Light”, Philosophical Transactions, xc,

1800. 490 P. Y. Asselin: Musique et Temperament, Editions Costallat, 1985. 491 Jaime Piles Estellés: Intervalos y gamas, Instituto Valenciano de Musicología de la Institución Alfonso el Magnánimo, Ed.

Piles, Valencia 1982. 492 También podría calcularse la expresión en función del sistema de quintas. 493 Clark Jones493: “Remarks on Just Intonation and Musical Scales”, Acoustical Society Journal, 1974. 494 Eivind Groven: “My Untempered Organ”, Organ Institute Quartely, Vol. 5, 3, 1955. 495 G. Anselmi: De musica, 1434. 496 A. M. Severino Boecio: De Institutione Musica I, 10-11. Ed. Godofredus Friedlein, Leipzig, 1867. 497 Joseph Yasser: A Theory of Envolving Tonality, New York, 1932. 498 J. Murray Barbour: Tuning and Temperament, Nueva York, 1972.

Page 213: SpecMusic Libre

213

siendo confirmada como la afinación oficial en 1713. Barbour se basa en autores como M. Courant499.

• Entre los teóricos europeos lo mencionan Mersenne y Kircher pero se asocia su descubrimiento y utilización a Mercator500.

• M. W. Drobish501. • R. H. M. Bosanquet 502. • Esther Tipple (fundadora de la Mercator Foundation en Rome, Georgia). • A. Ellis503, Ariel504, Öttingen, Würschmidt, Fokker. • J. Steiner505.

4.7.3 Afinación pitagórica de tercios de tono en 17 partes

En una afinación pitagórica de 17 notas el círculo de cierra en La # - Sol b. Para que las notas del intervalo Mi # - Sol b (66 cents) coincidan, hay que aumentar cada quinta en algo más de 4 cents (16 * 4 = 64). De esta forma, se tiene un círculo cerrado en el que las notas Sol #, Re #, La #, Mi #, etc., son enarmónicas, coinciden con Si bb, Fa b, Do b y Sol b. La desviación de las quintas es la misma que la del temperamento igual de 1/6 de comma pero en sentido inverso. Las terceras mayores son muy altas y las menores muy bajas como para que puedan usarse en la armonía pero pueden resultar excelentes melódicamente. El tono se divide en tres partes (una para el semitono diatónico y dos para el cromático): Do – Re b = Si # – Do # = Mi bb – Re. Se trata de la “escala árabe” de tercios de tono, en la que las propiedades de la afinación pitagórica (terceras muy agudas, semitono diatónico muy pequeño) están todavía más pronunciadas.

4.7.4 Otras afinaciones con división de la octava en 19 y 31 partes

• Ariel506: 19 notas. • Th. Kornerup507: 19 y 31 notas. • J. Yasser508: 19 partes. • W. S. B. Woolhouse509: 19 partes.

4.7.5 Otras divisiones múltiples de la octava

• Edmond Malherbe (1926) y Vladimir Karapeytan (1935): un temperamento de 17 notas por octava, como el de la música árabe.

• J. M. Barbour510: 87 partes. • Harry Partch511: 113 partes. • R. H. M. Bosanquet512, Würschmidt, Ariel, Barbour: 118 partes. • W. Parret513: 171 partes. • Von Janko y Von Hornbostel: 347 partes. • R. H. M. Bosanquet514, Barbour515 y Von Janko: 612 partes. • Escala de Bohlen-Pierce516. • Otras divisiones en 13, 15, 18, 36, 50… partes.

499 Maurice Courant: “Chine et Coréé”, Enciclopédie de la musique et dictionaire du conservatoire, París, 1913, I, 88. 500 J. Murray Barbour: Tuning and Temperament, Nueva York, 1972. 501 M. W. Drobish: “Ubre musikalische Tombestimmung und Temepratur”, Abhandlungen der mathematisch-physischen Classe

der königlich sächsischen Gesellschaft der Wissenschaften, IV, 1855, 82-86. 502 R. H. M. Bosanquet: An Elementary Treatise on Musical Intervals and Temperament, Londres, 1876. 503 A. J. Ellis, A. Mendel: Studies in the history of musical pitch, Amsterdam 1968. 504 Ariel (seudónimo): Das Relativitätspronzip der Musikalischen Harmonie, Leipzig, 1925. 505 Joachin Steiner: “Einfluss der reinen Stimmung auf die Entwickklung der Musik”, Bericht von III Kongress der

Internationalen Musikgesellschaft, Viena, 1909. 506 Ariel (seudónimo): Das Relativitätspronzip der Musikalischen Harmonie, Leipzig, 1925. 507 Thorvald Kornerup: Das Tonsystem des Italianers Zarlino, Copenhage, 1930. 508 Joseph Yasser: A theory of Evolving Tonality, Nueva York, 1932. 509 Wesley S. B. Woolhouse: Essay on Musical Intervals. Harmonics, and the Temperament of the Musical Scale, Londres,

1835. 510 J. Murray Barbour: Tuning and Temperament, Nueva York, 1972, p.130. 511 Harry Partch: A genesis of a music, Univ. Of Wisconsin Press, 1949, p. 307. 512 R. H. M. Bosanquet: An Elementary Treatise on Musical Intervals and Temperament, Londres, 1876. 513 W. Parret: Some Questions of Musical Theory, Cambridge, 1926. 514 R. H. M. Bosanquet: An Elementary Treatise on Musical Intervals and Temperament, Londres, 1876. 515 J. Murray Barbour: Tuning and Temperament, Nueva York, 1972, p.130. 516 Max V. Mathews, John R. Pierce: “Theoretical and experimental explorations of the Bohlen-Pierce scale”, Journal of the

Acoustical Society of America, 84 (4), octubre 1988.

Page 214: SpecMusic Libre

214

4.7.6 Generalización de la justa entonación a cualquier número de armónicos

• Harry Partch517: Generalización de la justa entonación utilizando los armónicos 7, 11 y 13 (escala de 43 notas).

• Ray Tomes518: propone un algoritmo para aplicar de forma sistemática la justa entonación considerando cualquier número de armónicos.

• W. A. Sethares519: propone un algoritmo adaptativo que se aproxima a la justa entonación considerando cualquier número de armónicos. Se basa en un algoritmo de gradiente descendiente.

517 Harry Partch: A genesis of a music, Univ. Of Wisconsin Press, 1949. 518 Ray Tomes: Automatic Just Intonation, en http://homepages.kcbbs.gen.nz/rtomes/aji-main.htm o http://homepages.ihug.co.nz/~ray.tomes/aji.htm 519 W. A. Sethares: “Adaptative tunings for musical scales” Journal of Acoustical Society of America 96, nº 1, pg. 10-19, July

(1994). Véase también W. A. Sethares: Tuning, Timbre, Spectrum, Scale, Springer-Verlag, New York, 1997.

Page 215: SpecMusic Libre

215

5. TABLAS DE ESCALAS520

520 Si no se indica lo contrario, la información de estas tablas se ha extraído de P. Y. Asselin: Musique et temperament, Ed.

Costallat, 1985, apéndice 9, pp. 196-205 y, para el caso de los modos mixolidios, temperamento igual de 33 notas y escalas relacionadas con espectros, la información se ha obtenido a través de mi programa. No obstante, los valores de las afinaciones más importantes pueden encontrarse en cualquier referencia que hable sobre afinación de la escala musical. En cualquier caso, la representación de las escalas se ha hecho conforme a la representación por defecto tomada para el programa del proyecto (véase el apartado IV.2.7): intervalos referidos a una nota de referencia (en este caso, el Do). Igualmente, se han representado con números racionales las escalas racionales –escala pitagórica y escalas físicas- y con números decimales las escalas decimales –temperamentos y escalas relacionadas con espectros-. Se han tomado las notas alteradas conforme a las alteraciones usadas en la Edad Media y el renacimiento, o sea, Do #, Mi b, Fa #, Sol # y Si b.

Escala pitagórica 1/1 2187/2048 9/8 32/27 81/64 4/3 729/512 3/2 6561/4096 27/16 16/9 243/128

Escala física de Zarlino 1/1 25/24 9/8 6/5 5/4 4/3 25/18 3/2 25/16 5/3 9/5 15/8

Temperamento igual 1.00000 1.05946 1.12246 1.18921 1.25992 1.33484 1.41421 1.49831 1.58740 1.68179 1.78180 1.88775

Temperamento mesotónico de 1/3 de comma 1.00000 1.03736 1.11572 1.20000 1.24483 1.33887 1.38889 1.49380 1.54961 1.66667 1.79256 1.85954

Page 216: SpecMusic Libre

216

Temperamento mesotónico de 1/4 de comma 1.00000 1.04491 1.11803 1.19628 1.25000 1.33748 1.39754 1.49535 1.56250 1.67185 1.78885 1.86919

Temperamento mesotónico de 1/5 de comma 1.00000 1.04946 1.11942 1.19405 1.25311 1.33665 1.40276 1.49628 1.57028 1.67497 1.78663 1.87500

Temperamento mesotónico de 1/6 de comma 1.00000 1.05251 1.12035 1.19257 1.25519 1.33610 1.40625 1.49690 1.57549 1.67705 1.78515 1.87889

Temperamento mesotónico de 1/7 de comma 1.00000 1.05469 1.12101 1.19151 1.25667 1.33570 1.40875 1.49734 1.57923 1.67854 1.78410 1.88167

Temperamento mesotónico de 1/8 de comma 1.00000 1.05633 1.12151 1.19072 1.25779 1.33541 1.41062 1.49767 1.58203 1.67966 1.78331 1.88376

Temperamento mesotónico de 1/9 de comma 1.00000 1.05760 1.12190 1.19010 1.25866 1.33517 1.41209 1.49793 1.58422 1.68053 1.78269 1.88538

Temperamento mesotónico de 1/10 de comma 1.00000 1.05863 1.12221 1.18961 1.25935 1.33499 1.41326 1.49814 1.58597 1.68122 1.78220 1.88668

Temperamento mesotónico de 2/7 de comma - Zarlino 1.00000 1.04167 1.11704 1.19787 1.24778 1.33807 1.39383 1.49469 1.55696 1.66963 1.79044 1.86504

Page 217: SpecMusic Libre

217

Escala física de Delezénue521 1/1 135/128 9/8 6/5 5/4 4/3 45/32 3/2 25/16 5/3 16/9 15/8

521 Jaime Piles Estellés: Intervalos y gamas, Instituto

Valenciano de Musicología de la Institución Alfonso el Magnánimo, Ed. Piles, Valencia 1982.

Page 218: SpecMusic Libre

218

BUENOS TEMPERAMENTOS Werckmeister I522 1.00000 1.05350 1.11740 1.18518 1.25283 1.33333 1.40466 1.49493 1.58025 1.67044 1.77778 1.87924

Temperamento Werckmeister II 1.00000 1.05350 1.11488 1.18518 1.25424 1.33333 1.40466 1.49324 1.58025 1.67232 1.77778 1.88136

Temperamento Werckmeister III523 1.00000 1.05350 1.11740 1.18518 1.25283 1.33333 1.40466 1.49493 1.58025 1.67044 1.77778 1.87924

522 Los temperamentos Werckmeister I, Werckmeister

II, Neidhardt I y Marpurg I se han calculado a partir de los datos dados en J. Javier Goldáraz Gaínza: Afinación y

temperamento en la música occidental, Alianza Música, Madrid, 1992.

523 Este temperamento resulta igual al de Werckmeister I dado por J. J. Goldáraz.

Temperamento Werckmeister III (en Sol) 1.00000 1.05350 1.12119 1.18518 1.25283 1.33333 1.40943 1.50000 1.58025 1.67610 1.77778 1.87924

Temperamento Werckmeister III (en Fa) 1.00000 1.05707 1.11740 1.18921 1.25708 1.33786 1.40943 1.49493 1.58561 1.67610 1.78381 1.87924

Temperamento Werckmeister IV 1.00000 1.04875 1.11993 1.18518 1.25424 1.33333 1.40466 1.49324 1.57312 1.67232 1.78583 1.87288

Page 219: SpecMusic Libre

219

Temperamento Werckmeister IV (en Sol) 1.00000 1.05350 1.11993 1.17984 1.25424 1.33937 1.40466 1.50000 1.57312 1.67989 1.77778 1.88136

Temperamento Werckmeister IV (en Fa) 1.00000 1.05350 1.11993 1.19594 1.25424 1.33937 1.40466 1.50000 1.58740 1.67989 1.78583 1.88136

Temperamento Werckmeister V 1.00000 1.05707 1.12500 1.18921 1.25708 1.33786 1.41421 1.50000 1.58025 1.68179 1.78381 1.88562

Temperamento Werckmeister V (en Sol) 1.00000 1.05707 1.12120 1.18118 1.25708 1.33333 1.40943 1.49493 1.58025 1.68179 1.77778 1.87924

Temperamento Werckmeister V (en Fa) 1.00000 1.05350 1.12119 1.18921 1.25708 1.33333 1.40943 1.50000 1.58561 1.67610 1.78381 1.88562

Temperamento Kirnberger II 1.00000 1.05350 1.12500 1.18518 1.25000 1.33333 1.40625 1.50000 1.58025 1.67705 1.77778 1.87500

Temperamento Kirnberger II (en Sol) 1.00000 1.05469 1.12500 1.18518 1.25779 1.33333 1.40625 1.50000 1.58025 1.68750 1.77778 1.87500

Temperamento de Kirnberger II (en Fa) 1.00000 1.05350 1.11803 1.18518 1.25000 1.33333 1.40466 1.50000 1.58025 1.66667 1.77778 1.87500

Page 220: SpecMusic Libre

220

Temperamento Kirnberger III 1.00000 1.05350 1.11803 1.18518 1.25000 1.33333 1.40625 1.49535 1.58025 1.67185 1.77778 1.87500

Temperamento Kirnberger III (en Sol) 1.00000 1.05469 1.12151 1.18518 1.25389 1.33333 1.40625 1.50000 1.58025 1.67705 1.77778 1.87500

Temperamento Kirnberger III (en Fa) 1.00000 1.05677 1.11803 1.88887 1.25389 1.33748 1.40903 1.49535 1.58516 1.67185 1.78331 1.88083

Temperamento Neidhardt I 1.00000 1.05588 1.11993 1.18652 1.25424 1.33333 1.40784 1.49662 1.58382 1.67610 1.77778 1.87924

Temperamento Marpurg I 1.00000 1.06306 1.12500 1.19055 1.25992 1.33937 1.41741 1.50000 1.58740 1.68750 1.78583 1.88988

Temperamento Barca 1.00000 1.05469 1.12035 1.18652 1.25519 1.33333 1.40625 1.49690 1.58203 1.67705 1.77778 1.87889

Temperamento Barca (en Sol) 1.00000 1.05469 1.12267 1.18652 1.25779 1.33333 1.40917 1.50000 1.58203 1.68053 1.77979 1.88278

Temperamento Barca (en Fa) 1.00000 1.05687 1.12035 1.18764 1.25519 1.33610 1.40917 1.49690 1.58531 1.67705 1.78146 1.87889

Page 221: SpecMusic Libre

221

Temperamento Tartini-Vallotti 1.00000 1.05350 1.11993 1.18518 1.25424 1.33333 1.40466 1.49662 1.58025 1.67610 1.77778 1.87712

Temperamento Tartini-Vallotti (en Sol) 1.00000 1.05350 1.12246 1.18518 1.25708 1.33333 1.40784 1.50000 1.58025 1.67989 1.77778 1.88136

Temperamento Tartini-Vallotti (en Fa) 1.00000 1.05588 1.11993 1.18786 1.25424 1.33635 1.40784 1.49662 1.58382 1.67610 1.78180 1.87712

Temperamento Schlick 1.00000 1.05164 1.11942 1.19158 1.25311 1.33665 1.40421 1.49628 1.58648 1.67497 1.78478 1.87500

Temperamento Bach-Kellner 1.00000 1.05350 1.11892 1.18518 1.25198 1.33333 1.40466 1.49594 1.58025 1.67383 1.77778 1.87797

Temperamento Bach-Kellner (en Sol) 1.00000 1.05350 1.12195 1.18518 1.25538 1.33333 1.40848 1.50000 1.58025 1.67838 1.77778 1.87797

Temperamento Bach-Kellner (en Fa) 1.00000 1.05636 1.11892 1.18840 1.25538 1.33695 1.40848 1.49594 1.58454 1.67383 1.78260 1.87797

Temperamento Barnes524 1.00000 1.05588 1.11993 1.18786 1.25424 1.33635 1.40784 1.49662 1.58382 1.67610 1.78180 1.88136

524 John Barnes: “Bach’s keyboard temperament”, Early

Music, Vol. 7, Oxford University Press, London 1979.

Page 222: SpecMusic Libre

222

TEMPERAMENTOS FRANCESES Temperamento Bethisy 1.00000 1.05142 1.11803 1.18162 1.25000 1.33200 1.40334 1.49535 1.57549 1.67185 1.77421 1.87306

Temperamento Chaumont 1.00000 1.04491 1.11803 1.18151 1.25000 1.33748 1.39754 1.49535 1.56250 1.67185 1.77778 1.86919

Temperamento Corrette 1.00000 1.04491 1.11803 1.18151 1.25000 1.33748 1.39754 1.49535 1.57224 1.67185 1.77778 1.86919

Temperamento D'Alembert-Rousseau 1.00000 1.05142 1.11803 1.18251 1.25000 1.33233 1.40334 1.49535 1.57549 1.67185 1.77510 1.87306

Temperamento Marpourg 1.00000 1.04988 1.11803 1.18498 1.25000 1.33748 1.39754 1.49535 1.57739 1.67185 1.78039 1.86919

Temperamento Rousseau (sostenidos) 1.00000 1.04491 1.11803 1.17938 1.25000 1.33326 1.39754 1.49535 1.56497 1.67185 1.77477 1.86919

Temperamento Rousseau (bemoles) 1.00000 1.05487 1.11803 1.19250 1.25000 1.33748 1.39975 1.49535 1.58740 1.67185 1.78885 1.86919

Temperamento Asselin 1.00000 1.05707 1.12120 1.18921 1.25708 1.33559 1.40943 1.49746 1.58561 1.67895 1.78381 1.88243

Page 223: SpecMusic Libre

223

MODO MIXOLIDIO Escala pitagórica - Modo mixolidio 1/1 9/8 81/64 4/3 3/2 27/16 16/9

Escala física de Zarlino - Modo mixolidio 1/1 9/8 5/4 4/3 3/2 5/3 9/5

Temperamento igual - Modo mixolidio 1.00000 1.10409 1.21901 1.34590 1.48599 1.64067 1.73822

Temperamento mesotónico de 1/4 de comma - Modo mixolidio 1.00000 1.11704 1.24778 1.33807 1.49469 1.66963 1.78885

Temperamento Werckmeister III - Modo mixolidio 1.00000 1.11740 1.25283 1.33333 1.49493 1.67044 1.77778

OTROS Temperamento igual de 33 notas 1.00000 1.02123 1.04290 1.06504 1.08765 1.11073 1.13431 1.15839 1.18298 1.20809 1.23373 1.25992 1.28666 1.31398 1.34187 1.37035 1.39944 1.42914 1.45948 1.49046 1.52210 1.55441 1.58740 1.62110 1.65551 1.69065 1.72653 1.76318 1.80061 1.83883 1.87786 1.91772 1.95843

Page 224: SpecMusic Libre

224

ESCALAS RELACIONADAS Escala relacionada con el espectro armónico de 5 picos 1.00000 1.16500 1.25000 1.33300 1.50000 1.66700 1.79100

Escala relacionada con el espectro armónico de 6 picos 1.00000 1.14100 1.20000 1.25000 1.33300 1.50000 1.66700 1.77800

Escala relacionada con el espectro del tingshaw 1.00000 1.16100 1.27500 1.32700 1.42600 1.55400 1.65600 1.81900 1.91200

Escala relacionada con el espectro reducido del violín (6 picos) 1.00000 1.20000 1.25000 1.33300 1.50000 1.66700 1.73200

Escala relacionada con el espectro reducido del violín (5 picos) 1.00000 1.19000 1.25000 1.33300 1.50000 1.66700

Escala relacionada con el espectro del violín 1.00000 1.07300 1.09100 1.10000 1.11100 1.12500 1.14300 1.16700 1.20000 1.20700 1.22200 1.25000 1.28600 1.33300 1.35500 1.37500 1.40000 1.41700 1.42800 1.45400 1.50000 1.55600 1.57200 1.60000 1.65700 1.66600 1.70000 1.71400 1.75000 1.77800 1.80000 1.83300 1.86400

Page 225: SpecMusic Libre

225

6. ESTRUCTURA DE LAS CLASES DE DOCUMENTOS

CLASE CEscala class CEscala { // DECLARE_SERIAL (CEscala) public: BOOL tipo; int dim; char *cabecera; CString szNomFichero; CString szNomEscala; CString szDatos[6]; double *valores; double *aux; CRacional *valores_rac; CRacional *aux_rac; char *texto_escala; static double nFrecLa3; public: CEscala (); CEscala (int d, BOOL t = true); CEscala (double a[], int d); CEscala (CRacional a[], int d); CEscala (const CEscala& esc); void VaciarEscala (); virtual ~CEscala (); void set (double value); void set (CRacional &value); double &operator() (int i); CRacional &operator[] (int i); CEscala &operator=(const CEscala &); public: int LA (int d); static void CambiarFrecLa3 (double frec); double frecuencia (int nota, int octava); double relacion (int nota1, int nota2, int octava1, int octava2); CRacional fraccion (int nota1, int nota2, int octava1, int octava2); double distancia (double intervalo, int opcion); public: int conversion ( int octava, int modo, int tono, int opcion1, int opcion2, int opcion3); protected: int conversion (int opcion1, int opcion2, int opcion3); void conversion_intervalos_pequenos (); void conversion_relaciones (); void conversion_relaciones_pequenas (); void conversion_frecuencias (); void conversion_distancias (int opcion); void conversion_distancias_pequenas (int opcion); public: bool Serialize (CArchive &ar); bool AbrirFichero (int IdEscala); bool AbrirFichero (CString NombreFichero); void EditarEscala (int manera); bool EntrarEscala (CString Texto); protected: bool TextoCorrecto (CString Texto); };

Page 226: SpecMusic Libre

226

CLASE CEspectro class CEspectro { // DECLARE_SERIAL (CEspectro) private: double CEspectro::minim (double a, double b); void tren_deltas (int NN); double *funcion (int BW, double (*pfn)(int)); void filtro (double *buffer, int N2, int N1); public: int NPicos; int dim_aux; double *frecuencias; double *amplitudes; double *frec_aux; double *amp_aux; double *valores; char *cabecera; char *texto_espectro; CString szNomFichero; CString szNomEspectro; CString szDatos[6]; static int nFk; CEspectro(); CEspectro (int n); CEspectro (int n, double a[], double b[] = NULL); CEspectro (const CEspectro& esp); virtual ~CEspectro(); void VaciarEspectro (); void set (double a[], double value); double &operator() (int i); double &operator[] (int i); CEspectro &operator =(const CEspectro &esp); static void CambiarFrecMuestreo (int frec); void curva_disonancia (); protected: void asignacion_frecuencia (double frec); void asignacion_amplitud (double amp); public: int conversion ( int opcion1, int opcion2, double frec, double amp, int NMuestras, double BWPico); void normalizacion_frecuencia (); void normalizacion_amplitud (); void conversion_secuencia (double BWPico); protected: void EditarEspectro (double *p_frec, double *p_ampl); void EditarSecuencia (); public: bool Serialize (CArchive &ar); bool AbrirFichero (int IdEspectro); bool AbrirFichero (CString NombreFichero); void EditarEspectro (int manera); bool EntrarEspectro (CString Texto); double medida_disonancia (double alpha); double medida_disonancia (double *alpha, int N); CEscala *ObtenerEscala(); protected:

Page 227: SpecMusic Libre

227

bool TextoCorrecto (CString Texto); };

Page 228: SpecMusic Libre

228

CLASE CNota class CNota { private: int ObtenerOctava (int octava1); void EstablecerNumero (CString Texto); void EstablecerLetra (CString Texto); void EstablecerHex (CString Texto); public: int nombre; int octava; double afinacion; CNota(); virtual ~CNota(); CString Visualizar(int System, int Octave, int Mode); void Establecer(CString Texto); BYTE ObtenerByte (); void Obtener (BYTE data); };

CLASE CAcorde class CAcorde { private: bool signo (double x); double derivada (double f, double g, double v, double w); double gradiente (int i, CEspectro &Espectro); public: void calcular_frecuencia_fundamental (); void calcular_relaciones (int opcion1, int opcion2, int opcion3); void calcular_relaciones (CEscala &Escala, int opcion1, int opcion2, int opcion3); bool buscar (int *ac); public: UINT NNotas; CNota *notas; double *intervalos; CRacional *intervalos_rac; int duracion; CAcorde(); virtual ~CAcorde(); CAcorde (int n); CAcorde (const CAcorde& ac); void VaciarAcorde (); void set (double value1, int value2, int value3, double value4, int value5, int value6); CNota &operator() (int i); double &operator[] (int i); CAcorde &operator= (const CAcorde &ac); void Visualizar(CString &Texto, int Sistema, int Octava, int Modo); void Establecer(CString Texto); void calcular_frecuencias (CEscala &Escala); bool algoritmo_adaptativo (int n, CEspectro &Espectro); void automatic_just_intonation (CEspectro &Espectro); };

Page 229: SpecMusic Libre

229

CLASE CPartitura class CPartitura { // DECLARE_SERIAL (CPartitura) protected: int CalcularDimensionDisonancia(); public: char *cabecera; UINT NAcordes; CAcorde *Seq_acordes; char *texto_partitura; CString szNomPartitura; CString szNomFichero; CString szDatos[6]; int dim_aux; double *disonancia; CPartitura(); virtual ~CPartitura(); CPartitura (int n); CPartitura (const CPartitura& part); void VaciarPartitura (); CAcorde &operator() (int i); CNota &operator() (int i, int j); CPartitura &operator =(const CPartitura &part); void EditarPartitura ( int Opcion, // Tipo de representación (partitura o frecuencias / intervalos) // Caso de representación partitura: int Notas, // Representación de las notas int Octavas, // Representación de las octavas int EscalaCrom, // Tipo de escala cromática para la representación de las notas // Caso de representación frecuencias / intervalos: int OpcionFrec, // Frecuencias / intervalos / distancias / fracciones int OpcionInt, // Intervalos grandes / pequeños int OpcionDist, // Unidad de medida de las distancias int Afinacion, // Afinación fija (caso 0, 1) o variable (caso 2) CEscala &Escala // Escala (si es el caso) ); void _EditarPartitura (int Afinacion, int Opcion); void EditarPartitura (int Sistema = SPANISH, int Octava = 2, int Modo = 3); void _EditarPartitura (int Opcion); bool EntrarPartitura (CString Texto); bool AbrirFichero (int IdPartitura); bool AbrirFichero (CString NombreFichero); bool Serialize (CArchive &ar); void CalcularFrecuencias (CEscala &Escala); void AlgoritmoAdaptativo (CEspectro &Espectro, CEscala &Escala); void AlgoritmoJustaEntonacion (CEspectro &Espectro); void CalcularRelaciones ( CEscala &Escala, int Opcion1, int Opcion2, int Opcion3); void CalcularRelaciones ( int Opcion1, int Opcion2, int Opcion3); void Conversion ( int Opcion, // Tipo de representación (partitura o frecuencias / intervalos)

Page 230: SpecMusic Libre

230

// Caso de representación partitura: int Notas, // Representación de las notas int Octavas, // Representación de las octavas int EscalaCrom, // Tipo de escala cromática para la representación de las notas // Caso de representación frecuencias / intervalos: int OpcionFrec, // Frecuencias / intervalos / distancias / fracciones int OpcionInt, // Intervalos grandes / pequeños int OpcionDist, // Unidad de medida de las distancias int Afinacion, // Afinación fija (caso 0, 1) o variable (caso 2) // Caso de afinación variable o adaptativa: int Algoritmo, // Tipo de algoritmo double ParamAlg, // Parámetro del algoritmo CEscala &Escala, // Escala (si es el caso) CEspectro &Espectro // Espectro (si es el caso) ); double DissonanceScore( int nEscala, int nAlgoritmo, double nParamAlg, CEscala &Escala, CEspectro &Espectro); void EditarPartituraDisonancia(double TD); protected: double RefTD (CEspectro &Espectro); bool TextoCorrecto (CString Texto); };

Page 231: SpecMusic Libre

231

CLASE CSecuenciaMIDI class CSecuenciaMIDI { // DECLARE_SERIAL (CSecuenciaMIDI) public: int dim; int Formato; WORD Resolucion; int NTracks; CString szNomFichero; CString szNomSecuenciaMIDI; CString szDatos[6]; BYTE *Eventos; char *texto_secuenciaMIDI; CMidiStream *m_pStream; CMidiStream *m_pAuxStream; CSecuenciaMIDI (int Format = FORMAT, WORD Res = RES, int nTr = NTRACKS); CSecuenciaMIDI (int d, int t = 1, int Format = FORMAT, WORD Res = RES, int nTr = NTRACKS); CSecuenciaMIDI (BYTE a[], int d, int t = 1, int Format = FORMAT, WORD Res = RES, int nTr = NTRACKS); CSecuenciaMIDI (const CSecuenciaMIDI& sec); virtual ~CSecuenciaMIDI(); void VaciarSecuenciaMIDI(); BYTE& operator() (int i); CMidiEvent& operator[] (int i); CSecuenciaMIDI &operator= (const CSecuenciaMIDI& sec); void set(BYTE value); void set(CMidiEvent &Event); bool AbrirFichero (int IdSecuenciaMIDI); bool AbrirFichero (CString NombreFichero); bool EntrarSecuenciaMIDI (CString Texto); void EditarBytes (); bool LeerBytes (CString NombreFichero); bool EntrarBytes (CString Texto); bool EscribirBytes (CString NombreFichero); bool Serialize (CArchive& ar); void Conversion ( int Opcion, // Bytes o eventos BOOL Afinacion, // Cambiar afinación int OpcEscala, // Afinación fija (valores 0, 1) o variable (valor 2) int Algoritmo, // Tipo de algoritmo double ParamAlg, // Parámetro del algoritmo int Res, // Resolución de frecuencia del dispositivo CEscala &Escala, // Escala (si es el caso) CEspectro &Espectro // Espectro (si es el caso) ); void _EditarSecuenciaMIDI (BOOL Afinacion, int System = SPANISH, int Octave = 2, int Mode = 3); void EditarSecuenciaMIDI ( int Opcion, // Bytes o eventos BOOL Afinacion, // Cambiar afinación int System = SPANISH, int Octave = 2, int Mode = 3); void CambiarAfinacion ( int OpcEscala, // Afinación fija (valores 0, 1) o variable (valor 2) int Algoritmo, // Tipo de algoritmo double ParamAlg, // Parámetro del algoritmo int Res, // Resolución de frecuencia del dispositivo CEscala &Escala, // Escala (si es el caso) CEspectro &Espectro // Espectro (si es el caso) ); void ChangePatch (BYTE Patch, bool bChangeTuning, bool bProc = true);

Page 232: SpecMusic Libre

232

CAcorde *ObtenerNuevoAcorde (BYTE nota_MIDI, CAcorde *AcordeAnterior, UINT TipoEvento); CAcorde *ModificarAcorde (BYTE nota_MIDI, CAcorde *AcordeActual, UINT TipoEvento); CAcorde *ObtenerNuevoAcorde (BYTE nota_MIDI); void ObtenerPartitura(CPartitura *pPartitura); BOOL EstaEnAcordeActual (CPartitura *pPartitura, int i, int j); BOOL EstaEnAcordeAnterior (CPartitura *pPartitura, int i, int j); void ObtenerSecuenciaMIDI(CPartitura &Partitura); int ObtenerTrack(CMidiTrack *pTrack, CPartitura *pPartitura); int ObtenerPrimerTrack(CMidiTrack *pTrack); int BytesDelta(DWORD dwValue); // Obtain number of bytes for a delta time protected: bool TextoCorrecto (CString Texto); bool BytesCorrectos (CString Texto); };

Page 233: SpecMusic Libre

233

CLASE COndaWAVE class COndaWAVE { // DECLARE_SERIAL (COndaWAVE) public: int dim; WaveFile FicheroAudio; CString szNomFichero; CString szNomOndaWAVE; CString szDatos[6]; int *valores; double *valores_aux; char *texto_ondaWAVE; DDCRET Resultado; WORD BitsPorMuestra; DWORD FrecuenciaDeMuestreo; WORD NumeroDeCanales; int conversion (int Opcion, int Amplitud); void AsignarAmplitud (int Amplitud); void NormalizarOndaWAVE (); void ModeloEspectral (double *buffer, CEspectro &Espectro, int DimMatrix, double fk); void fft(Matrix &RealA, Matrix &ImagA); void ifft(Matrix &RealA, Matrix &ImagA); double media(double *buffer, int num); COndaWAVE (int Fk = FK, int bpS = BPS, int nCh = NC); COndaWAVE (int d, int Fk = FK, int bpS = BPS, int nCh = NC); COndaWAVE (int a[], int d, int Fk = FK, int bpS = BPS, int nCh = NC); COndaWAVE (double a[], int d, int Fk = FK, int bpS = BPS, int nCh = NC); COndaWAVE (const COndaWAVE& wav); void VaciarOndaWAVE (); virtual ~COndaWAVE (); void set (int value); void set (double value); int &operator() (int i); double &operator[] (int i); COndaWAVE &operator =(const COndaWAVE &wav); bool Serialize (CArchive &ar); bool AbrirFichero (int IdOndaWAVE); bool AbrirFichero (CString NombreFichero); DDCRET LeerFichero (CString NombreFichero); DDCRET EscribirFichero (CString NombreFichero); void EditarOndaWAVE (int manera); bool EntrarOndaWAVE (CString Texto); void ObtenerOndaWAVE ( CEspectro &Espectro, double AnchoBandaPico = BW_PICK, int NumeroDeDatos = N_DATA); CEspectro *ObtenerEspectro(); protected: bool TextoCorrecto (CString Texto); };

Page 234: SpecMusic Libre

234

CLASE CTexto class CTexto { // DECLARE_SERIAL (CTexto) public: int dim; char *texto_texto; CString szNomFichero; CString szNomTexto; CString szDatos[6]; CTexto(); CTexto (int n); CTexto (int n, char t[]); CTexto (const CTexto& tex); virtual ~CTexto(); void VaciarTexto(); void set (char car); char &operator() (int i); bool Serialize (CArchive &ar); bool AbrirFichero (int IdTexto); bool AbrirFichero (CString NombreFichero); bool EscribirFichero (CString NombreFichero); bool EntrarTexto (CString Texto); protected: bool TextoCorrecto (CString Texto); };

Page 235: SpecMusic Libre

235

7. TABLAS DE RESULTADOS - EJEMPLO1

ESCALA PITAGÓRICA Frecuencias 130.37 330.00 391.11 521.48 146.67 293.33 391.11 495.00 165.00 260.74 391.11 521.48 173.83 260.74 347.65 440.00 154.51 247.50 371.25 495.00 165.00 247.50 330.00 417.66 130.37 208.83 309.03 417.66 139.22 208.83 278.44 330.00 130.37 220.00 293.33 371.25 123.75 195.56 293.33 391.11 123.75 195.56 293.33 347.65 130.37 195.56 260.74 330.00 130.37 391.11 521.48 660.00 146.67 347.65 440.00 586.67 173.83 347.65 417.66 521.48 195.56 293.33 391.11 495.00 130.37 330.00 391.11 521.48

Page 236: SpecMusic Libre

236

Fracciones grandes 81/32 3/1 4/1 2/1 8/3 27/8 128/81 64/27 256/81 3/2 2/1 81/32 6561/4096 19683/8192 6561/2048 3/2 2/1 81/32 6561/4096 64/27 6561/2048

3/2 2/1 64/27 27/16 9/4 729/256 128/81 64/27 256/81 128/81 64/27 2048/729 3/2 2/1 81/32 3/1 4/1 81/16 64/27 3/1 4/1 2/1 19683/8192 3/1 3/2 2/1 81/32 81/32 3/1 4/1

Fracciones pequeñas 81/32 32/27 4/3 2/1 4/3 81/64 128/81 3/2 4/3 3/2 4/3 81/64 6561/4096 3/2 4/3 3/2 4/3 81/64 6561/4096 262144/177147 177147/131072 3/2 4/3 32/27 27/16 4/3 81/64 128/81 3/2 4/3 128/81 3/2 32/27 3/2 4/3 81/64 3/1 4/3 81/64 64/27 81/64 4/3 2/1 19683/16384 8192/6561 3/2 4/3 81/64 81/32 32/27 4/3

Razones grandes 2.53125 3.00000 4.00000 2.00000 2.66667 3.37500 1.58025 2.37037 3.16049 1.50000 2.00000 2.53125 1.60181 2.40271 3.20361 1.50000 2.00000 2.53125 1.60181 2.37037 3.20361 1.50000 2.00000 2.37037 1.68750 2.25000 2.84766 1.58025 2.37037 3.16049 1.58025 2.37037 2.80933 1.50000 2.00000 2.53125 3.00000 4.00000 5.06250 2.37037 3.00000 4.00000 2.00000 2.40271 3.00000 1.50000 2.00000 2.53125 2.53125 3.00000 4.00000

Razones pequeñas 2.53125 1.18519 1.33333 2.00000 1.33333 1.26563 1.58025 1.50000 1.33333 1.50000 1.33333 1.26563 1.60181 1.50000 1.33333 1.50000 1.33333 1.26563 1.60181 1.47981 1.35152 1.50000 1.33333 1.18519 1.68750 1.33333 1.26563 1.58025 1.50000 1.33333 1.58025 1.50000 1.18519 1.50000 1.33333 1.26563 3.00000 1.33333 1.26563 2.37037 1.26563 1.33333 2.00000 1.20135 1.24859 1.50000 1.33333 1.26563 2.53125 1.18519 1.33333

Distancias grandes 1607.82 1901.96 2400.00 1200.00 1698.04 2105.87 792.18 1494.13 1992.18 701.96 1200.00 1607.82 815.64 1517.60 2015.64 701.96 1200.00 1607.82 815.64 1494.13 2015.64 701.96 1200.00 1494.13 905.87 1403.91 1811.73 792.18 1494.13 1992.18 792.18 1494.13 1788.27 701.96 1200.00 1607.82 1901.96 2400.00 2807.82 1494.13 1901.96 2400.00 1200.00 1517.60 1901.96 701.96 1200.00 1607.82 1607.82 1901.96 2400.00

Distancias pequeñas 1607.82 294.13 498.04 1200.00 498.04 407.82 792.18 701.96 498.04 701.96 498.04 407.82 815.64 701.96 498.04 701.96 498.04 407.82 815.64 678.49 521.51 701.96 498.04 294.13 905.87 498.04 407.82 792.18 701.96 498.04 792.18 701.96 294.13 701.96 498.04 407.82 1901.96 498.04 407.82 1494.13 407.82 498.04 1200.00 317.60 384.36 701.96 498.04 407.82 1607.82 294.13 498.04

Page 237: SpecMusic Libre

237

ESCALA FÍSICA DE ZARLINO Frecuencias 132.00 330.00 396.00 528.00 148.50 297.00 396.00 495.00 165.00 264.00 396.00 528.00 176.00 264.00 352.00 440.00 158.40 247.50 366.67 495.00 165.00 247.50 330.00 412.50 132.00 206.25 316.80 412.50 137.50 206.25 275.00 330.00 132.00 220.00 297.00 366.67 123.75 198.00 297.00 396.00 123.75 198.00 297.00 352.00 132.00 198.00 264.00 330.00 132.00 396.00 528.00 660.00 148.50 352.00 440.00 594.00 176.00 352.00 412.50 528.00 198.00 297.00 396.00 495.00 132.00 330.00 396.00 528.00

Page 238: SpecMusic Libre

238

Fracciones grandes 5/2 3/1 4/1 2/1 8/3 10/3 8/5 12/5 16/5 3/2 2/1 5/2 25/16 125/54 25/8 3/2 2/1 5/2 25/16 12/5 25/8 3/2 2/1 12/5 5/3 9/4 25/9 8/5 12/5 16/5 8/5 12/5 128/45 3/2 2/1 5/2 3/1 4/1 5/1 64/27 80/27 4/1 2/1 75/32 3/1 3/2 2/1 5/2 5/2 3/1 4/1

Fracciones pequeñas 5/2 6/5 4/3 2/1 4/3 5/4 8/5 3/2 4/3 3/2 4/3 5/4 25/16 40/27 27/20 3/2 4/3 5/4 25/16 192/125 125/96 3/2 4/3 6/5 5/3 27/20 100/81 8/5 3/2 4/3 8/5 3/2 32/27 3/2 4/3 5/4 3/1 4/3 5/4 64/27 5/4 27/20 2/1 75/64 32/25 3/2 4/3 5/4 5/2 6/5 4/3

Razones grandes 2.50000 3.00000 4.00000 2.00000 2.66667 3.33333 1.60000 2.40000 3.20000 1.50000 2.00000 2.50000 1.56250 2.31481 3.12500 1.50000 2.00000 2.50000 1.56250 2.40000 3.12500 1.50000 2.00000 2.40000 1.66667 2.25000 2.77778 1.60000 2.40000 3.20000 1.60000 2.40000 2.84444 1.50000 2.00000 2.50000 3.00000 4.00000 5.00000 2.37037 2.96296 4.00000 2.00000 2.34375 3.00000 1.50000 2.00000 2.50000 2.50000 3.00000 4.00000

Razones pequeñas 2.50000 1.20000 1.33333 2.00000 1.33333 1.25000 1.60000 1.50000 1.33333 1.50000 1.33333 1.25000 1.56250 1.48148 1.35000 1.50000 1.33333 1.25000 1.56250 1.53600 1.30208 1.50000 1.33333 1.20000 1.66667 1.35000 1.23457 1.60000 1.50000 1.33333 1.60000 1.50000 1.18519 1.50000 1.33333 1.25000 3.00000 1.33333 1.25000 2.37037 1.25000 1.35000 2.00000 1.17188 1.28000 1.50000 1.33333 1.25000 2.50000 1.20000 1.33333

Distancias grandes 1586.31 1901.96 2400.00 1200.00 1698.04 2084.36 813.69 1515.64 2013.69 701.96 1200.00 1586.31 772.63 1453.08 1972.63 701.96 1200.00 1586.31 772.63 1515.64 1972.63 701.96 1200.00 1515.64 884.36 1403.91 1768.72 813.69 1515.64 2013.69 813.69 1515.64 1809.78 701.96 1200.00 1586.31 1901.96 2400.00 2786.31 1494.13 1880.45 2400.00 1200.00 1474.58 1901.96 701.96 1200.00 1586.31 1586.31 1901.96 2400.00

Distancias pequeñas 1586.31 315.64 498.04 1200.00 498.04 386.31 813.69 701.96 498.04 701.96 498.04 386.31 772.63 680.45 519.55 701.96 498.04 386.31 772.63 743.01 456.99 701.96 498.04 315.64 884.36 519.55 364.81 813.69 701.96 498.04 813.69 701.96 294.13 701.96 498.04 386.31 1901.96 498.04 386.31 1494.13 386.31 519.55 1200.00 274.58 427.37 701.96 498.04 386.31 1586.31 315.64 498.04

Page 239: SpecMusic Libre

239

TEMPERAMENTO IGUAL Frecuencias 130.81 329.63 392.00 523.25 146.83 293.66 392.00 493.88 164.81 261.63 392.00 523.25 174.61 261.63 349.23 440.00 155.56 246.94 369.99 493.88 164.81 246.94 329.63 415.31 130.81 207.65 311.13 415.31 138.59 207.65 277.18 329.63 130.81 220.00 293.66 369.99 123.47 196.00 293.66 392.00 123.47 196.00 293.66 349.23 130.81 196.00 261.63 329.63 130.81 392.00 523.25 659.26 146.83 349.23 440.00 587.33 174.61 349.23 415.31 523.25 196.00 293.66 392.00 493.88 130.81 329.63 392.00 523.25

Razones grandes 2.51984 2.99662 4.00000 2.00000 2.66969 3.36359 1.58740 2.37842 3.17480 1.49831 2.00000 2.51984 1.58740 2.37840 3.17480 1.49831 2.00000 2.51984 1.58740 2.37842 3.17480 1.49831 2.00000 2.37842 1.68179 2.24492 2.82842 1.58740 2.37841 3.17481 1.58740 2.37841 2.82843 1.49831 2.00000 2.51984 2.99662 4.00000 5.03968 2.37842 2.99661 4.00000 2.00000 2.37841 2.99661 1.49830 2.00000 2.51984 2.51984 2.99662 4.00000

Razones pequeñas 2.51984 1.18921 1.33484 2.00000 1.33484 1.25992 1.58740 1.49831 1.33484 1.49831 1.33484 1.25992 1.58740 1.49830 1.33484 1.49831 1.33484 1.25992 1.58740 1.49831 1.33484 1.49831 1.33484 1.18921 1.68179 1.33484 1.25992 1.58740 1.49830 1.33484 1.58740 1.49830 1.18921 1.49831 1.33484 1.25992 2.99662 1.33484 1.25992 2.37842 1.25992 1.33484 2.00000 1.18921 1.25992 1.49830 1.33484 1.25992 2.51984 1.18921 1.33484

Distancias grandes 1600.00 1900.00 2400.00 1200.00 1700.01 2100.00 800.00 1500.00 2000.00 700.00 1200.00 1600.00 800.00 1499.99 2000.00 700.00 1200.00 1600.00 800.00 1500.00 2000.00 700.00 1200.00 1500.00 900.00 1400.00 1800.00 800.00 1500.00 2000.00 800.00 1500.00 1800.00 700.00 1200.00 1600.00 1900.00 2400.00 2800.00 1500.00 1900.00 2400.00 1200.00 1500.00 1900.00 699.99 1200.00 1600.00 1600.00 1900.00 2400.00

Distancias pequeñas 1600.00 300.00 500.00 1200.00 500.01 400.00 800.00 700.00 500.00 700.00 500.00 400.00 800.00 699.99 500.01 700.00 500.00 400.00 800.00 700.01 499.99 700.00 500.00 300.00 900.00 500.00 400.00 800.00 699.99 500.01 800.00 699.99 300.00 700.00 500.00 400.00 1900.00 500.00 400.00 1500.00 400.00 500.00 1200.00 300.00 400.00 699.99 500.01 400.00 1600.00 300.00 500.00

Page 240: SpecMusic Libre

240

TEMPERAMENTO MESOTÓNICO DE 1/4 DE COMMA Frecuencias 131.59 328.98 393.55 526.36 147.12 294.24 393.55 491.94 164.49 263.18 393.55 526.36 176.00 263.18 352.00 440.00 157.42 245.97 367.81 491.94 164.49 245.97 328.98 411.22 131.59 205.61 314.84 411.22 137.50 205.61 275.00 328.98 131.59 220.00 294.24 367.81 122.98 196.77 294.24 393.55 122.98 196.77 294.24 352.00 131.59 196.77 263.18 328.98 131.59 393.55 526.36 657.95 147.12 352.00 440.00 588.49 176.00 352.00 411.22 526.36 196.77 294.24 393.55 491.94 131.59 328.98 393.55 526.36 Razones grandes 2.50000 2.99070 4.00000 2.00000 2.67497 3.34372 1.60000 2.39256 3.20000 1.49535 2.00000 2.50000 1.56250 2.33648 3.12500 1.49535 2.00000 2.50000 1.56250 2.39256 3.12500 1.49534 2.00000 2.39255 1.67185 2.23606 2.79508 1.60000 2.39254 3.20000 1.60000 2.39254 2.86216 1.49535 2.00000 2.50000 2.99070 4.00000 5.00000 2.39257 2.99071 4.00000 2.00000 2.33648 2.99070 1.49534 2.00000 2.50000 2.50000 2.99070 4.00000

Razones pequeñas 2.50000 1.19628 1.33748 2.00000 1.33749 1.25000 1.60000 1.49535 1.33748 1.49535 1.33748 1.25000 1.56250 1.49534 1.33749 1.49535 1.33748 1.25000 1.56250 1.53124 1.30613 1.49534 1.33748 1.19628 1.67185 1.33748 1.25000 1.60000 1.49534 1.33749 1.60000 1.49534 1.19628 1.49535 1.33748 1.25000 2.99070 1.33748 1.25000 2.39257 1.25000 1.33748 2.00000 1.16824 1.28000 1.49534 1.33749 1.25000 2.50000 1.19628 1.33748

Distancias grandes 1586.31 1896.58 2400.00 1200.00 1703.43 2089.75 813.69 1510.27 2013.69 696.58 1200.00 1586.31 772.63 1469.20 1972.63 696.58 1200.00 1586.31 772.63 1510.27 1972.63 696.57 1200.00 1510.26 889.73 1393.15 1779.47 813.68 1510.25 2013.68 813.68 1510.25 1820.52 696.58 1200.00 1586.31 1896.58 2400.00 2786.31 1510.27 1896.58 2400.00 1200.00 1469.21 1896.58 696.57 1200.00 1586.32 1586.31 1896.58 2400.00

Distancias pequeñas 1586.31 310.27 503.42 1200.00 503.43 386.32 813.69 696.58 503.42 696.58 503.42 386.31 772.63 696.57 503.43 696.58 503.42 386.31 772.63 737.64 462.36 696.57 503.43 310.26 889.73 503.42 386.32 813.68 696.57 503.43 813.68 696.57 310.27 696.58 503.42 386.31 1896.58 503.42 386.31 1510.27 386.31 503.42 1200.00 269.21 427.37 696.57 503.43 386.32 1586.31 310.27 503.42

Page 241: SpecMusic Libre

241

ALGORITMO ADAPTATIVO DE W. A. SETHARES - ESPECTRO ARMÓNICO Frecuencias 131.08 327.70 393.24 524.32 146.23 292.47 389.96 487.45 157.15 261.92 392.88 523.83 175.17 262.75 350.33 437.91 148.35 247.25 370.87 494.50 164.10 246.16 328.21 410.26 124.93 208.21 312.31 416.42 138.86 208.31 277.73 333.27 132.12 220.20 293.60 367.00 117.92 196.54 294.81 393.09 116.73 194.55 291.83 350.20 129.96 194.94 259.92 324.93 131.05 393.16 524.21 655.26 146.85 352.42 440.53 587.37 173.63 347.26 416.72 520.90 196.52 294.78 393.03 491.29 131.08 327.70 393.24 524.32

Razones grandes 2.50001 3.00002 4.00001 2.00000 2.66673 3.33341 1.66667 2.50001 3.33335 1.49999 1.99998 2.49999 1.66668 2.50004 3.33338 1.50002 2.00002 2.50003 1.66667 2.50000 3.33335 1.50012 2.00001 2.40001 1.66666 2.22223 2.77777 1.66670 2.50004 3.33339 1.66672 2.50007 3.00014 1.50002 2.00004 2.50021 3.00000 4.00002 5.00000 2.39997 2.99998 3.99989 1.99998 2.39998 3.00001 1.50001 2.00000 2.50000 2.50001 3.00002 4.00001

Razones pequeñas 2.50001 1.20000 1.33333 2.00000 1.33336 1.25000 1.66667 1.50000 1.33333 1.49999 1.33333 1.25001 1.66668 1.50001 1.33333 1.50002 1.33333 1.25000 1.66667 1.49999 1.33334 1.50012 1.33323 1.20000 1.66666 1.33334 1.25000 1.66670 1.49999 1.33333 1.66672 1.50000 1.20002 1.50002 1.33334 1.25008 3.00000 1.33334 1.24999 2.39997 1.25001 1.33331 1.99998 1.20000 1.25001 1.50001 1.33332 1.25000 2.50001 1.20000 1.33333

Distancias grandes 1586.32 1901.96 2400.01 1200.00 1698.09 2084.40 884.36 1586.32 2084.37 701.94 1199.98 1586.31 884.38 1586.34 2084.38 701.98 1200.02 1586.33 884.37 1586.31 2084.37 702.09 1200.01 1515.65 884.35 1382.41 1768.71 884.40 1586.34 2084.39 884.41 1586.36 1902.04 701.98 1200.04 1586.46 1901.95 2400.01 2786.31 1515.62 1901.94 2399.95 1199.99 1515.63 1901.96 701.97 1200.00 1586.31 1586.32 1901.96 2400.01

Distancias pequeñas 1586.32 315.64 498.04 1200.00 498.09 386.31 884.36 701.96 498.05 701.94 498.04 386.33 884.38 701.97 498.04 701.98 498.04 386.31 884.37 701.95 498.05 702.09 497.92 315.64 884.35 498.06 386.31 884.40 701.94 498.05 884.41 701.95 315.67 701.98 498.06 386.43 1901.95 498.06 386.30 1515.62 386.33 498.01 1199.99 315.64 386.33 701.97 498.03 386.31 1586.32 315.64 498.04

Page 242: SpecMusic Libre

ALGORITMO ADAPTATIVO DE W. A. SETHARES - ESPECTRO MODIFICADO Frecuencias 130.97 327.42 392.90 523.87 147.69 295.38 393.84 492.30 163.83 262.20 393.30 524.40 173.62 260.43 347.24 434.05 150.69 247.53 371.29 495.06 163.52 245.28 327.03 408.79 129.00 206.58 309.87 413.16 139.02 208.53 278.04 333.64 130.76 220.65 294.21 367.76 121.86 194.98 292.47 389.95 116.61 194.21 291.32 349.86 129.24 193.87 258.49 323.11 131.19 393.58 524.78 655.97 146.86 352.47 440.58 587.44 174.91 349.82 419.78 524.73 195.13 292.69 390.26 487.82 130.97 327.42 392.90 523.87

Razones grandes 2.50000 2.99998 3.99999 2.00005 2.66674 3.33342 1.60048 2.40070 3.20095 1.49999 1.99999 2.49999 1.64259 2.46388 3.28521 1.50003 2.00002 2.50002 1.60144 2.40219 3.20291 1.49998 2.00000 2.39998 1.68747 2.25000 2.81248 1.60002 2.40001 3.19991 1.66542 2.49816 3.00016 1.50004 2.00005 2.50005 3.00002 4.00001 5.00000 2.39999 2.99997 3.99998 1.99997 2.39997 3.00000 1.50002 2.00003 2.50003 2.50000 2.99998 3.99999

Razones pequeñas 2.50000 1.19999 1.33334 2.00005 1.33333 1.25000 1.60048 1.49999 1.33334 1.49999 1.33334 1.25000 1.64259 1.50000 1.33335 1.50003 1.33332 1.25000 1.60144 1.50002 1.33333 1.49998 1.33335 1.19999 1.68747 1.33335 1.24999 1.60002 1.49999 1.33329 1.66542 1.50002 1.20094 1.50004 1.33333 1.24999 3.00002 1.33333 1.25000 2.39999 1.24999 1.33334 1.99997 1.20000 1.25002 1.50002 1.33334 1.25000 2.50000 1.19999 1.33334

Distancias grandes 1586.31 1901.94 2399.99 1200.05 1698.09 2084.41 814.20 1516.14 2014.20 701.94 1200.00 1586.31 859.17 1561.12 2059.19 701.99 1200.02 1586.33 815.24 1517.22 2015.26 701.93 1200.00 1515.63 905.84 1403.91 1790.21 813.71 1515.65 2013.64 883.06 1585.04 1902.04 702.00 1200.04 1586.35 1901.97 2400.00 2786.31 1515.63 1901.94 2399.99 1199.97 1515.62 1901.95 701.98 1200.03 1586.33 1586.31 1901.94 2399.99

Distancias pequeñas 1586.31 315.63 498.05 1200.05 498.04 386.31 814.20 701.94 498.06 701.94 498.06 386.31 859.17 701.95 498.06 701.99 498.02 386.31 815.24 701.97 498.04 701.93 498.07 315.63 905.84 498.07 386.30 813.71 701.94 497.99 883.06 701.98 317.00 702.00 498.04 386.31 1901.97 498.04 386.31 1515.63 386.31 498.05 1199.97 315.65 386.34 701.98 498.05 386.31 1586.31 315.63 498.05

Page 243: SpecMusic Libre

8. TABLAS DE RESULTADOS - EJEMPLO2

ESCALA PITAGÓRICA Razones grandes 81/32 3/1 4/1 2/1 8/3 256/81 128/81 64/27 256/81 3/2 2/1 81/32 81/32 3/1 4/1

Razones pequeñas 81/32 32/27 4/3 2/1 4/3 32/27 128/81 3/2 4/3 3/2 4/3 81/64 81/32 32/27 4/3

ESCALA FÍSICA DE ZARLINO

Razones grandes 5/2 3/1 4/1 2/1 8/3 16/5 8/5 12/5 16/5 3/2 2/1 5/2 5/2 3/1 4/1

Razones pequeñas 5/2 6/5 4/3 2/1 4/3 6/5 8/5 3/2 4/3 3/2 4/3 5/4 5/2 6/5 4/3

TEMPERAMENTO IGUAL

Razones grandes 2.43802 2.97198 4.00000 2.00000 2.69179 3.14869 1.64068 2.43803 3.28135 1.48599 2.00000 2.43803 2.43802 2.97198 4.00000

Razones pequeñas 2.43802 1.21901 1.34590 2.00000 1.34590 1.16974 1.64068 1.48599 1.34590 1.48599 1.34590 1.21901 2.43802 1.21901 1.34590

TEMPERAMENTO MESOTÓNICO DE 1/4 DE COMMA

Razones grandes 2.49556 2.98938 4.00000 2.00000 2.67616 3.20284 1.60285 2.39576 3.20569 1.49469 2.00000 2.49558 2.49556 2.98938 4.00000

Razones pequeñas 2.49556 1.19788 1.33807 2.00000 1.33808 1.19680 1.60285 1.49469 1.33807 1.49469 1.33807 1.24779 2.49556 1.19788 1.33807

TEMPERAMENTO WERCKMEISTER III Razones grandes 2.50566 2.98986 4.00000 2.00000 2.67573 3.18199 1.59639 2.38648 3.19277 1.50000 2.00000 2.50567 2.50566 2.98986 4.00000

Razones pequeñas 2.50566 1.19324 1.33786 2.00000 1.33786 1.18921 1.59639 1.49493 1.33786 1.50000 1.33333 1.25283 2.50566 1.19324 1.33786

Page 244: SpecMusic Libre

244

ESCALA RELACIONADA - ESPECTRO ARMÓNICO

Razones grandes 2.50000 3.00000 4.00000 2.00000 2.57511 3.07468 1.60000 2.40000 3.20000 1.50038 2.00000 2.50113 2.50000 3.00000 4.00000

Razones pequeñas 2.50000 1.20000 1.33333 2.00000 1.28755 1.19400 1.60000 1.50000 1.33333 1.50038 1.33300 1.25056 2.50000 1.20000 1.33333

ALGORITMO ADAPTATIVO DE W. A. SETHARES - ESPECTRO ARMÓNICO

Razones grandes 2.45060 2.99998 4.00001 2.00001 2.66667 3.10011 1.66670 2.50001 3.33342 1.50001 1.99999 2.50001 2.45060 2.99998 4.00001

Razones pequeñas 2.45060 1.22418 1.33334 2.00001 1.33333 1.16254 1.66670 1.49998 1.33336 1.50001 1.33332 1.25001 2.45060 1.22418 1.33334

ESCALA RELACIONADA - ESPECTRO REAL

Razones grandes 2.50000 3.00000 4.00000 2.00000 2.66667 3.20000 1.60000 2.40000 3.20000 1.50038 2.00000 2.49962 2.50000 3.00000 4.00000

Razones pequeñas 2.50000 1.20000 1.33333 2.00000 1.33333 1.20000 1.60000 1.50000 1.33333 1.50038 1.33300 1.24981 2.50000 1.20000 1.33333

ALGORITMO ADAPTATIVO DE W. A. SETHARES - ESPECTRO REAL

Razones grandes 2.49994 3.00001 4.00000 1.99996 2.74992 3.40675 1.60006 2.40008 3.20014 1.49999 2.00003 2.57146 2.49994 3.00001 4.00000

Razones pequeñas 2.49994 1.20003 1.33333 1.99996 1.37499 1.23885 1.60006 1.50000 1.33334 1.49999 1.33336 1.28571 2.49994 1.20003 1.33333

ESCALA RELACIONADA - ESPECTRO REAL REDUCIDO

Razones grandes 2.50000 3.00000 4.00000 2.00000 2.50000 2.88667 1.60000 2.40000 3.20000 1.50038 2.00000 2.50113 2.50000 3.00000 4.00000

Razones pequeñas 2.50000 1.20000 1.33333 2.00000 1.25000 1.15467 1.60000 1.50000 1.33333 1.50038 1.33300 1.25056 2.50000 1.20000 1.33333

Page 245: SpecMusic Libre

245

ALGORITMO ADAPTATIVO DE W. A. SETHARES - ESPECTRO REAL REDUCIDO

Razones grandes 2.43389 3.00001 4.00001 2.00000 2.66663 3.15526 1.66667 2.50001 3.33337 1.50000 1.99999 2.47048 2.43389 3.00001 4.00001

Razones pequeñas 2.43389 1.23260 1.33333 2.00000 1.33331 1.18324 1.66667 1.50000 1.33334 1.50000 1.33332 1.23525 2.43389 1.23260 1.33333

Page 246: SpecMusic Libre

9. CURVAS DE DISONANCIA

Ilustración 37: E = {1, 2, 3, 4, 5; 1, 1, 1, 1, 1}

Ilustración 38: E = {1, 2, 3, 4, 5, 6; 1, 1, 1, 1, 1, 1}

Page 247: SpecMusic Libre

247

Ilustración 39: E = {1, 2, 3, 4, 5, 6, 8; 1, 1, 1, 1, 1, 1, 1}

Ilustración 40: E = {1, 2, 3, 4, 5, 6, 8, 9; 1, 1, 1, 1, 1, 1, 1, 1}

Page 248: SpecMusic Libre

248

Ilustración 41: E = {1, 2, 3, 4, 5, 6, 8, 9, 15; 1, 1, 1, 1, 1, 1, 1, 1, 1}

Page 249: SpecMusic Libre

249

Ilustración 42: E = {1, 2, 3, 4, 5, 6, 8, 9, 15, 16; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

Ilustración 43: E = {1, 2, 3, 4, 5, 6, 8, 9, 15, 16, 25; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

Page 250: SpecMusic Libre

250

Ilustración 44: E = {1, 2, 3, 4, 5, 6, 8, 9, 15, 16, 18, 25; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

Ilustración 45: E = {1, 2, 3, 4, 5, 6, 8, 9, 18, 25; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

Page 251: SpecMusic Libre

251

Ilustración 46: E = {1, 2, 3, 4, 5, 6, 8, 9; 1, 1, 2, 1, 0.5, 1, 1, 1}

Ilustración 47: E = {1, 2, 3, 4, 5, 6, 7, 11; 1, 1, 1, 1, 1, 1, 1, 1}

Page 252: SpecMusic Libre

252

Ilustración 48: E = {1, 2, 3, 4, 5; 1, 0.8, 0.64, 0.5, 0.4}