LaTeX – Un marco básico para nuestras tablas

Objetivo: dotar de un marco simple a las tablas creadas en LaTeX.

En la entrega anterior aprendimos a generar tablas básicas en \LaTeX mediante el entorno tabular. Aunque cumplen perfectamente su función como elemento estructural, es natural que nos planteemos mejorar su presentación dotándolas, como primera opción, de un marco y líneas de división entre celdas.

Recordemos nuestra artista invitada:

\begin{tabular}{llcr}
pepino & tomate & berenjena & rábano \\
manzana & naranja & fresa & pera \\
\end{tabular}

latex-tablas-1

Comencemos trazando líneas separadoras horizontales, para lo que disponemos del comando \hline, que insertaremos justo en el lugar en el que queremos que aparezca cada línea.

\begin{tabular}{llcr}
\hline
pepino & tomate & berenjena & rábano  \\
\hline
manzana & naranja & fresa & pera \\
\hline
\end{tabular}

latex-tablas-marco-1

Para insertar una línea doble, podemos ejecutar \hline dos veces:

\begin{tabular}{llcr}
\hline
\hline
pepino & tomate & berenjena & rábano  \\
\hline
manzana & naranja & fresa & pera \\
\hline
\hline
\end{tabular}

latex-tablas-marco-2

El trazado vertical se especifica en la propia definición del entorno tabular, donde indicamos la justificación de cada columna, intercalando el símbolo de barra | en las posiciones en las que queremos que figure un separador vertical.

Por ejemplo, si queremos que nuestra tabla presente los bordes izquierdo y derecho, pero no entre medias, la declaración sería del siguiente modo:

\begin{tabular}{|llcr|}

El siguiente código dibuja el marco completo de la tabla, incluyendo todos los separadores interiores:

\begin{tabular}{|l|l|c|r|}
\hline
pepino & tomate & berenjena & rábano  \\
\hline
manzana & naranja & fresa & pera \\
\hline
\end{tabular}

latex-tablas-marco-3

Para finalizar, si en lugar de un símbolo de barra | escribimos dos ||, obtendremos un separador vertical doble. Dejemos, por ejemplo, dobles los verticales externos, pero simples los internos.

\begin{tabular}{||l|l|c|r||}
\hline
pepino & tomate & berenjena & rábano  \\
\hline
manzana & naranja & fresa & pera \\
\hline
\end{tabular}

latex-tablas-marco-4

Todo sencillo de momento, ¿no? Los conceptos no se atragantan cuando se ingieren en pequeños bocados.

Javier Montero Gabarró


LaTeX – Un marco básico para nuestras tablas


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.

500 artículos; parece que fue ayer…

A fecha 20 de junio de 2014, El Club del Autodidacta ha alcanzado la cifra de 500 artículos. Me produce cierto vértigo pensar en la inmensa cantidad de horas que hay tras ese número. Un artículo típico puede llevarse hasta tres o cuatro horas de preparación; los más complejos pueden requerir incluso varios días de trabajo.

Pese a todo, el camino ha sido enriquecedor y tremendamente apasionante. Puedo congraturlarme de haber puesto mi grano de arena contribuyendo a la formación de mucha gente en áreas diversas. Pero, sin duda, quien más ha aprendido en el trayecto he sido yo mismo, tratando siempre de empatizar con el lector, leer por sus ojos, para poder escribir las palabras precisas que muestren los conceptos explicados con la mayor claridad posible.

Una vez se ha instaurado el hábito de escribir a diario, resulta difícil vivir sin ese rato sentado delante del ordenador cada tarde o noche, modelando los pensamientos y dándoles forma mediante la palabra escrita. Porque, de todas las actividades que realizo, las que más me llenan son sin duda aquellas que implican un trabajo creativo. Del mismo modo que me estimulan la composición musical y la programación de ordenadores, la escritura en el blog es un proceso que implica buenas dosis de creatividad. En cada artículo, como en cada canción, queda para siempre una buena parte de uno mismo.

El Club del Autodidacta
El equipo de redacción de ECDA

¿Qué esperar de ahora en adelante? Ante todo, seguir escribiendo, por supuesto. Llega un momento en el que la obra trasciende su creador, que no puede más que deberse a ella. Por un lado, seguir profundizando en las distintas temáticas actuales, algunas de las cuales han logrado ya un cuerpo de conocimiento importante, procurando atender también las más descuidadas (no por ello menos interesantes para mí). Pero también me gustaría introducir nuevas áreas, como la utilización de ordenadores para la creación musical o el estudio de otros lenguajes de programación. Quisiera acercarme con más frecuencia al mundo Unix, habitado siempre por gente excepcionalmente inteligente. Desearía también hablar sobre física y matemáticas, mis raíces intelectuales, a las que debo mi insaciable curiosidad.

Sé que muchos lectores podrán frustrarse por el carácter multidisciplinar del blog, transcurriendo, a veces, demasiado tiempo entre un artículo y el siguiente relacionado. En un mundo altamente especializado, fue una decisión difícil de tomar, en contra de todas las recomendaciones, no dedicarlo a una única temática. Opté, finalmente, por lo que me pareció más coherente con mi forma de ser polifacética. Siempre he preferido ser un «aprendiz de mucho» que un «oficial de nada». Desde luego, si dispusiera de más tiempo, cuidaría de atender con más regularidad cada área, pero otros compromisos importantes requieren mi atención (entre los que se encuentran el que me da de comer, que me supone muchas horas de trabajo diarias). A pesar de todo, intento dedicar siempre el mejor de mis esfuerzos a que ECDA siga creciendo y sea un lugar de parada habitual para el lector interesado en determinados temas concretos.

Hay también mucho trabajo administrativo por realizar. He comparado siempre el aprendizaje con el montaje de un puzzle, en el que uno va situando al principio piezas desconexas, que poco a poco se van uniendo en bloques cada vez más grandes. Aunque en muchas categorías del blog he tratado de buscar linealidad a la hora de presentar los conceptos, no siempre es así. Para aquel que no esté acostumbrado al modelo de aprendizaje aleatorio que promuevo, puede resultarle tal vez caótica la aparición de los artículos. Nunca he pretendido querer enseñarlo todo, pero sí explicar bien un concepto concreto (colocar correctamente una pieza del puzzle) que conecte con lo que los lectores ya saben y les permitan nuevos niveles de conocimiento, buscándolos, como autodidactas que son, por qué no, en otros lugares. Aún así, especialmente cuando el volumen de artículos es ya amplio en una determinada área, nunca está de más contar con herramientas que faciliten el estudio. En este sentido, tengo prevista la confección de una serie de guías de aprendizaje que ilustren una ruta recomendada para todo aquel que prefiera una lectura más lineal.

El Club del Autodidacta es un blog escrito por un autodidacta para autodidactas como tú. Empleo este término en el sentido más amplio de la palabra, refiriéndome a todo aquel que se responsabiliza de manera directa de su formación, adquiriéndola de cuantas fuentes tenga a su alcance y que nunca da por sentado nada sin cuestionárselo. Me siento agradecido de compartir contigo esta experiencia y espero seguir contando con tu compañía a lo largo de esta nueva etapa.

Javier Montero Gabarró

Una invitación a MySQL Workbench

Objetivo: presentar MySQL Workbench, una herramienta gráfica integral para nuestro día a día con MySQL.

Hasta el momento hemos estado interactuando con el servidor MySQL a través de la línea de comandos. Aunque, en última instancia, se trata siempre de la forma más poderosa de acceso, deberíamos agradecer la existencia de herramientas gráficas que nos facilitaran nuestro trabajo cotidiano.

Esas herramientas existen y este artículo es una invitación para que, si no lo has hecho aún, visites nuevamente el site de MySQL y descargues e instales la más inmediata de ellas: MySQL Workbench, disponible para Linux, Windows o Mac OS X.

Tradicionalmente se ha dividido el trabajo con bases de datos en varios roles: el diseñador, encargado de modelar y diseñar las tablas y sus relaciones; el desarrollador, que interactúa con la base de datos a través del lenguaje SQL y, finalmente, el administrador, que cuida de la instalación, mantenimiento y optimización del servidor de bases de datos. Estos roles, naturalmente, pueden coincidir en la misma persona, aunque en un entorno profesional suele tratarse de figuras distintas.

MySQL Workbench es un todo en uno pensado para asistir tanto al diseñador como al desarrollador o al administrador de bases de datos MySQL.

MySQL Workbench
La nueva interfaz sobria de MySQL Workbench

El administrador dispone de un repositorio centralizado desde el que puede gestionar sus servidores: arranque, parada, gestión de usarios, copias de seguridad, etc., y todo ello desde la comodidad de una interfaz gráfica.

El diseñador cuenta con herramientas visuales que le asistirán en el modelado, como la creación de diagramas ER (Entity-Relationship, de los que nos ocuparemos más adelante), con los que representará una abstracción del problema que podrá ser revisada y refinada por las distintas partes antes de su implementación física.

Si has leído los artículos anteriores, en los que hemos estado más centrados en la perspectiva del desarrollador, creando tablas, insertando, modificando o consultando datos, apreciarás lo engorroso que puede resultar el trabajo con SQL desde la línea de comandos, con limitadas capacidades de edición. MySQL Workbench te ofrece un entorno de desarrollo con las capacidades similares a un IDE en otros lenguajes de programación, como son la auto compleción, el uso de colores en el código o la capacidad de almacenar y recuperar nuestras queries. Dispone, además, de herramientas visuales con las que podemos visualizar y actuar sobre los objetos de nuestra base de datos (creación de tablas, modificación de su estructura, etc.).

Trabajar con queries desde la línea de comandos no tiene color (esto es literal) comparado a cómo se hace desde MySQL Workbench. Visitaremos esta herramienta a menudo en los próximoss artículos; no obstante, es tan intuitiva que puedes sacarle partido en apenas un minuto sin necesidad de leer complejos manuales. Te invito a descubrirla.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2014/06/una-invitacion-a-mysql-workbench/


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!

Guitarra – Acorde mayor en primera posición CAGED

Objetivo: presentar a lo largo del mástil el acorde mayor en primera posición CAGED (forma de C).

Voy a contarte una historia que con mucha probabilidad te resultará familiar si eres guitarrista.

Recuerdo la emoción que sentí la primera vez que fui capaz de hacer sonar un acorde en la guitarra. Debía de tratarse de un La mayor, o tal vez un Re o un Do, pues suelen ser los acordes mayores que menos dificultades entrañan. Rasguear despacio las cuerdas y obtener esa mezcla sonora capaz de sostener y evocar la melodía de la canción en su ausencia, invitándome a cantarla, me parecía fascinante.

Mi profesor de guitarra era un libro, que aún conservo con mucho cariño, con todas las canciones de los Beatles cifradas. Además de la letra y la partitura con la melodía, cada canción contenía unos gráficos con los acordes empleados que con mucho esfuerzo y perseverancia intentaba reproducir en el instrumento. Eran tiempos difíciles; no sólo se trataba de aprender a colocar las posiciones, extendiendo los dedos a veces hasta límites aparentemente inalcanzables, sino que había que ser capaz de cambiar entre un acorde y otro a tiempo con el ritmo de la canción.

Poco a poco mis manos fueron adquiriendo memoria y habilidad motriz, de modo que en un tiempo ya contaba con cierto repertorio de acordes con cuerdas al aire. Un surtido de acordes mayores, menores, y algún que otro eventual de séptima de dominante (no supe que era realmente eso hasta unos años después) con los que a duras penas podía defenderme autoacompañándome cantando determinadas canciones.

Los acordes al aire mayores (CAGED):
(podemos ahorrarnos utilizar gráficos, ¿verdad?)
C: x32010
A: x02220
G: 320003
E: 022100
D: xx0232

El siguiente obstáculo serio me esperaba en el acorde de Fa mayor. Ignorarlo implicaba renunciar a ser guitarrista. Me costó mucho trabajo hacer una cejilla con el dedo índice cruzando completamente el primer traste de la guitarra, fijar tres dedos más debajo de él y hacer que el conjunto sonara con limpieza.

El acorde de Fa mayor:
F: 133211 (cejilla en el primer traste)

Pero aprender un instrumento, sea el que sea, tiene algo de mágico. Un día te levantas y te das cuenta de que eres capaz de hacer lo que una vez te parecía imposible. Es una lección que te acompañará toda la vida gracias a la cual aprendes que no hay dificultad técnica que no puedas superar trabajando, forjando las conexiones entre mente y dedos hasta el punto de hacerlas subsconcientes.

Con Fa mayor en mi haber, que no era otro sino Mi mayor, pero ejecutado trazando una cejilla en el primer traste, llegaron al poco otros acordes semejantes. Me refiero, en particular, a Si bemol mayor, forma de La mayor, pero con cejilla en el primer traste. Me costó también lo suyo, pues implicaba una separación más amplia entre los dedos índice y medio que en Fa mayor.

El acorde de Si bemol mayor:
Bb: x13331 (cejilla en el primer traste)

Un día descubrí que esos acordes con cejilla podían moverse a lo largo del mástil. Aprendí a tener siempre localizada la nota que da nombre el acorde, llamada fundamental. En el acorde de Mi mayor típico, la fundamental, nota Mi, se halla, entre otros sitios, en la sexta cuerda tocada al aire. En Fa mayor, la fundamental se encuentra en la sexta cuerda, primer traste, nota Fa, a la misma altura en la que dibujaba la cejilla.

Es decir, localizando cualquier nota en la sexta cuerda podía construir un acorde mayor del mismo nombre que esa nota sin más que trazar una cejilla a esa altura y dibujar a continuación un acorde de Mi mayor. Por ejemplo, la sexta cuerda sobre el tercer traste origina la nota Sol. Si trazamos una cejilla en el tercer traste y dibujamos un acorde de Mi, el acorde obtenido no es sino otra forma de Sol mayor.

El acorde de Sol mayor en forma de Mi:
G: 355433 (cejilla en el tercer traste)

Otro tanto sucede con la forma de La mayor, que tiene la fundamental en la quinta cuerda al aire. Para formar un acorde con cejilla empleando esa estructura, localizamos en la quinta cuerda la nota fundamental, extendemos una cejilla desde esa nota y dibujamos La mayor con el resto de los dedos. Por ejemplo, Si mayor se obtiene empleando la forma de La con una cejilla en el segundo traste, ya que la quinta cuerda en el segundo traste es precisamente la nota Si.

El acorde de Si mayor en forma de La:
B: x24442 (cejilla en el segundo traste)

Dominando estos dos tipos de acordes con cejilla, con formas de Mi mayor y La mayor, y haciendo un tratamiento similar con su variante menor, nos encontramos que podemos tocar fácilmente en cualquier tonalidad sin mayor problema que tener perfectamente identificadas las notas que aparecen a lo largo de la sexta y quinta cuerda para poder acceder rápidamente a la fundamental de cualquier acorde.

Podemos disponer, además, de flexibilidad para elegir la forma que más nos convenga.
Imagina, por ejemplo, que necesitas un Do mayor. Con los recursos mostrados dispondrías de tres opciones simples:

C: x32010 (cuerdas al aire)
C: x35553 (cejilla en tercer traste, forma de La)
C: 8 10 10 988 (cejilla en octavo traste, forma de Mi)

Agrupando los cinco acordes mayores básicos al aire, C, A, G, E y D, obtenemos la palabra CAGED. Esta ordenación particular de las letras constituye la esencia del método CAGED.

Cuando configuramos un acorde con cejilla utilizando la forma básica de Mi mayor (E) decimos que ese acorde está en cuarta posición CAGED, ya que la letra E es la cuarta letra dentro de la palabra CAGED.

De igual modo, cuando montamos acordes mayores con cejilla empleando la forma básica de La mayor (A), decimos aque estos se encuentran en segunda posición CAGED, puesto que A es la segunda letra dentro de CAGED.

Muchos guitarristas se plantan en estas dos posiciones, la cuarta y segunda, sin aventurarse a explorar las tres letras restantes. Si es tu caso, permíteme que te invite a que las estudies, pues sin lugar a dudas te ayudará a ser un guitarrista más flexible.

La siguiente forma a aprender, una vez dominadas E y A es, por complejidad, C, la primera posición CAGED, basada en el acorde de Do mayor con cuerdas al aire:

C: x32010

Localizamos la fundamental en el tercer traste de la quinta cuerda, nota Do. Esa será nuestra referencia para montar acordes basados en esta posición.

Imagina por ejemplo, que quieres montar un Mi mayor. Seguimos subiendo por la quinta cuerda localizando la nota Mi, encontrándola en el séptimo traste.

Plantamos ahí el dedo meñique y a partir de ahí dibujamos la forma de Do mayor.

E: x76454 (cejilla en el cuarto traste)

Observa que el acorde, dibujado a partir de la fundamental en la quinta cuerda, crece esta vez en sentido contrario a como lo hacía en las formas de E y A. En estas, se desplegaba hacia el puente, mientras que en la forma de C lo hace hacia el clavijero. Si la fundamental está en el séptimo traste, la cejilla ha de caer en el cuarto para respetar la composición del acorde en forma C.

Otro ejemplo, Sol mayor en forma de Do:

G: x 10 9787 (cejilla en el séptimo traste)

Esto es así porque la nota que aparece en el décimo traste de la quinta cuerda es un Sol, la fundamental del acorde de Sol mayor.

Tómate tu tiempo en practicar los acordes con cejilla en forma Do, primera posición CAGED, aunque no sea en absoluto fácil. Poder crear un Mi bemol mayor haciendo una cejilla en el tercer traste, o un Fa mayor en el quinto, es todo un lujo sonoro.

La flexibilidad armónica es, además, imprescindible para todo aquel que quiera mezclar melodía y acordes simultáneamente en una misma guitarra. El acorde mayor en primera posición CAGED te ofrece una maravillosa tercera mayor como primera voz.

A menudo, cuando ya somos capaces de cambiar con soltura entre todo tipo de acordes, mostramos cierto rechazo a la hora de educar nuestras manos con formas nuevas. Pero, después de todo, es lo mismo de siempre. Trabaja e insiste: un día te despertarás y descubrirás que ha sucedido la magia.

Javier Montero Gabarró


Guitarra – Acorde mayor en primera posición CAGED


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 la categoría Guitarra.

Índice de la categoría Armonía.

LaTeX – Aproximación a las tablas

Objetivo: aprender la sintaxis básica para la creación de tablas en LaTeX.

Visto desde fuera, \LaTeX puede intimidar al profano que ocasionalmente asoma su cabeza en el mundillo. Desde dentro, más aún. Perdido entre centenares y centenares de paquetes y comandos, uno se siente siempre un principiante.

Pero lo verdaderamente cierto es que, con un puñado simple de conceptos y comandos bien aprendidos, podemos generar documentos en LaTeX con apariencia profesional desde el primer día. Gradualmente seguimos aprendiendo, colocando piezas en el puzzle, de modo que nuestro repertorio de técnicas crece, ofreciéndonos más flexibilidad y permitiéndonos lograr resultados más elaborados.

Ese es el modo como me gusta estudiar \LaTeX (y tantas otras cosas): pieza a pieza, técnica a técnica, asegurándome bien de practicar e interiorizar cada nuevo elemento antes de precipitarme buscando otro diferente.

Nos aproximaremos a la creación de tablas de ese modo. Comenzaremos por el uso más simple, la creación de una tabla básica con apenas un formato mínimo. Progresivamente exploraremos las distintas opciones de diseño y presentaremos algunos paquetes que extenderán nuestras posibilidades creativas.

Para crear una tabla disponemos del entorno tabular. Es decir, nuestra tabla quedará contenida en un bloque semejante a este:

\begin{tabular}
....
\end{tabular}

Como parámetro obligatorio (y por lo tanto, entre llaves) debemos indicar la justificación individual de cada columna. Si el contenido ha de aparecer justificado a la izquierda, escribimos la letra l (left); si la alineación es a la derecha una r (right); si lo que queremos es que el contenido esté centrado lo indicamos con la letra c (centered). Hay más posibilidades, pero de ellas hablaremos en otra ocasión.

Por ejemplo, imaginemos que queremos crear una tabla de 2 filas por 4 columnas en las que las dos primeras columnas se justifican a izquierda, la siguiente se centra y la última se alinéa a la derecha. La definición del entorno sería del siguiente modo:


\begin{tabular}{llcr}
....
\end{tabular}

Observa, una especificación de formato para cada columna.

Si quisiéramos que todas las celdas centrasen su contenido, repetiríamos simplemente el carácter c:

\begin{tabular}{cccc}
....
\end{tabular}

Para introducir los elementos de la tabla empezamos por la primera celda de la primera fila, yendo de columna en columna, separando cada elemento mediante el símbolo & e indicando el final de cada fila mediante una doble barra \\.

Por ejemplo, esta podría ser la primera fila en nuestra tabla de 2 x 4:

pepino & tomate & berenjena & rábano \\

Y estas las dos filas completas:

pepino & tomate & berenjena & rábano \\
manzana & naranja & fresa & pera \\

Dado que la segunda es la última fila, podríamos habernos ahorrado la doble barra final, aunque mantenerlas nos ayuda a mantener el código claro.

De modo que esta es nuestra tabla al completo:

\begin{tabular}{llcr}
pepino & tomate & berenjena & rábano \\
manzana & naranja & fresa & pera \\
\end{tabular}

latex-tablas-1

Aprecia la justificación que hemos definido en cada columna individual.

Si alguna celda no dispone de valor simplemente dejamos un blanco (o no escribimos nada) entre los & y & correspondientes:

\begin{tabular}{llcr}
pepino & tomate & & rábano \\
manzana & naranja & fresa & pera \\
\end{tabular}

latex-tablas-2

Si las que están en blanco son las últimas celdas de una fila, podemos ahorrarnos los separadores oportunos antes de la doble \\ final:

\begin{tabular}{llcr}
pepino & tomate  \\
manzana & naranja & fresa & pera \\
\end{tabular}

latex-tablas-3

Esto es todo lo que quería contarte hoy. Tienes a tu disposición una sencilla herramienta que puede resultarte muy útil a la hora de estructurar en tablas la información en un documento \LaTeX. Naturalmente, una vez aprendidos los rudimentos básicos, desearás ir más allá y hacer cosas como poner un marco al conjunto, por ejemplo. Veremos que es algo sumamente fácil, también.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2014/06/latex-aproximacion-a-las-tablas/


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.

Armonización de la escala menor armónica

Objetivo: presentar los acordes que aparecen tras armonizar la escala menor armónica.

La escala menor armónica debe formar parte del bagaje de todo músico, al igual que, naturalmente, los acordes que surgen en su armonización.

El procedimiento que seguiremos para armonizarla es el mismo que ya hemos repetido en varias ocasiones: partiendo de las notas de la escala, agregaremos sobre cada grado terceras sucesivas y pondremos nombre a los acordes de tres y cuatro notas que nos aparecerán. Si en algún momento te parece que estoy yendo demasiado rápido, consulta, por favor, los artículos anteriores.

Menor armónica: 1 – 2 – b3 – 4 – 5 – b6 – 7

Si no tienes su sonido en la mente, toma tu instrumento y escucha su evocadora y característica melodía. Eso ayudará a crear ambiente y nos introducirá en materia. Percátate de la distancia de tres semitonos entre la b6 y la 7.

Con la fórmula ante nosotros, la escala Do menor armónica resulta obvia:

Do menor armónica: C – D – Eb – F – G – Ab – B

Apilemos terceras tomándolas de la misma escala:

C: C – Eb – G: tercera menor (3 semitonos) + tercera mayor (4 semitonos): tríada menor.

D: D – F – Ab: tercera menor + tercera menor: tríada disminuida.

Eb: Eb – G – B: tercera mayor + tercera mayor: tríada aumentada.

F: F – Ab – C: tercera menor + tercera mayor: tríada menor.

G: G – B – D: tercera mayor + tercera menor: tríada mayor.

Ab: Ab – C – Eb: tercera mayor + tercera menor: tríada mayor.

B: B – D – F: tercera menor + tercera menor: tríada disminuida.

Recopilemos las tríadas que hemos obtenido:

Cm – D° – Eb+ – Fm – G – Ab – B°

Para generalizar a cualquier otra tonalidad distinta de Do menor volvemos a hacer uso de la fórmula relativa, especificando esta vez los acordes deducidos:

Im – II° – bIII+ – IVm – V – bVI – VII°

Apilamos una tercera más y obtenemos las tétradas:

C: C – Eb – G – B
La forma más rápida de identificar estos acordes, conociendo ya la tríada sobre la que se sustentan, consiste en identificar qué tipo de séptima tenemos. Recordemos: la séptima es mayor si está a un semitono de la octava, menor si lo está a dos y disminuida si dista tres semitonos. En nuestro caso, B y C están a un semitono, luego la séptima es mayor. Como la tríada es menor, el acorde resultante es Do menor con séptima mayor, Cm(maj7).

D: D – F – Ab – C
Tríada disminuida con la séptima menor (C y D están a dos semitonos), de modo que estamos ante Dm7(b5) (también se conoce a este tipo de acorde como semidisminuido).

Eb: Eb – G – B – D
Tríada aumentada con séptima mayor: Eb+(maj7)

F: F – Ab – C – Eb
Tríada menor con séptima menor: Fm7

G: G – B – D – F
Tríada mayor con séptima menor: G7

Ab: Ab – C – Eb – G
Tríada mayor con séptima mayor: Abmaj7

B: B – D – F – Ab
Tríada disminuida con séptima disminuida (observa los tres semitonos entre Ab y B): el acorde disminuido completo, B°, también cifrado como Bdim7.

Recopilando:

Cm(maj7) – Dm7(b5) – Eb+(maj7) – Fm7 – G7 – Abmaj7 – B°

Generalizando:

Im(maj7) – IIm7(b5) – bIII+(maj7) – IVm7 – V7 – bVImaj7 – VII°

Demos la bienvenida al acorde disminuido completo en versión tétrada, que es la primera vez que aparece en nuestras armonizaciones.

Te dejo saludándole…

Javier Montero Gabarró


Armonización de la escala menor armónica


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.

Java – Los ocho magníficos

lasecreObjetivo: presentar los tipos de datos primitivos en Java.

Antes de que empecemos a fabricar objetos como churros es importante que nos tomemos un tiempo para familiarizarnos con la materia prima de que están hechos, los ladrillos con los que construiremos nuestras nuevas estructuras de datos.

Sabemos que los objetos se componen de atributos, que no son más que un conjunto de variables con sus respectivos valores, y de métodos, las funciones que definen el comportamiento del objeto, lo que se puede hacer con él. Estos métodos, por lo general, procesan y devuelven datos también.

De modo que las variables son la sangre que circula internamente por los objetos.

Java requiere que especifiquemos el tipo de una variable en el momento preciso de declararla. Si recuerdas las clases Coche y Persona de los artículos anteriores, verás que aparecían en ellas algunas instrucciones como las siguientes:

String marca;
int velocidad;
boolean arrancado;
char sexo;
Coche coche;

Se trata de declaraciones de variables, en las que se asocia a cada nombre un tipo. Así pues, la variable marca referenciará una cadena de caracteres para indicar la marca del coche; velocidad contendrá un valor entero para expresar su velocidad; arrancado, de tipo booleano (verdadero o falso) nos hará saber si el vehículo está puesto en marcha o no; sexo contendrá un único carácter para indicar si la persona es un hombre o una mujer; coche, finalmente, es una variable de tipo Coche, un tipo que hemos diseñado nosotros al crear la clase Coche. Recuerda que Java diferencia entre mayúsculas y minúsculas, por eso coche y Coche son identificadores diferentes.

Fijémonos en los tipos de estas variables. Algunas de ellas, como coche, tienen por tipo el nombre de una clase. No es tan obvio eso mismo en la variable marca, pero observa que su tipo, String, comienza escrito por mayúsculas. Ya sabes que los nombres de clases, por convenio, empiezan por mayúsculas. Puedes pensar en Coche y String como tipos de datos compuestos, en oposición a los tipos simples restantes.

Los protagonistas de hoy son esos datos simples, atómicos, que luego utilizamos para construir otros tipos compuestos más elaborados. En Java son ocho y reciben el nombre de tipos primitivos.

Veamos cuáles son, agrupados por categorías.

Para declarar variables que contengan números enteros disponemos de cuatro tipos: byte, short, int y long. Se trata de enteros con signo (para valores positivos y negativos) y la diferencia entre ellos no es otra sino el número de bytes que ocupan en memoria y, por lo tanto, el rango numérico que pueden representar.

byte –> 1 byte (8 bits)
Rango: -128 / +127

short –> 2 bytes (16 bits)
Rango: -32768 / +32767

int –> 4 bytes (32 bits)
Rango: –2147483648 / +2147483647

long –> 8 bytes (64 bits)
Rango: –9223372036854775808 / +9223372036854775807

Como veremos cuando tratemos el tema de los literales, int es el tipo favorito de Java para lidiar con enteros. De ahí que a menudo nos planteemos una cuestión: ¿merece la pena la utilización de tipos como byte o short? Para aplicaciones sencillas, en las que la optimización del uso de memoria puede no ser relevante, no habría inconveniente. Pero imagina, por ejemplo, un programa que tuviera que manipular arrays grandes de enteros tipo byte (hablaremos de los arrays a su debido momento, pero por ahora basta con que sepas que son estructuras que permiten almacenar muchos elementos de un mismo tipo). Utilizar 4 bytes por cada elemento en lugar de 1, cuando son muchos, podría implicar un desperdicio de memoria crítico. Además, definir adecuadamente el tipo de los datos, dimensionándolos a lo estrictamente necesario, ayuda a mejorar la legibilidad y la comprensión del programa.

Para trabajar con números decimales disponemos de los tipos float y double. Están basados en el estándar IEEE 754 de representación en coma flotante. Si no has oído hablar de ese estándar hasta ahora y no sabes qué es eso de la mantisa y el exponente, te recomiendo que hagas una sencilla búsqueda en Google y te informes. Es una lectura que todo el mundo que trabaja con ordenadores debe hacer al menos una vez en su vida.

La diferencia entre float y double estriba, al igual que con las distintas opciones para números enteros, en el tamaño que ocupan: 32 bits el tipo float y 64 el tipo double, representando los números decimales con precisión simple o doble, respectivamente. Esto determinará tanto el máximo valor como el mínimo valor que podremos representar.

float –> 4 bytes (32 bits)
Mínimo: ±1.40239846E-45
Máximo: ±3.40282347E+8

double –> 8 bytes (64 bits)
Mínimo: ±4.94065645841246544E-324
Máximo: ±1.79769313486231570E+308

Aprecia la notación exponencial, no sería práctico escribir aquí un chorizo de trescientas cifras.

El tipo double es el favorito de Java al tratar números decimales. No obstante, como sucedía con los enteros, habrá situaciones en las que el ahorro de memoria puede ser un factor determinante que requiera una declaración de variables austera con float.

Para almacenar un carácter simple, Java dispone del tipo primitivo char, que ocupa 16 bits. Con él podemos representar caracteres Unicode (¡toda una bendición!) comprendidos entre ‘\u0000’ (0) y ‘\uFFFF’ (65535).

El octavo magnífico de nuestra serie es el tipo boolean, que admite dos posibles valores: true o false. Sólo se necesita un bit para almacenar dos estados posibles, pero el tamaño real que ocupa una variable boolean depende de la plataforma y de la implementación particular en Java. No es una cuestión importante pues, como hemos dicho, sólo se utiliza un bit, se guarde como se guarde.

Lo que resulta significativo es el hecho de que Java defina con exactitud el tamaño de sus tipos primitivos (sin contar boolean). No hay que perder de vista que Java está pensado como lenguaje multiplataforma. Si has programado en otros lenguajes y entornos quizás hayas constatado que el tamaño de un entero está muy relacionado con la arquitectura en particular. ¿Cómo es posible que Java logre esa independencia de la plataforma?

La clave es entender que cuando escribes un programa Java no lo estás haciendo directamente para tu sistema, sino para una una abstracción que es la máquina virtual Java (que, naturalmente, sí que es dependiente de la plataforma). Esa es la magia tras el slogan de Java, «escribe una vez, ejecuta en todas partes», que permite que el código escrito para una plataforma funcione directamente y sin correcciones (en términos generales, no siempre es así) en cualquier otra en la que exista una máquina virtual Java.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2014/05/java-los-ocho-magnificos/


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 Java.

Python – Un poco de orden, por favor

Objetivo: mostrar cómo ordenar los elementos de una lista.

Benditas sean las listas. ¡Qué sería de nosotros, pythonistas, sin su admirable flexibilidad! He perdido la cuenta de los problemas que he podido resolver con elegancia apoyándome simplemente en estas sólidas estructuras.

Vamos a ampliar el repertorio de las posibilidades que nos ofrecen las listas. Nos ocuparemos hoy de ordenarlas.

Tomemos, por ejemplo, la siguiente lista numérica:

>>> a = [7, -1, 5, 3]

Ordenarla resulta tan sencillo como aplicar el método sort(), disponible en los objetos de tipo lista:

>>> a.sort()
>>> a
[-1, 3, 5, 7]

Bien simple. No obstante hay algo que debes tener siempre presente: esta modificación es «in situ», atacando directamente al objeto original, sin crear una copia.

Si lo que quieres es generar una nueva lista ordenada, pero sin afectar la original, puedes hacer uso de la función sorted(), que toma como argumento una secuencia y devuelve otra diferente ordenada.

>>> a = [7, -1, 5, 3]
>>> b = sorted(a)
>>> a
[7, -1, 5, 3]
>>> b
[-1, 3, 5, 7]

Mucho cuidado con hacer esto:

>>> a = [7, -1, 5, 3]
>>> b = a.sort()

Naturalmente, a se modificaría, ordenándose. ¿Pero qué crees que valdría b?

>>> print(b)
None

Nada. b no vale nada.

Si no entiendes por qué sucede esto, no te pierdas la lectura del artículo Python – Hace falta valor, en el que se desentraña el misterio.

Lo bueno de la función sorted() es que el argumento puede ser una secuencia en general, no solamente una lista. Así, objetos no mutables, como las tuplas, que no disponen del método sort(), podrían beneficiarse de su utilización.

La única limitación de sort() y sorted() es que los elementos han de ser comparables. Si no, Python difícilmente podrá deducir su orden.

La siguiente lista, con tipos diferentes, no podrá ser ordenada por sort():

>>> listamixta = [1, 'a', 5, 'casa']
>>> listamixta.sort()
Traceback (most recent call last):
  File "<pyshell#83>", line 1, in <module>
    listamixta.sort()
TypeError: unorderable types: str() < int()

Ordenar una lista en sentido inverso, de mayor a menor, es igualmente fácil haciendo uso de un argumento opcional, reverse:

>>> a = [7, -1, 5, 3]
>>> a.sort(reverse = True)
>>> a
[7, 5, 3, -1]

La función sorted() dispone también de la misma posibilidad:

>>> a = [7, -1, 5, 3]
>>> sorted(a, reverse = True)
[7, 5, 3, -1]

Observa que, en este último ejemplo, a no ha modificado su valor, puesto que sorted() ha creado un objeto diferente:

>>> a
[7, -1, 5, 3]

Voy a plantearte ahora un problema interesante que servirá de preludio al argumento que presentaremos a continuación y que aumentará sobremanera la potencia de nuestras ordenaciones.

Imagina que queremos ordenar alfabéticamente la siguiente lista:

>>> frutas = ['pera', 'Manzana', 'fresa']

Observa que he comenzado en mayúsculas la palabra Manzana.

El método sort(), estrictamente, cumple su función:

>>> frutas.sort()
>>> frutas
['Manzana', 'fresa', 'pera']

Las letras mayúsculas se almacenan internamente con un código más bajo que las correspondientes minúsculas, de modo que Manzana aparece antes que fresa, pese a que tal vez no fuera eso lo que nos gustaría.

¿Cómo hacer para que la ordenación no tenga en cuenta que la M está en mayúsculas y la trate como si fuera minúscula, pero dejando que aparezca en el resultado tal como fue escrita?

Imagina que podemos crear un tratamiento temporal previo que procese cada término conviertiéndolo completamente en minúsculas para que luego sort trabaje sobre ese resultado, pero sin olvidar cuáles eran los términos originales.

Esto se logra con un nuevo argumento, key:

>>> frutas = ['pera', 'Manzana', 'fresa']
>>> frutas.sort(key = str.lower)
>>> frutas
['fresa', 'Manzana', 'pera']

Y ahora sí, fresa aparece antes que Manzana.

Presta atención: key recibe como valor el nombre de una función que requiera un único argumento. El valor devuelto por la función será utilizado después como base de trabajo para la ordenación.

El método lower(), que se aplica a los objetos de tipo str, strings, convierte una cadena de caracteres toda en minúsculas. Observa que he dicho el nombre de una función, por eso lower se muestra sin paréntesis en el argumento key.

Otro ejemplo. Reorganicemos nuestra macedonia, pero esta vez de modo que las frutas aparezcan ordenadas de acuerdo a su longitud:

>>> frutas = ['pera', 'Manzana', 'fresa']
>>> frutas.sort(key = len)
>>> frutas
['pera', 'fresa', 'Manzana']

Como sabes, la función len devuelve el número de elementos de una secuencia, esto es, el número de letras de que se compone un string, en nuestro caso. Ese total será tomado como criterio para la ordenación.

Podemos utilizar key para saltarnos la limitación que nos impedía ordenar listas mixtas.

>>> listamixta = [1, 'a', 5, 'casa']
>>> listamixta.sort(key = str)
>>> listamixta
[1, 5, 'a', 'casa']

La función str convierte un objeto en string, de modo que los números ya serán comparables con el resto de valores y sort() podrá realizar su trabajo. Observa que la lista resultado sigue siendo mixta; la conversión a string sólo se ha realizado a nivel interno.

Podemos ir más allá y crear incluso nuestras propias funciones para utilizarlas en sort().

Por ejemplo, esta sencilla función invierte un string:

>>> def invertir(cadena):
  return cadena[::-1]

>>> invertir('pimiento')
'otneimip'

Si no entiendes cómo trabaja esta función, echa un vistazo al artículo El mundo al revés.

Vamos a aprovecharla entonces como criterio de ordenación para que sort() ordene la lista atendiendo a la última letra de cada palabra, en lugar de la primera, tal como haría por omisión.

>>> planetas = ['mercurio', 'venus', 'tierra', 'marte']
>>> planetas.sort(key = invertir)
>>> planetas
['tierra', 'marte', 'mercurio', 'venus']

Fíjate por dónde, nuestro planeta el primero…

La función sorted(), como cabría esperar, dispone también del argumento key.

Interesante. Las posibilidades creativas son inmensas. Prácticamente significa que puedes hacer que Python ordene una lista o, por lo general, cualquier secuencia, por cualquier criterio que puedas imaginar. Es lo que me encanta de Python: este lenguaje rezuma creatividad lo mires por donde lo mires.

Javier Montero Gabarró


Python – Un poco de orden, por favor


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.

Días monotemáticos para polifacéticos

Todos los polifacéticos intentamos ser lo más productivos posible en cada una de las áreas de nuestro interés. Otra cosa muy distinta es que lo consigamos, algo que depende en buena manera de nuestra capacidad de organización personal.

En Polifacetismo y Productividad hablábamos de distintos tipos de polifacetismo atendiendo a la frecuencia con la que desplazábamos el foco de atención. En mi caso particular, me permito picotear entre varias actividades distintas a lo largo del día. Para no perder el hilo entre sesiones hago uso riguroso de los diarios de acción, además de otras técnicas que me transportan rápidamente al estado mental necesario para poder sacar el mayor provecho posible al tiempo, a menudo breve, que voy a estar inmerso en la actividad.

No obstante, en ocasiones necesito salir de esta pauta de trabajo y acercarme a mis inquietudes de un modo diferente. Dispongo de un amplio abanico de esquemas «regeneradores», como me gusta denominarlos, que refrescan mi motivación y capacidad de rendimiento. Uno de ellos es el de los días monotemáticos.

Los días monotemáticos, tal como el término indica, no son más que días en los que concentramos el foco de interés en una única inquietud.

Eso no significa que sea lo único que hagamos durante el día, por supuesto. Todos tenemos que atender obligaciones inexcusables, también merecedoras de nuestra pasión, que pueden ocuparnos numerosas horas de nuestra jornada diaria. Pero, fuera de lo indiscutible, tenemos capacidad de decisión sobre lo discutible, y es en ese terreno donde somos reyes absolutos de nuestro tiempo.

Un día monotemático se inicia decidiendo, en los primeros compases de la mañana, en qué actividad volcaremos nuestro entusiasmo. La ducha matutina (me levanto cada día a las seis) es un momento ideal para mí, entre sensaciones energizantes y regeneradoras, para confirmar una decisión que probablemente mi subconsciente ya ha tomado. No es algo que deje para el día anterior: con frecuencia, la impregnación monotemática se mantiene hasta el límite entre la vigilia y el sueño (puede que durante él también) y no me gusta interrumpirla. De hecho, ¿quién no ha experimentado la aparición de una idea creativa o la resolución de un problema complejo en este estado de semiconsciencia que precede al sueño?

Tampoco acostumbro a planificarla con antelación: escribir que dentro de cinco días me centraré en la organización del blog, el sexto a la producción musical y el séptimo a programar en Python hace que el método se vuelva poco efectivo al perder la bondad de la espontaneidad y la improvisación. Con los días monotemáticos pretendemos una reconexión con nuestras pasiones y un mejor conocimiento de nuestras prioridades. Por eso decía antes que poco más que tenemos que confirmar algo que en el fondo ya sabemos. La fría planificación anticipada no tiene en cuenta la parte sumergida del iceberg.

Una vez elegida tu inquietud del día (o, más bien, una vez la inquietud te ha elegido), haz que transpire por todos tus poros. Por un día olvídate de que eres polifacético y dedícale todo tu amor con jurada fidelidad. No permitas que ninguna otra faceta te hable, al menos hasta la ducha del día siguiente.

Si el compromiso y la conexión son los adecuados probablemente descubras que estás siendo productivo incluso en el tiempo inicialmente no previsto para la actividad, como aquel que clasificamos para las obligaciones inexcusables. Y es que, al igual que somos un 60% agua, así nuestro tiempo es mucho más líquido de lo que creemos y podemos sacar mucho jugo al exprimirlo. No menosprecies el tiempo que dedicamos a pensar en algo, incluso aunque ese algo sea una guitarra que hasta dentro de nueve horas no tendrás en tus manos. Recuerdo haber esbozado el núcleo de una canción durante una sesión de running por el parque.

No todos los días monotemáticos resultarán igual de productivos, por supuesto. Puede que, dadas las circunstancias concretas del día, incluso no aparenten haberlo sido en absoluto. Eso no debe preocuparte lo más mínimo: volverá a amanecer a la mañana siguiente y la opción de repetir menú siempre estará disponible.

Quizás descubras que lo que te apetece es repetir y repetir la misma pasión un día tras otro, asemejándote por una temporada al polifacético que es capaz de dedicar largos períodos de tiempo a una actividad exclusiva para luego abandonarla e iniciar algo completamente diferente. ¿Por qué no?

Lo realmente sorprendente es que, una vez hemos instalado el estado mental de producción monotemática, lo mucho que podemos lograr en un aparentemente simple y cotidiano día. Desde aprender un lenguaje de programación o una nueva pieza musical, leer un libro entero o escribir una canción. O, por lo menos, obtener importantes avances en cualquier área de nuestro interés.

¿Cuánto tiempo mantener tus días monotemáticos? Mi respuesta es la misma para cualquier técnica de productividad o método de organización personal: mientras funcione. Tan pronto empieces a percibir que no obtienes los resultados deseados sabrás que habrá el llegado el momento de que ese agente poderoso que es el cambio vuelva a entrar en acción.

Javier Montero Gabarró


Días monotemáticos para polifacéticos


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 los artículos de la categoría Productividad.

Armonización de la escala menor melódica

Objetivo: deducir los acordes tríadas y tétradas que aparecen al armonizar la escala menor melódica.

Continuando la serie de artículos dedicada a la armonización de escalas menores, vamos a entretenernos hoy construyendo los acordes propios de la escala menor melódica. Como resultado obtendremos acordes nuevos, no presentes al armonizar la menor natural, que enriquecerán nuestras posibilidades a la hora de componer en tonalidades menores.

De modo que coge lápiz y papel; te invito a realizar juntos este sencillo ejercicio.

Partimos de la escala menor melódica, también conocida como menor de jazz por su amplia utilización (juntos a sus modos) en este género.

Menor melódica: 1 – 2 – b3 – 4 – 5 – 6 – 7

Como ves, es parecida a la escala mayor, con la salvedad de que el tercer grado (el que identifica si una escala es mayor o menor) está reducido un semitono, formando una tercera menor con la tónica.

Para nuestro cálculo elegiremos Do menor melódica, extrapolando después las conclusiones obtenidas al resto de las tonalidades.

Do menor melódica: C – D – Eb – F – G – A – B

Al igual que hicimos armonizando otras escalas, apilaremos terceras sucesivas y trataremos de identificar los acordes resultantes.

Calcular terceras es contar de tres en tres incluyendo la primera también. Comencemos por las tríadas:

Tríada sobre C: C – Eb – G
Tríada sobre D: D – F – A
Tríada sobre Eb: Eb – G – B
Tríada sobre F: F – A – C
Tríada sobre G: G – B – D
Tríada sobre A: A – C – Eb
Tríada sobre B: B – D – F

Nombremos los acordes resultantes aplicando lo que sabemos sobre tríadas:

Mayor: Tercera mayor (4 semitonos) + Tercera menor (3 semitonos)
Menor: Tercera menor + Tercera mayor
Disminuida: Tercera menor + Tercera menor
Aumentada: Tercera mayor + Tercera mayor

Por ejemplo, sobre C (C – Eb – G), la distancia entre C y Eb es de 3 seminonos (tercera menor); la distancia entre Eb y G es de 4 semitonos (tercera mayor). De modo que la tríada resultante, una tercera menor más otra mayor, determina un acorde menor, Do menor (Cm).

Repetimos esta operación en los seis restantes acordes, obteniendo:

C – Eb – G: Tercera menor + Tercera mayor: Do menor: Cm
D – F – A: Tercera menor + Tercera mayor: Re menor: Dm
Eb – G – B: Tercera mayor + Tercera mayor: Mib aumentado: Eb+
F – A – C: Tercera mayor + Tercera menor: Fa mayor: F
G – B – D: Tercera mayor + Tercera menor: Sol mayor: G
A – C – Eb: Tercera menor + Tercera menor: La disminuido: A°
B – D – F: Tercera menor + Tercera menor: Si disminuido: B°

Ya tenemos las tríadas buscadas, resultado de armonizar la escala Do menor melódica:

Cm – Dm – Eb+ – F – G – A° – B°

Generalizando sobre cualquier tonalidad, regresando a la fórmula de la escala menor melódica y añadiendo el tipo de acorde obtenido sobre cada grado:

Im – IIm – bIII+ – IV – V – VI° – VII°

Para calcular la versión tétrada, agregamos una tercera más a las que ya teníamos:

Tétrada sobre C: C – Eb – G – B
Tétrada sobre D: D – F – A – C
Tétrada sobre Eb: Eb – G – B – D
Tétrada sobre F: F – A – C – Eb
Tétrada sobre G: G – B – D – F
Tétrada sobre A: A – C – Eb – G
Tétrada sobre B: B – D – F – A

Podemos nombrar las tétradas analizando, como hicimos con las tríadas, el tipo de terceras que las forman, pero el método más rápido de hacerlo pasa por identificar el tipo de séptima. Para ello, contamos los semitonos que la separan de la fundamental del acorde una octava más arriba:

1 semitono: séptima mayor, acorde maj7
2 semitonos: séptima menor, acorde 7
3 semitonos: séptima disminuida, acorde dim7

Por ejemplo, en la tétrada sobre C (C – Eb – G – B), la distancia entre la séptima (B) y la fundamental (C), es de un semitono, de modo que la séptima es mayor. Si a la tríada obtenida (Cm), le agregamos una séptima mayor obtenemos la tétrada Cm(maj7), que se lee como «Do menor séptima mayor».

Procedemos de igual modo con los demás:

C – Eb – G – B: Cm + séptima mayor: Cm(maj7)
D – F – A – C: Dm + séptima menor: Dm7
Eb – G – B – D: Eb+ + séptima mayor: Eb+(maj7) (Mi bemol aumentado séptima mayor)
F – A – C – Eb: F + séptima menor: F7
G – B – D – F: G + séptima menor: G7
A – C – Eb – G: A° + séptima menor: Am7(b5) (también conocido como La semidisminuido, ya que lo está la quinta, pero no la séptima)
B – D – F – A: B° + séptima menor: Bm7(b5)

En resumen:

Cm(maj7) – Dm7 – Eb+(maj7) – F7 – G7 – Am7(b5) – Bm7(b5)

Generalizando, llegamos a esta interesante disposición de acordes, familia propia de la escala menor melódica:

Im(maj7) – IIm7 – bIII+(maj7) – IV7 – V7 – VIm7(b5) – VIIm7(b5)

Próximamente afrontaremos la armonización de otra gran escala menor, la armónica. Pero, ¿por qué esperar hasta entonces? Inténtalo tú mismo; seguro que eres capaz de lograrlo.

Javier Montero Gabarró


Armonización de la escala menor melódica


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.

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