Las escalas de la música occidental se basan en la escala cromática (de 12 notas). Esta escala se puede expresar como el siguiente grupo de notas:
A, A♯, B, C, C♯, D, D♯, E, F, F♯, G, G♯
Una nota con sostenido (indicada por un ♯) también se puede expresar como el bemol de la nota que está por encima (indicado por un ♭), así que la escala cromática también se puede escribir así:
A, B♭, B, C, D♭, D, E♭, E, F, G♭, G, A♭
Las escalas mayor y menor, y los modos, son subconjuntos de esta colección de doce notas. Tienen siete notas y se llaman escalas diatónicas. La colección de notas de estas escalas se escribe con sostenidos o con bemoles, según la tónica (la nota inicial). Aquí hay una tabla que indica si se usaría la expresión con bemoles o con sostenidos de la escala para una tónica dada:
| Key Signature | Major | Minor |
|---|---|---|
| Natural | C | a |
| Sharp | G, D, A, E, B, F♯ | e, b, f♯, c♯, g♯, d♯ |
| Flat | F, B♭, E♭, A♭, D♭, G♭ | d, g, c, f, b♭, e♭ |
Fíjate que, por convención común de la teoría musical, las notas naturales «C» y «a» siguen la escala con sostenidos cuando ascienden y la escala con bemoles cuando descienden. Para los fines de este ejercicio, la escala solo es ascendente.
Dada una tónica, genera la escala cromática de 12 notas que comienza con la tónica.
b de los bemoles), sin importar si la tónica dada viene en mayúsculas o en minúsculas.Las escalas diatónicas, y todas las demás escalas que derivan de la escala cromática, se construyen a partir de intervalos. Un intervalo es el espacio entre dos notas.
El intervalo más simple es el que hay entre dos notas adyacentes y se llama «medio tono» o «segunda menor» (a veces se escribe con una «m» minúscula). El intervalo entre dos notas que tienen una nota intermedia se llama «tono» o «segunda mayor» (se escribe con una «M» mayúscula). Las escalas diatónicas se construyen usando solo estos dos intervalos entre notas adyacentes.
Las escalas no diatónicas pueden contener otros intervalos. Un intervalo de «segunda aumentada», escrito «A», tiene dos notas intermedias (por ejemplo, de A a C o de D♭ a E) o un «tono» más un «medio tono». También existen intervalos más pequeños y más grandes, pero no se tendrán en cuenta en este ejercicio.
Dada una tónica y un conjunto de intervalos, genera la escala musical que comienza con la tónica y sigue el patrón de intervalos especificado.
Esto es similar a generar escalas cromáticas, salvo que, en lugar de devolver 12 notas, devolverás N+1 notas para N intervalos. La primera nota es siempre la tónica dada. Luego, para cada intervalo del patrón, la siguiente nota se determina partiendo de la nota anterior y saltando la cantidad de notas que indica el intervalo.
Por ejemplo, si empiezas con G y usas los siete intervalos MMmMMMm, tendrías las siguientes ocho notas:
| Note | Reason |
|---|---|
| G | Tonic |
| A | M indicates a whole step from G, skipping G♯ |
| B | M indicates a whole step from A, skipping A♯ |
| C | m indicates a half step from B, skipping nothing |
| D | M indicates a whole step from C, skipping C♯ |
| E | M indicates a whole step from D, skipping D♯ |
| F♯ | M indicates a whole step from E, skipping F |
| G | m indicates a half step from F♯, skipping nothing |
Regístrate en Exercism para aprender y dominar Python con 17 conceptos146 ejercicios y mentoría humana real, todo gratis.