Construcción de acordes – 8: menor séptima quinta bemol (semidisminuido)

Ha llegado el turno del más incomprendido de los acordes que resultan de la armonización en terceras de la escala mayor: el menor séptima con quinta bemol, también conocido como semidisminuido (en la próxima entrega, cuando explique el acorde disminuido, conocerás el porqué de ese nombre).

Nos lo encontramos sobre el séptimo grado de una escala mayor. El pobre es tan inestable que pocas veces se emplea en tonalidades mayores. Aunque categorizado con función dominante (posee el cuarto y el séptimo grado de la escala), el hecho de que ese temible tritono no sea la distancia que forman la tercera y la séptima del acorde, sino la fundamental con la quinta, no termina de convencer a nuestros oidos, tan educados a la cadencia perfecta V-I de la música tonal. Por si fuera poco, esa fuerza del movimiento entre fundamentales de una quinta justa por debajo ni siquiera se da (una quinta justa por debajo del séptimo grado no es diatónica).

Pero es en las tonalidades menores donde demuestra todo su poderío. En ellas nos lo encontramos sobre el segundo grado, bien asentado sobre un tiempo fuerte en las cadencias ii-V-i menores. Grandes composiciones se han creado en torno a esa progresión.

Su notación en cifrado moderno es m7(b5), haciendo referencia a que es un acorde m7 en el que la quinta se baja un semitono (se disminuye). También se representa con el círculo (como el disminuido °, pero dividiendo el círculo por la mitad, reflejando esa semidisminución).

Sabes ya lo suficiente sobre construcción de acordes para poder deducir la fórmula a partir del nombre. Si el acorde m7 tiene por fórmula:

m7: 1 – b3 – 5 – b7

el m7(b5) es similar, sólo que debemos bajar un semitono la quinta (b5):

m7(b5): 1 – b3 – b5 – b7

Veamos un par de ejemplos de su construcción empleando la metodología descrita en el primer artículo de la serie.

Descubramos las notas de Do menor séptima con quinta bemol. Empezamos escribiendo las notas de la escala de Do mayor (si tienes algún problema en esto no vendría mal que revisaras el artículo La escala mayor en cualquier tonalidad).

C – D – E – F – G – A – B – C

Tomando los grados 1, b3, b5 y b7, tenemos:

Cm7(b5): C – Eb – Gb – Bb

Otro ejemplo: construyamos La menor séptima con quinta bemol. La escala de La mayor es:

A – B – C# – D – E – F# – G#

Am7(b5): A – C – Eb – G

Un acorde muy interesante. Te animo a que lo que incorpores a tu repertorio y, si escribes música, a que olvides todos los prejuicios que existen a su alrededor. Piensa que nuestros oidos están habituados a una forma determinada de hacer música y, en cierto modo, somos prisioneros de nuestra propia educación.

¡Atrévete a desafiar las normas! No hay nada más ridículo en música que ellas.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2012/02/construccion-de-acordes-8-menor-septima-quinta-bemol-semidisminuido/


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

Tablas HTML con celdas irregulares – 3 de 3

En las dos últimas entregas presentamos los atributos colspan y rowspan , que nos permitían combinar celdas contiguas en una tabla. Quiero proponerte ahora un ejercicio avanzado que estoy seguro sabrás resolver si has comprendido lo hasta ahora explicado.

Se trata de escribir el código HTML que genera la siguiente tabla:

Tómate el tiempo que necesites para resolver el problema.

¿Atascado en alguna parte? ¿Algún concepto un tanto difuso aún? Si, a pesar de todo, te cuesta hallar la solución, sigue leyendo, entonces…

Recordemos el procedimiento para diseñar este tipo de tablas sin problemas:

1) Procesar los elementos fila a fila, comenzando por la primera, y de izquierda a derecha, es decir, del mismo modo que realizamos la lectura de un libro.

2) No debemos incluir celdas que pertenezcan a una extensión ya iniciada en una definición anterior.

Según esto, en la primera fila nos encontraríamos con tres definiciones de datos: la primera (alfa) extiende la celda tres columnas horizontalmente, la segunda (bravo) es normal y la tercera (charlie) extiende dos filas verticalmente.

<tr>
  <td colspan="3">alfa</td><td>bravo</td><td rowspan="2">charlie</td>
</tr>

La segunda fila contiene cuatro definiciones, pues su última celda pertenece a una extensión que se realizó en la primera fila.

<tr>
  <td>delta</td><td>echo</td><td>foxtrot</td><td>golf</td>
</tr>

La tercera fila es suculenta: contiene tres definiciones y la segunda (india) es peculiar, pues contiene una expansión tanto horizontal como vertical.

<tr>
  <td>hotel</td><td colspan="3" rowspan="2">india</td><td>juliet</td>
</tr>

Presta mucha atención a cómo hemos incluido, dentro de la misma etiqueta td, tanto el atributo colspan como rowspan.

En la cuarta fila debemos definir sólo dos elementos, uno al principio y otro al final, pues las tres hipotéticas celdas centrales pertenecen a una extensión que se inició en la fila anterior.

<tr>
  <td>kilo</td><td>lima</td>
</tr>

Por último, la quinta fila es completamente normal, con sus cinco definiciones de datos, una para cada columna. Me he permitido incluirla en el diseño para que se reflejen bien los límites de cada columna y se dimensionen con claridad todas las extensiones anteriores.

<tr>
  <td>mike</td><td>november</td><td>oscar</td><td>papa</td><td>quebec</td>
</tr>

Este es el código completo del diseño:

<table border="1">
<tr>
  <td colspan="3">alfa</td><td>bravo</td><td rowspan="2">charlie</td>
</tr>
<tr>
  <td>delta</td><td>echo</td><td>foxtrot</td><td>golf</td>
</tr>
<tr>
  <td>hotel</td><td colspan="3" rowspan="2">india</td><td>juliet</td>
</tr>
<tr>
  <td>kilo</td><td>lima</td>
</tr>
<tr>
  <td>mike</td><td>november</td><td>oscar</td><td>papa</td><td>quebec</td>
</tr>
</table>

Y, colorín colorado, esta tabla se ha acabado…

Javier Montero Gabarró


Tablas HTML con celdas irregulares – 3 de 3


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

Nuevos índices por categorías

Para facilitar la localización de los artículos del blog, he preparado unos nuevos índices por categorías accesibles desde el menú Índices.

Además del global por fechas, que muestra, agrupado en meses, todo el contenido del blog, existirán otros índices que permitirán desglosar los títulos de los artículos de las principales categorías, sin la limitación del máximo por página que se obtiene cuando se accede a través del widget del panel derecho.

He preparado, de momento, sólo el índice de la categoría dedicada a la programación en Python, pero en los próximos días irán apareciendo los restantes.

Javier Montero

Tablas HTML con celdas irregulares – 2 de 3

Ayer comenzamos el tratamiento de las tablas irregulares en HTML y aprendimos el modo de extender las celdas horizontalmente utilizando el atributo colspan. Aplicando la misma aproximación por filas que tan bien nos ha funcionado hasta el momento, aprenderemos cómo extender celdas verticalmente.

Esta es la tabla que diseñaremos hoy:

Esto es como jugar a los barquitos. Comencemos por la primera fila:

Las tres primeras celdas son normales:

<td>manzana</td><td>pera</td><td>fresa</td>

La cuarta es la que presenta la extensión vertical. El atributo con el que la indicaremos es rowspan, tomando como valor el número total de celdas que ocupa la extensión.

<td rowspan="3">naranja</td>

La fila primera es, por lo tanto:

<tr>
  <td>manzana</td><td>pera</td><td>fresa</td><td rowspan="3">naranja</td>
</tr>

Presta mucha atención ahora a como creamos la segunda fila. La idea es la siguiente: sólo contabilizaremos aquellas celdas que no formen parte de una extensión ya comenzada. Es decir, únicamente aparecerán las normales o las que comiencen una extensión.

Aplicando este principio, la definición de las celdas es sencilla. La primera celda es normal:

<td>melón</td>

La segunda comienza una extensión, por lo que debe figurar (con su correspondiente valor de rowspan):

<td rowspan="2">sandía</td>

La tercera celda vuelve a ser normal:

<td>pomelo</td>

La cuarta celda forma parte de una extensión ya iniciada, por lo que no se indica nada, quedando la fila completa definitivamente sólo con tres definiciones <td>:

<tr>
  <td>melón</td><td rowspan="2">sandía</td><td>pomelo</td>
</tr>

En la tercera fila aparecen dos extensiones ya iniciadas, por lo que sólo figurarán dos definiciones <td> (4 – 2 = 2):

<tr>
  <td>cereza</td><td>kiwi</td>
</tr>

Finalmente, la última fila es completamente normal:

<tr>
  <td>uva</td><td>ciruela</td><td>níspero</td><td>granada</td>
</tr>

Y nuestra tabla al completo queda definida, entonces, del siguiente modo:

<table border="1">
<tr>
  <td>manzana</td><td>pera</td><td>fresa</td><td rowspan="3">naranja</td>
</tr>
<tr>
  <td>melón</td><td rowspan="2">sandía</td><td>pomelo</td>
</tr>
<tr>
  <td>cereza</td><td>kiwi</td>
</tr>
<tr>
  <td>uva</td><td>ciruela</td><td>níspero</td><td>granada</td>
</tr>
</table>

En la próxima y última entrega dedicada a las tablas irregulares contemplaremos el caso en que haya celdas que se extienden a la vez en sentido horizontal y vertical. Con lo explicado en estos dos artículos debería bastarte para resolver el problema por ti mismo y te invito a comprobarlo. No obstante, daremos la solución detallada.

Tocado – Tocado –

La próxima será Hundido.

Javier Montero Gabarró


Tablas HTML con celdas irregulares – 2 de 3


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

Tablas HTML con celdas irregulares – 1 de 3

Continuamos el estudio de las tablas en HTML rizando el rizo. En este artículo y en los dos siguientes aprenderemos a diseñar tablas que presentan celdas irregulares, resultado de combinar celdas contiguas entre sí.

Echa un vistazo a la tabla siguiente y verás de qué estoy hablando.

Observa como, en la primera fila, la segunda celda tiene una anchura de dos columnas. En la tercera fila, la primera celda tiene una anchura de tres columnas y la segunda de dos.

Como siempre, nos aproximaremos al diseño fila a fila. Comencemos por la primera.

La primera celda es normal, por lo que la definiremos exactamente del modo que explicamos en los artículos anteriores:

<td>manzana</td>

La siguiente celda tiene trampa, pues presenta una anchura de dos columnas. Existe un atributo para especificar el ancho de una celda en columnas: colspan.

Puesto que la celda ocupa dos columnas, este atributo tomará 2 como valor:

<td colspan="2">pera</td>

Las dos celdas siguientes son normales:

<td>fresa</td><td>naranja</td>

La primera fila queda, entonces, definida del siguiente modo:

<tr>
  <td>manzana</td><td colspan="2">pera</td><td>fresa</td><td>naranja</td>
</tr>

Sólo hay cuatro pares <td>...</td>, en lugar de 5, ya que hay una celda ocupa lo de dos.

La segunda fila no presenta misterio alguno:

<tr>
  <td>melón</td><td>sandía</td><td>pomelo</td><td>cereza</td><td>granada</td>
</tr>

Finalmente, la tercera tiene dos celdas irregulares, la primera de tres columnas de ancho:

<td colspan="3">melocotón</td>

Y la segunda de dos:

<td colspan="2">kiwi</td>

Ya tenemos, entonces, nuestra tabla al completo:

<table border="1">
<tr>
  <td>manzana</td><td colspan="2">pera</td><td>fresa</td><td>naranja</td>
</tr>
<tr>
  <td>melón</td><td>sandía</td><td>pomelo</td><td>cereza</td><td>granada</td>
</tr>
<tr>
  <td colspan="3">melocotón</td><td colspan="2">kiwi</td>
</tr>
</table>

En el próximo artículo veremos cómo extender las celdas verticalmente. No te supondrá ningún problema si has comprendido lo explicado aquí.

Javier Montero Gabarró


Tablas HTML con celdas irregulares – 1 de 3


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

BitBite Python #1 – Aleatoria

Primera entrega de la nueva serie BitBite Python, dedicada íntegramente a mostrar código diverso en acción. No se puede aprender a programar simplemente leyendo teoría; es necesario arremangarse y ponerse a escribir código, planteando y resolviendo problemas concretos. Pero, al igual que cuando se aprende física o matemáticas, el estudio de problemas resueltos debe servir para enriquecer los recursos disponibles a la hora de enfrentarnos con otros desafíos.

Todo el código que aparecerá en esta serie habrá sido tratado adecuadamente en los capítulos de teoría y deberás remitirte a ellos si algún concepto no lo tuvieses suficientemente claro. Piensa en estos programas como la práctica necesaria que complementa los artículos teóricos. Aunque se puede aprender a programar simplemente estudiando otros programas y programando, estudiar la teoría te allanará y acortará el camino.

En el artículo Productividad Aleatoria, describí una técnica que empleo eventualmente para seguir siendo productivo incluso cuando la indecisión me paraliza a la hora de elegir la próxima tarea a afrontar: eligiéndola al azar.

Para ello, utilizo el generador de números aleatorios de random.org, o el propio widget que he colocado en el pie de página del blog.

Vamos a realizar un programa en Python que se ocupe precisamente de esto mismo: la elección de un número entero al azar dentro de un rango especificado por el usuario.

Comenzamos…

import random

La función clave del programa se encuentra dentro del módulo de la librería de Python, random.py, especializado en el manejo de números aleatorios. Debemos importar el módulo para poder utilizar las funciones que contiene.

min = int(input('Mínimo: '))
max = int(input('Máximo: '))

Introducimos el rango de valores entre los cuales, inclusive, se elegirá el número al azar. Observa la conversión explícita a entero con int, pues input nos devuelve una cadena de caracteres.

aleatorio = random.randint(min, max)

Elegimos un número aleatorio entre min y max y lo almacenamos en la variable aleatorio. La función randint se ocupa de esta elección, cuyos parámetros definen el rango del que se tomará el entero al azar. Fíjate que para poder utilizarla es preciso anteponer al nombre de la función el nombre del módulo al que pertenece, separados por un punto.

Si no hubiésemos convertido min y max a enteros, el programa devolvería un error, pues los parámetros que la función randint requiere deber ser de ese tipo, y no strings.

print('Número aleatorio entre', min, 'y', max, '--> ', aleatorio)

Finalmente, mostramos el resultado de la elección.

El fichero aleatoria.py contiene el código fuente completo del programa.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2012/02/bitbite-python-1-aleatoria/


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

mIRC – Capítulo 18: El hombre invisible

Vamos a hacer un pequeño paréntesis en la exposición de los distintos modos de canal para ilustrar otro tipo de modos, esta vez aplicables a usuarios. Y veremos uno en concreto que seguro que promete estimular tu imaginación: la invisibilidad.

¿Quién no ha soñado alguna vez con poder hacerse invisible para poder campar a nuestras anchas?

No te hagas ilusiones, la invisibilidad del IRC no es más que una forma de pasar algo más desapercibido entre ese caos de usuarios y canales. Tal vez el término no sea del todo afortunado…

Pero pongámonos en antecedentes. Voy a mostrarte primero un comando que puede resultarte útil en algunas ocasiones.

Si deseas saber qué usuarios pueblan un determinado canal, escribe:

/names #nombre_del_canal

Te aparecerá un listado de todos sus habitantes… Bueno, de todos salvo aquellos que se hayan rebozado de pintura invisible. Sólo si estás dentro del mismo canal el listado te aparecerá completo.

Para hacernos invisibles, escribimos el comando

/mode nombre_de_usuario +i

Fíjate en que la sintaxis es similar a la de los modos de canal.

Para regresar al mundo de los visibles, emplea el modificador -i:

/mode nombre_de_usuario -i

Debes saber que IRC-Hispano, al igual que otras cuantas redes, hace por defecto invisible a todo el mundo automáticamente nada más conectarnos. Lo puedes apreciar observando los mensajes de la ventana de Status:

* sostenuto sets mode +ix

Sostenuto no ha hecho nada, el servidor se ha ocupado de activar los modos +i y +x (abreviados como +ix) automáticamente.

Por si tienes curiosidad, el modo +x te permite chatear con la seguridad de que tu IP está más o menos oculta y no aparece a los usuarios cuando ejecutan un /whois sobre ti.

Parece interesante la invisibilidad, ¿no? Sin embargo, es bastante pobre: los usuarios que conozcan tu nick podrán saber si estás y por qué canales moras con un simple comando que ya conoces, seas invisible o no:

/whois sostenuto

Pero menos da una piedra, ¿verdad?

Javier Montero Gabarró


mIRC – Capítulo 18: El hombre invisible


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

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