Los modos de la escala mayor – Ejercicios prácticos

Objetivo: afianzar los conocimientos teóricos sobre los modos griegos practicando la construcción de diversas escalas.

En el reciente artículo, dedicado a los modos de la escala mayor, explicamos la base teórica de su construcción y aprendimos a calcularlos a partir de una determinada escala mayor.

Vamos a complicarlo algo más hoy. Te pediré que calcules escalas como Mi Mixolidia, Re Frigia o Sol Sostenido Locria. Es más complicado porque no sabemos de qué escala mayor son modos y habrá que aprender a deducirla.

Más adelante dedicaremos artículos monográficos a cada una de estas escalas y explicaremos tanto su fórmula absoluta como la relativa. Conocidas éstas el cálculo de las notas será inmediato, pero hasta entonces la forma que te voy a explicar a continuación es la mejor forma de proceder.

Para mayor comodidad, voy a repetir el cuadro resumen de los modos:

Los modos de la escala mayor

Sobre el PRIMER grado --> Escala JÓNICA (escala mayor)

Sobre el SEGUNDO grado --> Escala DÓRICA

Sobre el TERCER grado --> Escala FRIGIA

Sobre el CUARTO grado --> Escala LIDIA

Sobre el QUINTO grado --> Escala MIXOLIDIA

Sobre el SEXTO grado --> Escala EÓLICA (es la escala menor natural)

Sobre el SÉPTIMO grado --> Escala LOCRIA

Ejercicio 1: Mi Mixolidia

Si consultas la tabla anterior, verás que la escala mixolidia se construye sobre el quinto grado de la escala mayor. Todo comienza, por lo tanto, por determinar qué escala mayor tiene por quinto grado MI.

Operaremos mediante una simple cuenta de la vieja hacia atrás

Puede resultar tentador esbozar un razonamiento como el siguiente: si el quinto grado es MI, el cuarto es RE, el tercero DO, el segundo SI y el primero LA. En este caso particular se trata en efecto de un LA natural, pero podría haber sido un LA bemol o un LA sostenido.

Para realizar la operación correcta hay que contar semitono a semitono.

Pero, ¿cuántos semitonos hacia atrás hay que contar desde el quinto grado hasta llegar al primero?

En el artículo Intervalos sin secretos – 2 de 2, una de las conclusiones a las que llegamos fue la siguiente:

– A la distancia existente entre el primer grado de una escala mayor y el segundo se le denomina SEGUNDA MAYOR.

– Entre el primero y el tercero, TERCERA MAYOR.

– Entre el primero y el cuarto, CUARTA JUSTA o PERFECTA.

– Entre el primero y el quinto, QUINTA JUSTA o PERFECTA.

– Entre el primero y el sexto, SEXTA MAYOR.

– Entre el primero y el séptimo, SEPTIMA MAYOR.

A su vez, en la siguiente tabla de referencia figura la distancia en semitonos de cada tipo de intervalo. Voy a resumirla con lo que necesitamos saber:

SEGUNDA MAYOR: 2 semitonos

TERCERA MAYOR: 4 semitonos

CUARTA JUSTA: 5 semitonos

QUINTA JUSTA: 7 semitonos

SEXTA MAYOR: 9 semitonos

SÉPTIMA MAYOR: 11 semitonos

Estos son números que debes saber calcular (no dudes en revisar artículos anteriores si es necesario) y debes memorizar cuanto antes. La forma más simple de descubrirlos es observando las teclas de un piano y contando cuantas teclas (negras incluidas) separan el primer grado con los sucesivos.

Con estos datos ya sabemos que el quinto grado se corresponde con una quinta justa, y que esta, a su vez, consta de siete semitonos.

Por lo tanto, debemos calcular siete semitonos hacia atrás desde MI:

1 - Re # (o Mi b)
2 - Re
3 - Do # (o Re b)
4 - Do
5 - Si
6 - La # (o Si b)
7 - La

La nota buscada es LA, y además natural, como vemos.

Aún no hemos terminado. Hemos visto que la escala de LA Mayor tiene como quinto grado MI. Ya sabemos construir escalas mayores, por lo que no debe suponerte mucho esfuerzo elaborar LA mayor:

LA Mayor --> LA - SI - DO# - RE - MI - FA# - SOL# - LA

Si ahora tomas las mismas notas de esta escala, pero empezando por el quinto grado, obtienes MI Mixolidia:

MI Mixolidia --> MI - FA# - SOL# - LA - SI - DO# - RE - MI

El ejercicio que figura a continuación ilustra un caso frecuente: al contar semitonos hacia atrás aterrizamos en notas que pueden nombrarse, enarmónicamente, de varias formas.

Ejercicio 2: Re Frigia

Al tratarse de una escala frigia, se corresponde con el tercer grado de una escala mayor que tenemos que determinar.

Observando los cuadros anteriores vemos que el tercer grado está a una TERCERA MAYOR del primer grado, intervalo que se corresponde con cuatro semitonos.

Debemos contar, pues, cuatro semitonos hacia atrás:

1 - Do # (o Re b)
2 - Do
3 - Si
4 - La # (o Si b)

¿Cuál elegimos, La sostenido o Si bemol? Aunque se trate de sonidos enarmónicos y sus escalas mayores suenen iguales, debemos ser precisos en la respuesta.

Para aclarar la duda hay que realizar la otra cuenta básica. Si RE es el tercer grado, el segundo ha de ser un DO y el primero un SI.

Así pues, la respuesta correcta es SI bemol.

Construyamos la escala de SI bemol Mayor:

SI bemol Mayor --> SIb - DO - RE - MIb - FA - SOL - LA - SIb

obtenemos RE Frigia con las mismas notas, tomadas a partir de RE, el tercer grado de Si bemol Mayor:

RE Frigia --> RE - MIb - FA - SOL - LA - SIb - DO - RE

Para finalizar, trataremos una manera de acelerar el cálculo en algunas situaciones que se prestan a ello.

Ejercicio 3: Sol sostenido Locria

¿Locria? Escala sobre el séptimo grado, a una séptima mayor, 11 semitonos hacia atrás.

Antes de que empieces a contar, un pequeño truco: contar 11 semitonos hacia atrás da a parar al mismo nombre de nota que contar 1 hacia delante, del mismo modo que contar 7 hacia atrás desemboca en el mismo nombre de nota que 5 hacia delante. La suma total ha de ser 12, que se corresponde con el número total de notas.

A partir del quinto grado, incluido, la distancia por delante es menor que por detrás.

Si contamos hacia delante un semitono, tenemos:

1 - La

La escala buscada es LA Mayor:

LA Mayor --> LA - SI - DO # - RE - MI - FA# - SOL # - LA

de modo que

SOL # Locria --> SOL # - LA - SI - DO # - RE - MI - FA #

Una pregunta de nota: ¿y si hubiese pedido SOL Locria, en vez de SOL sostenido Locria?

Un semitono por encima de SOL está SOL Sostenido, enarmónico de LA bemol? ¿Cuál elegir de las dos opciones?

Un segundo truco que está perfectamente explicado en los artículos sobre intervalos: una séptima mayor hacia atrás va a parar al mismo nombre de nota que una segunda menor hacia adelante? La suma ha de ser nueve. Te recomiendo encarecidamente que, si tienes dudas en el cálculo de intervalos, te leas todos los artículos del blog relacionados.

Debe tratarse, entonces, de una segunda; la respuesta correcta es LA bemol (SOL sostenido está a una primera aumentada).

Conviene que te ejercites con este tipo de cálculos, te ayudarán a comprender mejor lo que sucede en tu instrumento.

Si eres guitarrista, esta forma de operar te facilitará tremendamente el aprendizaje de las escalas: por cada escala mayor que aprendas, estarás aprendiendo, a su vez, seis más, correspondientes al resto de los modos restantes.

Pero de eso ya hablaremos a su momento; por hoy es suficiente materia y tengo la cabeza que me va a reventar.

Locrio de remate, eólico perdido…

Javier Montero Gabarró


Los modos de la escala mayor – Ejercicios prácticos


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos sobre armonía.

Escritura y sudor

Hubo un tiempo no tan lejano en el que siempre, tras finalizar cada entrenamiento (esto es, un día sí y otro no), publicaba puntualmente un resumen en un foro de atletismo que después replicaba en este blog.

Ese era un gesto común entre muchos de los que nos encontrábamos allí. Entrenábamos y después, sin demora, contábamos nuestra gesta a los demás.

Porque correr era siempre una hazaña, algo que sabíamos muy bien los que practicábamos con regularidad este deporte. Había sufrimiento implícito en cada entrenamiento. El nivel de exigencia al que sometíamos nuestro organismo, con el corazón latiendo a 150 ppm (cuando no más), ininterrumpidamente durante largos períodos de tiempo, rozaba el límite de la tortura.

Pero era un sufrimiento morboso que a su vez nos llenaba de un placer indescriptible, no sólo durante el ejercicio, sino especialmente después.

Y así, embriagados por las endorfinas, nos disponíamos prestos a contar nuestra hazaña a otros corredores y a esperar sus comentarios, del mismo modo que, recíprocamente, esperábamos y comentábamos los entrenamientos puntuales de los demás.

Una vez se forjó esa asociación escritura-sudor, los entrenamientos ya empezaron a ser diferentes. No querías limitarte a una simple exposición de datos deportivos sino que buscabas ser imaginativo y original, evitando repetirte.

Entrenabas pendiente de cada detalle, al acecho de aquel suceso original digno de ser narrado después. Otras veces, el entrenamiento era condicionado por la escritura: sabías lo que querías contar, pero antes estabas obligado a vivirlo.

Correr y escribir se convirtieron en amigos inseparables. Cuando uno flojeaba el otro tiraba de él. Si un día te sentías extenuado físicamente, las ganas de escribir te obligaban a salir a la calle para tener algo que contar. Y viceversa; si no te encontrabas inspirado, el acto de correr despertaba tu imaginación.

Hoy sólo escribo sobre mis entrenamientos en ocasiones muy puntuales ( y, por supuesto, tras cada carrera), pues la escritura ha encontrado nuevos amigos inseparables en la música, la productividad o la programación de ordenadores.

Y se necesitan desesperadamente entre ellos. Porque escribir, o componer una canción, o hacer un programa de ordenador, al igual que correr, es siempre una hazaña: llevan implícitos un dolor morboso, reflejo de esa parte de nuestra alma que queda siempre tras cada artículo, canción o programa y que sabemos que nunca recuperaremos.

7’7 Km, a un ritmo medio de 6:05 min /Km.

Javier Montero Gabarró


Escritura y sudor


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Cálculo de la frecuencia de nuestras notas musicales

Objetivo: entender las matemáticas que hay detrás de un sistema con temperamento igual y aprender a calcular la frecuencia de las notas musicales.

La música y las matemáticas han estado siempre íntimamente ligadas. Conocer la evolución de la concepción musical a lo largo de los siglos, hasta alcanzar el sistema de doce notas con temperamento igual que empleamos en el mundo occidental, es una apasionante aventura, no sólo en sus vertientes musical y matemática, sino también desde las perspectivas cultural, física, técnica y artesanal.

En el artículo de hoy explicaremos qué entiende un matemático por sistema igualmente temperado, conocimiento que nos permitirá calcular con facilidad la frecuencia de cualquier nota de nuestro sistema musical.

A estas alturas del cuento supongo que ya sabrás que nuestro sistema musical tiene doce notas, y no siete. Si no lo tienes claro, echa un vistazo a cualquier imagen de un piano y presta atención a esas teclas negras situadas estratégicamente entre las blancas.

También supongo que sabes que ese patrón de doce notas vuelve a repetirse, encontrando las mismas notas, una octava más agudas a la derecha o más graves a la izquierda. Y que la frecuencia de una nota una octava más aguda que otra es exactamente el doble de esta. Por ejemplo, si tenemos un LA a 440 Hz, el siguiente LA más agudo estará exactamente a una frecuencia de 880 Hz, mientras que el anterior, más grave, se situará en la mitad, 220 Hz.

Esta proporción 2:1 es la única que necesitamos para proseguir con los cálculos que realizaremos a continuación.

He dibujado un piano especial en el que he indicado la frecuencia de unos cuantas notas LA. Es un piano peculiar porque me he permitido poner al mismo nivel las teclas blancas y las negras, de modo que resulte más visual lo que pretendo explicar. He empleado la notación anglosajona a la hora de designar las notas porque me resultaba más cómodo en el gráfico, al ocupar menos espacio.

En vez de ser una visión típica con octavas de DO a DO, he marcado las notas LA como referencia visual, ya que conocemos la frecuencia de una de ellas: la nota LA por encima del DO central tiene una frecuencia exacta de 440 Hz, el sonido de referencia recomendado internacionalmente para la afinación de los instrumentos.

He denominado a esta nota A4 (LA 4), aunque quizás puedas preferir llamarla A3, si eres partidario del sistema franco-belga. Es simplemente una cuestión de elección personal.

Como ya sabemos la relación 2:1 entre octavas, he marcado también las notas A5 y A6, más agudas, y A3, más grave, con sus respectivas frecuencias, inmediatamente calculables multiplicando o dividiendo entre dos.

He colocado también, más pequeñas y en lápiz, el resto de las notas musicales entre A3 y A4. No lo he hecho en las demás octavas para no emborronar demasiado el gráfico.

Imagina que ese dibujo representa un eje de coordenadas en el que se representa la frecuencia de cada nota musical.

¿Es lineal esa representación? Obviamente, no. Si te fijas, la separación entre el A3 y el A4 es de 220 Hz, mientras que entre el A4 y el A5 es del doble, 440 Hz. A su vez, entre A5 y A6 nuevamente el doble, 880 Hz. Sin embargo, sobre el papel, hay la misma distancia entre A3 y A4, que entre A4 y A5 o A5 y A6.

Este tipo de series en las que no hay linealidad, sino proporción constante, se denominan, en matemáticas, progresiones geométricas. Para reducirlas al plano lineal recurrimos a los logaritmos. Gracias a ellos podemos representar linealmente magnitudes que varían exponencialmente. La imagen de las notas uniformemente espaciadas a lo largo de un piano no es más que una visión logarítmica de esta progresión geométrica.

Y lo bueno del asunto, y verdadera clave para comprender lo que es un sistema de temperamento igual, es que la frecuencia de cada una de esas 12 subdivisiones que hay entre medias, correspondientes a cada nota musical, también sigue una representación logarítmica.

Desde el punto de vista matemático, decir que un sistema de doce notas tiene temperamento igual no es otra cosa sino decir que la proporción entre una nota cualquiera y la siguiente (un semitono más alta) es siempre constante.

Hay un factor multiplicativo constante. Si somos capaces de descubrir ese número mágico estaremos en condiciones de poder calcular la frecuencia de cualquier nota.

Calculemos el número que sostiene a nuestro preciado sistema musical. Si A4 es 440 Hz, la siguiente nota, un semitono más alta, LA sostenido (o Si bemol, según prefieras), tendrá por frecuencia:

A su vez, la frecuencia de la nota siguiente, SI, será:

Después de B4 comienza la siguiente octava con C5:

Y así hasta llegar a A5, una octava más alta, doce semitonos, que A4:

Ahora bien, la frecuencia de A5 ya la conocemos, 880 Hz, doble de 440 Hz:

con lo que

Ya tenemos la razón buscada:

Podemos determinar la frecuencia de cualquier nota si conocemos la distancia d en semitonos que la separa de A4:

No es necesario referenciar siempre contra A4; nos sirve cualquier frecuencia conocida, siendo d, en este caso, la distancia en semitonos entre la buscada y la conocida:

Realicemos un ejercicio práctico. Vamos a calcular la frecuencia de MI 5, a una quinta justa por encima de A4. Si contamos, la separación en semitonos entre ambas notas es 7, de modo que:

¿Cuál es la frecuencia del DO central, que se halla nueve semitonos a la izquierda del LA 4? Es un ejemplo en el que d es una distancia negativa.

También podríamos haber resuelto este problema tomando como referencia A3 (220 Hz) y contando tres semitonos hacia delante:

Como vemos, el resultado es el mismo en ambos casos.

Visitaremos en más ocasiones el lado matemático de la música. ¿Sabías que algo que damos por obvio como que Do sostenido tiene la misma frecuencia que Re bemol, es debido a naturaleza igualmente temperada de nuestro sistema musical?

Te dejo pensándolo…

Javier Montero Gabarró


Cálculo de la frecuencia de nuestras notas musicales


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos sobre armonía.

BitBite Python #3: Aula silenciosa en ausencia de profesores

Programa para el control de las aulas en ausencia de profesores.

Técnicas tratadas:

– Bucle while controlado por centinela
– Uso de diccionarios como estructura de datos flexible.
– Comprobación de si una clave determinada figura en un diccionario
– Modificación de los valores de un diccionario
Iteración sobre todos los elementos (claves – valores) de un diccionario

Nueva entrega de la serie BitBite Python, complemento práctico de los artículos del blog, en la que se desarrollan pequeños programas completos en Python empleando técnicas ya descritas en las secciones teóricas.

Hemos dedicado los últimos artículos a presentar una de las estructuras más poderosas y flexibles de Python: los diccionarios. Hoy mostraremos un ejemplo de utilización básico.

Para entender el problema a resolver, deja que te ponga primero en antecedentes:

Tengo un recuerdo nítido de mi infancia, en el colegio, cuando cursaba 2º o 3º de EGB. Era, por entonces, muy pequeño…

En determinadas ocasiones, si el profesor debía abandonar la clase para atender alguna gestión externa, encargaba a algún alumno (normalmente, el pelota de turno) para que se ocupase de mantener el silencio en el aula. Recuerdo que uno de esos días dejó un claro mensaje: «a quien abra la boca lo apuntas en la pizarra».

Eran tiempos en los que algunos profesores ejercían y demostraban su autoridad a base de tortazos. Todos sabíamos que aquellos cuyos nombres figurasen en la pizarra recibirían una o varias bofetadas, dependiendo de la magnitud de su falta.

Aunque, por lo general, la dureza de los castigos lograba que nos mantuviésemos callados, siempre había valientes que desafiaban a la autoridad. No eran buenos estudiantes, pero todos los respetábamos y, en cierto modo, temíamos.

Ese día quise provocar al pelotilla que vigilaba la clase y abrí la boca. Simplemente la abrí, de ella no salió ningún sonido. Pero el muy tonto me apuntó en la pizarra, tomándose al pie de la letra las instrucciones del profesor.

Naturalmente, cuando regresó el maestro recibí la bofetada de rigor. Creo que fue mi primera bofetada y lloré por la injusticia cometida. De nada me sirvió alegar que no habia pronunciado ni pío.

Ahí estaba mi nombre en la pizarra, injustamente entre los temerarios valientes:

Diego | | | |

Luis | |

Javier |

Cada barra vertical indicaba el número de veces que el alumno había infringido la regla. Si a mí me dolió, imagínate cómo le quedó la cara a Diego.

Si trasladamos esa escena unas cuantas décadas más adelante, quizás el pelota de turno tuviese delante un ordenador portátil o un Smartphone con Python instalado y podría improvisar unas sencillas líneas de código para acometer la tarea impuesta en vez de utilizar la tiza y la pizarra.

Estudiemos cómo podríamos resolver el problema…

Nos haría falta algún tipo de registro en el que anotar la misma información que escribiríamos en la pizarra: un nombre y el número de faltas cometidas.

Son dos campos de naturaleza distinta íntimamente asociados. Podemos pensar en un diccionario, con clave (única e irrepetible) el nombre del osado que se atreve a hablar y como valor el número de veces que lo hace.

Vamos a crear, entonces, un diccionario vacío que iremos rellenando conforme alguien hable. Eso es algo tan sencillo como esto:

bocazas = {}

El programa nos pregunta, por primera vez, quién ha hablado:

bocaza = input('Introduce el nombre del bocaza [0 si vuelve el profe]:')

Esto lo volverá a preguntar, una y otra vez, hasta que el profesor regrese. Necesitamos un modo de indicar al programa cuando ha ocurrido esa situación y hemos decidido que sea mediante la introducción de un 0.

Este tipo de bucles se denominan controlados por centinela. Se procesa todan las entradas hasta que llega ese valor especial, el centinela, que indica el final del ciclo.

He aquí el bucle al completo:

while bocaza != '0':
    if bocaza in bocazas:
        bocazas[bocaza] = bocazas[bocaza] + 1
    else:
        bocazas[bocaza] = 1
    bocaza = input('Introduce el nombre del bocaza [0 si vuelve el profe]:')

Observa la detección del centinela. El ciclo se repetirá mientras la variable bocaza, empleada para registrar el nombre de quien abra la boca, tenga un valor distinto de '0'. Escribo el cero entre comillas, pues la función input() devuelve strings aunque aparentemente estemos introduciendo números.

El funcionamiento del bucle es sencillo: comenzamos comprobando si el alumno ya ha incurrido en falta, en cuyo caso incrementamos en una unidad su número. Si no tenía antecedentes previos, creamos la clave en el diccionario con valor inicial uno.

No te líes con los nombres: bocazas es el diccionario y bocaza, en singular, el nombre del alumno (que actúa como clave del diccionario).

Finalmente, una vez ha sido fichado el infractor, el bucle vuelve a preguntar de nuevo por el siguiente charlatán. Y así sucesivamente hasta que el profesor regrese a la clase (momento en el cual se introducirá un cero en vez del nombre de una alumno real).

Llegado este punto, el pelota está a punto de mostrar satisfecho al profesor el resultado de su vigilancia:

print('LISTADO DE ALUMNOS QUE HAN ABIERTO LA BOCA')

for hablador, veces in bocazas.items():
    print(hablador, '-->', veces)

Nos interesa el bucle for: observa el uso del método items(), sobre el diccionario para crearnos un objeto compuesto de pares clave-valor (alumno-faltas) sobre el que podamos iterar. La variable hablador toma, uno a uno, el nombre de cada alumno, mientras que la variable veces captura el valor asociado a ese alumno en concreto.

Si hay algo que no comprendas en todo este proceso, te recomiendo que te leas los últimos artículos de la serie Python, en los que se detalla el uso de estas técnicas.

Este es, finalmente, nuestro listado completo:

# aulasilenciosa.py

# Programa para el control de aulas en ausencia de profesor
# El Club del Autodidacta

bocazas = {}

bocaza = input('Introduce el nombre del bocaza [0 si vuelve el profe]:')

while bocaza != '0':
    if bocaza in bocazas:
        bocazas[bocaza] = bocazas[bocaza] + 1
    else:
        bocazas[bocaza] = 1
    bocaza = input('Introduce el nombre del bocaza [0 si vuelve el profe]:')

#Ha regresado el profesor: es hora de delatar a los bocazas
# y que reciban su justo castigo

print() #Escribe una línea en blanco
print('LISTADO DE ALUMNOS QUE HAN ABIERTO LA BOCA')

for hablador, veces in bocazas.items():
    print(hablador, '-->', veces)

Interactuemos con él y veamos cómo trabaja:

Introduce el nombre del bocaza [0 si vuelve el profe]:Luis
Introduce el nombre del bocaza [0 si vuelve el profe]:Javier
Introduce el nombre del bocaza [0 si vuelve el profe]:Diego
Introduce el nombre del bocaza [0 si vuelve el profe]:Luis
Introduce el nombre del bocaza [0 si vuelve el profe]:Diego
Introduce el nombre del bocaza [0 si vuelve el profe]:Diego
Introduce el nombre del bocaza [0 si vuelve el profe]:Diego
Introduce el nombre del bocaza [0 si vuelve el profe]:0

LISTADO DE ALUMNOS QUE HAN ABIERTO LA BOCA
Luis --> 2
Javier --> 1
Diego --> 4

Tan sólo falta la ejecución de la sentencia. Por suerte para mí, si el pelota ya tiene un Smartphone en el que ejecutar este script, eso significa que estamos en tiempos donde los profesores ya no pegan bofetadas.

Por ahí me voy a librar.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2012/08/bitbite-python-3-aula-silenciosa-en-ausencia-de-profesores/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Construcción de acordes – 19: Séptima con novena menor

Objetivo: presentar la fórmula relativa del acorde de séptima con novena menor.

De la misma familia de acordes alterados a la que pertenece el acorde de la entrega anterior, séptima con novena aumentada, nos encontramos ahora con su otra variante, disminuyendo la novena un semitono y haciéndola, por lo tanto, menor: séptima con novena menor.

Recopilemos las variantes del acorde de séptima con novena:

7(9) --> Séptima con novena: 1 - 3 - 5 - b7 - 9
(cuando no se especifica el tipo de novena se sobreentiende mayor)

7(#9) --> Séptima con novena aumentada: 1 - 3 - 5 - b7 - #9

Lista a la que agregamos el acorde de hoy:

7(b9) --> Séptima con novena menor --> 1 - 3 - 5 - b7 - b9

Un acorde con un sonido inconfundible que recomiendo incluyas en tu repertorio.

Resulta estremecedor escucharlo en Corcovado, de Tom Jobim, procedente de un acorde de un 7sus4(9) (manteniendo fundamental y séptima y disminuyendo un semitono las demás).

En Una y otra vez, una de mis composiciones para Viciosfera, recurro a él en la Intro a modo de ostinato:

| Am7 E7(b9) | Am7 E7(b9) | Am7 E7(b9) | Am7 E7(b9) |

Como siempre, los dos ejercicios prácticos: calculemos las notas de C7(b9) y A7(b9).

Las escalas mayores respectivas, construidas a partir de la fundamental de cada acorde, son:

Do mayor: C - D - E - F - G - A - B - C - D

La mayor: A - B - C# - D - E - F# - G# - A - B

Tomando los grados indicados en la fórmula, obtenemos:

C7(b9) --> C - E - G - Bb - Db

A7(b9) --> A - C# - E - G - Bb

Y eso es todo. Recuerda que aquí tienes un índice con todos los acordes que han aparecido en esta serie.

Javier Montero Gabarró


Construcción de acordes – 19: Séptima con novena menor


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice de todos los artículos de armonía.

Python: Recorriendo un diccionario de principio a fin

Objetivo: aprender a recorrer con un bucle for las claves, los valores o ambos de un diccionario en Python.

En numerosas ocasiones necesitaremos iterar a través de un diccionario mediante un bucle for. Voy a mostrarte lo sencillo que es y, para eso, te presentaré tres nuevos métodos que debes incorporar en tu kit de herramientas. Si has aterrizado en este artículo de modo casual y es la primera vez que te expones a los diccionarios en Python, te recomiendo que consultes el índice que figura en el menú o al final del artículo y estudies los artículos previos, que introducen los diccionarios desde cero.

Echa las manos al intérprete interactivo y genera un diccionario de pruebas:

>>> macedonia = {'plátano':'amarillo', 'fresa':'roja'}

Imagina que quieres trabajar con las claves de ese diccionario. ¿Cómo las obtenemos?

Empleando el método keys():

>>> frutas = macedonia.keys()
>>> frutas
dict_keys(['fresa', 'plátano'])

Si observas frutas, encontrarás las claves del diccionario, pero se trata de un objeto especial, claves de diccionario. Deja que te lo explique:

Lo que has obtenido es una vista del diccionario. Es como si observaras un objeto, el diccionario, desde una perspectiva diferente que sólo te permitiera apreciar determinadas características.

Hay dos cosas particularmente importantes en las vistas.

La primera es que lo que estás viendo a través de ellas es el objeto real. Si modificamos el diccionario, la vista se actualizará dinámicamente. Obśervalo.

Vamos a agregar un nuevo par clave-valor al diccionario y veamos qué sucede con la vista:

>>> macedonia['manzana'] = 'verde'
>>> macedonia
{'fresa': 'roja', 'plátano': 'amarillo', 'manzana': 'verde'}

¿Qué crees que contendrá ahora la vista frutas?

>>> frutas
dict_keys(['fresa', 'plátano', 'manzana'])

Como ves, se ha actualizado automáticamente sin necesidad de volvera a invocar al método?

La segunda particularidad de las vistas es que ya están preparadas para que puedas iterar sobre ellas:

>>> for fruta in frutas:
  print(fruta)

  
fresa
plátano
manzana

Tras lo cual hemos recuperado todas las claves del diccionario.

Si queremos iterar sobre los valores, en lugar de las claves, disponemos de otro método que genera una nueva vista:

>>> colores = macedonia.values()
>>> colores
dict_values(['roja', 'amarillo', 'verde'])

El método values() nos genera una vista sólo de valores sobre la que ya podemos iterar:

>>> for color in colores:
  print(color)

  
roja
amarillo
verde

Finalmente, ¿y si necesitamos iterar sobre las claves y sus correspondientes valores simultáneamente? La respuesta la encontrarás en el método items():

>>> elementos = macedonia.items()
>>> elementos
dict_items([('fresa', 'roja'), ('plátano', 'amarillo'), ('manzana', 'verde')])

Fíjate cómo iteramos ahora:

>>> for fruta, color in elementos:
  print(fruta, '-->', color)

  
fresa --> roja
plátano --> amarillo
manzana --> verde

Obviamente, no es necesaria la asignación previa de la vista. Tambień podrías haber escrito directamente esto:

>>> for fruta, color in macedonia.items():
  print(fruta, '-->', color)

Recuerda: las tres vistas son dinámicas y reflejan la situación actual del objeto.

Vamos a eliminar la fresa de la macedonia:

>>> del macedonia['fresa']
>>> macedonia
{'plátano': 'amarillo', 'manzana': 'verde'}

Y comprobemos nuestras preciosas vistas:

>>> macedonia
{'plátano': 'amarillo', 'manzana': 'verde'}
>>> frutas
dict_keys(['plátano', 'manzana'])
>>> colores
dict_values(['amarillo', 'verde'])
>>> elementos
dict_items([('plátano', 'amarillo'), ('manzana', 'verde')])

Pero, aunque el resultado sea el esperado, coincidirás conmigo que una macedonia sin fresas no es macedonia ni nada…

Javier Montero Gabarró


Python: Recorriendo un diccionario de principio a fin


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de artículos relacionados con Python.

Introducción a los modos de la escala mayor

Objetivo: presentar y comprender los distintos modos que se construyen a partir de la escala mayor.

¿Te suena a chino si te hablan de términos como la escala locria, la dórica o el modo eólico? ¿Sabrías tocar la escala Sol frigia, o Si bemol lidia en tu instrumento?

Si eres músico o aspiras a serlo (tú decides, y nadie más, si ya lo eres o no) y te parecen misteriosos estos conceptos, tienes la obligación moral de seguir leyendo.

Voy a comenzar escribiendo una escala que sin duda conocerás: Do mayor.

DO – RE – MI – FA – SOL – LA – SI – DO

Sabes hasta entonarla.

La estructura de cada tipo de escala está caracterizada por la distancia que existe entre sus notas. En el ejemplo particular de la escala mayor está distancia queda reflejada por su fórmula absoluta:

T – T – S – T – T – T – S

No dejes de leer el artículo denominado La fórmula secreta de la escala mayor si no comprendes su significado.

Pues bien: toma la escala de Do mayor y, empleando las mismas notas, forma la escala que comienza y acaba en su segundo grado, RE:

RE – MI – FA – SOL – LA – SI – DO – RE

Aunque tiene las mismas notas que Do mayor, se trata de una escala completamente diferente, como puedes comprobar si calculas la distancia en semitonos entre cada grado. Echa tú mismo las cuentas y llegarás a una nueva fórmula absoluta:

T – S – T – T – T – S – T

Con un poco de astucia, también podrías haber llegado a esta conclusión sin necesidad de volver a contar, simplemente tomando la fórmula absoluta de la escala mayor comenzándola a partir del segundo grado.

En cualquier caso, observa que se trata de una escala con una estructura diferente.

A esta nueva escala, que hemos obtenido a partir del segundo grado de la escala de Do mayor, RE, la denominamos el modo dórico de RE, o simplemente escala RE Dórica.

Construyamos ahora la escala que comienza y termina en el tercer grado:

MI – FA – SOL – LA – SI – DO – RE – MI

Se trata del modo frigio de MI, o escala MI Frigia.

Construyendo la escala a partir del cuarto grado, FA, obtenemos el modo lidio de FA, o escala FA Lidia:

FA – SOL – LA – SI – DO – RE – MI – FA

Sobre el quinto grado, SOL, construimos el modo mixolidio de SOL, o escala SOL Mixolidia:

SOL – LA – SI – DO – RE – MI – FA – SOL

Sobre el sexto grado, LA, nos encontramos el modo eólico de LA, o escala LA Eólica:

LA – SI – DO – RE – MI – FA – SOL – LA

El modo eólico también recibe otro nombre. ¿Te suena?: Escala menor natural.

Finalmente, sobre el séptimo grado, SI, construimos el modo locrio, o escala SI Locria:

SI – DO – RE – MI – FA – SOL – LA – SI

La escala mayor, tal cual, también tiene nombre de modo: jónico. La escala Do Jónica es la misma que Do mayor.

No voy a hablar aquí de la historia asociada a esta terminología; escribe «modos griegos» en Google si tienes interés en el tema.

Recopilemos la esencia de lo que hemos presentado hasta el momento:

Los modos de la escala mayor

Sobre el PRIMER grado --> Escala JÓNICA (escala mayor)

Sobre el SEGUNDO grado --> Escala DÓRICA

Sobre el TERCER grado --> Escala FRIGIA

Sobre el CUARTO grado --> Escala LIDIA

Sobre el QUINTO grado --> Escala MIXOLIDIA

Sobre el SEXTO grado --> Escala EÓLICA (es la escala menor natural)

Sobre el SÉPTIMO grado --> Escala LOCRIA

Una vez comprendidos los conceptos tú siguiente labor ha de ser memorizar esta tabla; no te supondrá excesivo esfuerzo.

Naturalmente, podemos construir estos mismos modos sobre cualquier escala mayor, no necesariamente sobre DO mayor.

Por ejemplo, considera la escala de FA mayor, que esta vez, como variación, escribiré con notación anglosajona:

F – G – A – Bb – C – D – E – F

Comenzando esta escala por sus sucesivos grados obtenemos los distintos modos:

Fa Jónica --> F - G - A - Bb - C - D - E - F (Fa mayor)

Sol Dórica --> G - A - Bb - C - D - E - F - G

La Frigia --> A - Bb - C - D - E - F - G - A

Si bemol Lidia --> Bb - C - D - E - F - G - A - Bb

Do Mixolidia --> C - D - E - F - G - A - Bb - C

Re Eólica --> D - E - F - G - A - Bb - C - D (Re menor natural)

Mi Locria --> E - F - G - A - Bb - C - D - E

Con esto ya es suficiente, de momento. Afianza los conceptos realizando esta última actividad sobre otras escalas mayores e intenta memorizar el grado asociado a cada modo cuanto antes. En las sucesivas entregas presentaré algunos ejercicios algo más complejos que te ayudarán a dominar este tema.

Javier Montero Gabarró


Introducción a los modos de la escala mayor


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos sobre armonía.

MySQL: Modificando los datos de una tabla

Objetivo: aprender lo fundamental para poder modificar datos en tablas MySQL.

Llevo toda la mañana con el gusanillo de escribir algo sobre MySQL y estaba deseando llegar a casa para ponerme a hacerlo. No suelo decidir con antelación a qué dedicaré el siguiente artículo del blog hasta el mismo día en que he de escribirlo. Mis motivaciones pueden ser diferentes: últimamente he escrito bastante sobre Python porque estoy desarrollando mis propias herramientas de productividad empleando ese lenguaje y me resulta mucho más cómodo no desconectar y seguir con lo mismo que dar un brusco requiebro (la programación es como el ajedrez y las matemáticas: monopoliza tu atención y energía); otras veces tomo en consideración los comentarios que me hacen llegar los que me leen (particularmente de modo habitual) e intento ayudarlos preferentemente; y, desde luego, también está el remordimiento, que por ejemplo me está martirizando recordándome que llevo varios meses sin decir ni pío sobre Knoppix (entre otros temas).

Sea lo que sea, es el momento de aplicar una nueva mano de pintura sobre MySQL.

Si echas un vistazo al índice general de artículos dedicados al tema (los más recientes son los de arriba) verás qué ya sabemos hacer bastantes cosas: crear tablas, rellenarlas, agregar nuevos datos, eliminarlos… Hoy veremos cómo cambiar datos ya existentes.

Tomemos una tabla de ejemplo, como esta que me he encontrado de artículos anteriores:

mysql> select * from consumibles;
+------------+---------------------+-------+
| referencia | impresora           | stock |
+------------+---------------------+-------+
| ACME2598X  | ACME INKJET Ultra   |     5 |
| ACME4501Y  | ACME PseudoJET Plus |    12 |
+------------+---------------------+-------+
2 rows in set (0.00 sec)

Se trata de una sencilla tabla para mantener el stock de consumibles de impresión. Agregaremos algunas filas para tener más juego, a la vez que nos servirá para repasar conceptos:

mysql> INSERT INTO consumibles VALUES
    -> ('WG31', 'WALNUT InkJetPrad', 2);
Query OK, 1 row affected (0.13 sec)

mysql> INSERT INTO consumibles VALUES
    -> ('WG40', 'WALNUT LaserGROVE', 10);
Query OK, 1 row affected (0.06 sec)

Tras lo cual consumibles ofrece el siguiente aspecto:

mysql> SELECT * FROM consumibles;
+------------+---------------------+-------+
| referencia | impresora           | stock |
+------------+---------------------+-------+
| ACME2598X  | ACME INKJET Ultra   |     5 |
| ACME4501Y  | ACME PseudoJET Plus |    12 |
| WG31       | WALNUT InkJetPrad   |     2 |
| WG40       | WALNUT LaserGROVE   |    10 |
+------------+---------------------+-------+

Imagina a continuación que colocamos un tóner de la LaserGROVE y otro de la PseudoJET, disminuyendo su stock en una unidad. ¿Cómo reflejaríamos estos cambios en la tabla de consumibles?

Comencemos por la LaserGROVE. Presta mucha atención al siguiente comando:

mysql> UPDATE consumibles SET stock = 9
    -> WHERE referencia = 'WG40';
Query OK, 1 row affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

El comando es UPDATE, seguido del nombre de la tabla. A continuación, con SET, indicamos la columna o columnas que queremos modificar, junto con su valor. La claúsula WHERE, que ya conociste en el artículo dedicado a cómo eliminar registros, nos sirve para indicar en qué filas realizaremos los cambios.

Has de ser muy cuidadoso con WHERE, pues, tal como está escrito el comando, se actualizarán todas las filas que cumplan la condición del filtro. En caso de duda, no hubiese estado de más comprobar mediante un SELECT cuál sería el ámbito de actuación antes de realizar la modificación:

mysql> SELECT * FROM consumibles WHERE referencia = 'WG40';
+------------+-------------------+-------+
| referencia | impresora         | stock |
+------------+-------------------+-------+
| WG40       | WALNUT LaserGROVE |    10 |
+------------+-------------------+-------+
1 row in set (0.00 sec)

Como puedes observar, sólo aparece la fila sobre la que queremos actuar.

Fíjate cómo queda la tabla consumibles tras la actualización del stock de la LaserGrove:

mysql> Smysql> SELECT * FROM consumibles;
+------------+---------------------+-------+
| referencia | impresora           | stock |
+------------+---------------------+-------+
| ACME2598X  | ACME INKJET Ultra   |     5 |
| ACME4501Y  | ACME PseudoJET Plus |    12 |
| WG31       | WALNUT InkJetPrad   |     2 |
| WG40       | WALNUT LaserGROVE   |     9 |
+------------+---------------------+-------+
4 rows in set (0.00 sec)

Podríamos emplear un comando similar para actualizar el stock de la PseudoJET, pero prefiero mostrarte una nueva técnica:

mysql> UPDATE consumibles SET stock = stock - 1
    -> WHERE referencia = 'ACME4501Y';
Query OK, 1 row affected (0.15 sec)
Rows matched: 1  Changed: 1  Warnings: 0

En lugar de indicar directamente el contenido del campo stock hemos utilizado una expresión aritmética que se ocupa de decrementar en una unidad su valor.

Creo que es suficiente por hoy: las unidades de información han de ser pequeñas pero significativas, de modo que no se deje de percibir sensación de avance tras su estudio.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2012/08/mysql-modificando-los-datos-de-una-tabla/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


¡Accede al índice con todos los artículos sobre MySQL!

Python – Consultando los valores de un diccionario

Objetivo: aprender diversas técnicas para consultar los valores de un diccionario en Python.

En esta tercera entrega dedicada a los diccionarios mostraremos cómo consultar los valores que contienen. Ya sabemos agregar o eliminar elementos (pares clave-valor), pero, ¿cómo realizamos consultas específicas?

El diccionario con el que trabajaremos hoy contiene información sobre unos personajes muy peculiares…

>>> gente = {'Pipi':'Calzaslargas', 'Bob':'Esponja',
   'Laura':'Ingalls', 'Sherlock':'Holmes'}

Comencemos determinando si nuestro diccionario contiene una clave concreta:

>>> 'Sherlock' in gente
True
>>> 'Dan' in gente
False

Hemos utilizado el operador in, un viejo conocido ya, para determinar la pertenencia. Podemos chequear, a su vez, la no pertenencia:

>>> 'Dan' not in gente
True

Es importante comprender que este uso sólo comprueba claves, pero no los valores correspondientes, como puedes apreciar en la siguiente instrucción:

>>> 'Esponja' in gente
False

En un próximo artículo aprenderemos métodos que nos permitirán obtener secuencias con las claves, los valores o con ambos, pero primero has de asegurarte de interiorizar bien esto.

Ya sabemos si una clave existe en un diccionario. Nuestra siguiente pregunta es: ¿cómo conocemos el valor que tiene asociado?

La forma más simple de extraer el valor de una determinada clave es utilizar la sintaxis siguiente:

diccionario[clave]

Consultemos qué valor tiene asignado la clave ‘Laura’:

>>> gente['Laura']
'Ingalls'

Si tratamos de consultar el valor de una clave inexistente tendríamos un serio problema:

>>> gente['Pedro']
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    gente['Pedro']
KeyError: 'Pedro'

Se produce un error y el programa se aborta. Más adelante, cuanto tratemos las excepciones, veremos el modo general que provee Python para controlar este tipo de errores, pero ahora veremos técnicas asociadas a los diccionarios para resolver este problema concreto.

Una forma obvia de gestionar este fallo sería realizar una comprobación de pertenencia antes de tratar de consultar el valor:

>>> if 'Pedro' in gente:
  print(gente['Pedro'])
else:
  print('Esta clave no existe')

  
Esta clave no existe

Pero disponemos de una manera más elegante. Deja que te presente el método get().

>>> gente.get('Laura')
'Ingalls'

Como ves, es lo mismo que haber hecho:

>>> gente['Laura']
'Ingalls'

Pero tiene una importante diferencia. Prueba ahora esto:

>>> gente.get('Pedro')

No devuelve nada, puesto que la clave no existe, pero, al menos, no provoca un error.

Y aún hay más: podemos indicar qué valor queremos que se devuelva para el caso en que la clave no exista:

diccionario.get(clave, valor_por_defecto)

>>> gente.get('Bugs', 'Esta clave no existe')
'Esta clave no existe'

Y, como decía un viejo amigo: That’s all folks!

Javier Montero Gabarró


Python – Consultando los valores de un diccionario


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de artículos relacionados con Python.

LaTeX: La integral definida

Objetivo: aprender a generar el símbolo de integral en LaTeX y mostrar cómo definir los límites superior e inferior.

Me siento hoy con ganas de dar una nueva incursión en el modo matemático de \LaTeX, hace ya unos cuantos días desde la última vez. A lo largo de esta serie hemos presentado bastantes elementos de la faceta matemática de \LaTeX, pero aún quedan muchos actores por entrar esta escena.

Ladies and gentlemen, señoras y señores, con todos vosotros, la agraciada y presumida integral.

Escribir una integral es tan simple como ejecutar el comando \int. Observa la siguiente instrucción:

\[
\int 2x dx = x^{2}
\]

que genera esta salida:

Ahí la tenemos, tan altiva y orgullosa.

No obstante, a poco que observes el resultado apreciarás unas consideraciones relacionadas con el diseño que podríamos mejorar. Observa que el dx está demasiado cerca del 2x.

Para separar dx de la función \LaTeX dispone del comando \, (la barra inclinada y una coma), que sirve para añadir un pequeño espacio.

Observa la nueva versión mejorada:

\[
\int 2x \, dx = x^{2}+K
\]

Esto ya es otra cosa.

Hay gente que afina más aún y prefiere acercar el símbolo de la integral al comienzo de la función. Para lograr esto disponemos del comando \! que inserta un pequeño espacio negativo (hacia atrás).

\[
\int \! 2x \, dx = x^{2}+K
\]

Nuestra afortunada integral a menudo se deja ver con dos lujosos pendientes en forma de límite superior e inferior. Para generarlos recurrimos a los socorridos subíndices y superíndices, que tanto buen apaño nos han dado ya.

Establecemos el límite inferior de la integral mediante notación subíndice y el superior con superíndice.

\[
\int_{1}^{3}  \! 2x \, dx = 8
\]

Hemos aplicado la conocida regla de Barrow del cálculo integral, por la que seguro habrás pasado alguna que otra vez en tus tiempos de estudiante, si te ha llamado la atención el artículo tanto como para leer hasta aquí.

\[
\int_{a}^{b} \! f(x)  \,dx = F(b) - F(a)
\]

en la que f(x) es una función continua en el intervalo [a, b] y F(x) es su primitiva.

Javier Montero Gabarró


Fecha de última modificación: 9 de agosto de 2012


LaTeX: La integral definida


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies