Escales i acords X38119


Statement
 

pdf   zip

html

En música amb afinació temperada, la octava es subdivideix en 12 semitons d’igual interval. Per raons històriques, només 7 notes tenen nom, Do Re Mi Fa Sol La Si (les notes naturals), així que per nomenar els 12 forats es van idear les alteracions, ♯ (sostingut o semitò a dalt) i ♭ (bemoll o semitò abaix). D’aquesta manera el Mi♯ és un so que sona una semitò per sobre del Mi.

Hi ha tons que, en afinació temperada, poden rebre diversos noms. Així, per exemple, Mi♯ dóna nom al mateix to que Fa. A aquests casos se’ls anomena notes enharmòniques. En un enharmònic no es pot barrejar alteracions diferents: és possible el Mi♯♯ però no Mi♯♭.

1  Escala cromàtica

L’escala cromàtica és aquella que es genera donant nom als 12 semitons a partir de les 7 notes naturals i fins a un màxim de 2 alteracions per generar la màxima quantitat de enharmònics. Les notes naturals, començant pel Do, se situen en els tons 0, 2, 4, 5, 7, 9, 11. Des d’aquí, i aplicant les dues alteracions, es generen tots els enharmònics possibles per als 12 tons.

Dissenya una funció escala_cromatica(notas) que, donada una llista notas que conté els noms (str) de les notes naturals en les seves posicions respectives, i el string buit en la resta, retorni la una llista de llistes que contingui l’escala cromàtica usant el nom de les notes naturals definit en la llista notas.

2  Nota natural

És freqüent necessitar conèixer la nota natural associada a un nom de nota, o el que és el mateix, el nom de la nota sense les alteracions.

Dissenya una funció Diseña una función nota_natural(nota) que, donat un str nota, retorni la seva nota natural.

3  Nombre d’una nota

Donat el nom d’una nota, pot ser interessant conèixer quin dels 12 tons de l’escala cromàtica anomena.

Dissenya una funció nota_a_numero(nota, escala) que, donat un str nota amb el nom d’una nota, i una llista de llistes escala que conté una escala cromàtica en què nota existeix, retorni el nombre del to de l’escala cromàtica a què nota fa referència.

4  Interval entre notes

Interval és la distància en relació a una escala entre dues notes musicals (incloent els extrems) mesurat en semitons.

Dissenya una funció intervalo(nota1, nota2, escala) que, donats dos str nota1 i nota2 que representen el nom de dues notes, i una llista de llistes escala que conté una escala cromàtica on ambdues notes nota1 i nota2 existeixen, retorni un int amb l’interval en semitons que hi ha des nota1 fins nota2.

5  Enharmòniques

Dissenya una funció enarmonicas(nota, cromatica) que, donat un str nota amb el nom d’una nota, i una llista de llistes cromatica que conté una escala cromàtica en què nota existeix, retorni una nova llista amb els noms de totes les seves notes enharmòniques.

6  Escales diatòniques

Una escala diatònica és una sèrie de 7 notes preses ordenadament del total de 12 de l’escala cromàtica a partir d’una tònica i seguint un patró de salts de semitons diatònics (després d’un Do mai hi haurà un Do♯ sinó Re♭) de manera que sempre estiguin representades en ordre les 7 notes naturals una única vegada cadascuna, ja sigui en el seu estat natural o alterades.

Dissenya una funció escala_diatonica(tonica, modo, cromatica) que, donat un str tonica amb el nom d’una nota, una llista de int modo, i una llista de llistes cromatica que conté una escala cromàtica en què tonica existeix, retorni una llista de 7 str que contingui l’escala diatònica que comenci per tonica seguint el patró de salts diatònics indicat per modo.

7  Acords tríada

Un acord tríada consisteix en un conjunt de tres notes diferents que constitueixen una unitat harmònica i reben el nom de tònica, tercera i cinquena, perquè l’acord el formen les notes 0, 2 i 4 de l’escala diatònica corresponent.

Dissenya una funció acorde_triada(tonica, modo, cromatica) que, donat un str tonica amb el nom d’una nota, una llista modo amb un patró de salts de semitons, i una llista de llistes cromatica que conté una escala cromàtica en què tonica existeix, retorni una llista amb les tres notes de l’acord tríada extretes de la escala diatònica per tonica i modo.

Sample session
ingles
>>> escala_cromatica(['C', '', 'D', '', 'E', 'F', '', 'G', '', 'A', '', 'B'])
[['C', 'B#', 'Dbb'], ['C#', 'B##', 'Db'], ['D', 'C##', 'Ebb'], ['D#', 'Eb', 'Fbb'], ['E', 'Fb', 'D##'], ['F', 'E#', 'Gbb'], ['F#', 'Gb', 'E##'], ['G', 'F##', 'Abb'], ['G#', 'Ab'], ['A', 'G##', 'Bbb'], ['A#', 'Bb', 'Cbb'], ['B', 'A##', 'Cb']]

>>> nota_natural('La##')
'La'
>>> crom = escala_cromatica(['Do', '', 'Re', '', 'Mi', 'Fa', '', 'Sol', '', 'La', '', 'Si'])
>>> nota_a_numero('La##', crom)
11
>>> intervalo('Lab', 'Si#', crom)
4
>>> enarmonicas('Do#', crom)
['Si##', 'Reb']
>>> nota_a_numero('Do#', crom)
1
>>> escala_diatonica("Re", [2, 1, 2, 2, 1, 2, 2], crom)
['Re', 'Mi', 'Fa', 'Sol', 'La', 'Sib', 'Do', 'Re']
>>> acorde_triada("Re", [2, 1, 2, 2, 1, 2, 2], crom)
['Re', 'Fa', 'La']
Information
Author
InfBesos
Language
Catalan
Translator
Original language
Spanish
Other languages
English Spanish
Official solutions
Python
User solutions