Contribution
Le symbole de tout accord triadique (voir http://en.wikipedia.org/wiki/Chord_(music)#Triads ).
Sortie
Les notes constituant l'accord donné.
Exemples
Entrée: AM
sortie:A C# E
Entrée: C#m
sortie:C# E G#
Entrée: Db+
sortie:C# F A
Entrée: C0
sortie:C D# F#
Bonus
-50 si vous pouvez également composer avec des accords septième
-150 pour jouer le son de l'accord
-150 pour utiliser des caractères imprimables pour montrer comment jouer l'accord sur un piano; exemple pour AM
:
┌─┬─┬┬─┬─┬─┬─┬┬─┲┱─┬─┬─┲━┱┬─┲━┱─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┲┛┗┱┘ │ ┗┯┛└┲┛ ┃ └┬┘└┬┘└┬┘ │
│ │ │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ │
└──┴──┴──┴──┴──┺━━┹──┴──┴──┺━━┹──┴──┴──┴──┘
-100 pour l'utilisation de caractères imprimables pour montrer comment jouer l'accord sur une guitare; exemple pour AM
:
x o o o o o
┌───┬───┬───┬───┬───┐
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ █ █ █ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
(voir https://en.wikipedia.org/wiki/Box-drawing_character )
Règles
Le résultat doit être un programme ou un script en ligne de commande.
L'entrée et la sortie peuvent être sous n'importe quelle forme, dans la mesure où elles respectent une norme de notation musicale.
Une représentation de guitare ou de piano est considérée comme valide si et seulement si elle contient les trois notes (triadiques) ou quatre (septième) requises et rien d’autre. La même note peut être présente plusieurs fois dans l'accord.
Les bibliothèques externes ne sont pas autorisées, sauf pour la génération de son (dans ce cas
#include
, lesimport
directives , ... ne sont pas ajoutées au nombre de caractères).C'est le code golf, le code le plus court gagne!
Un peu de théorie musicale ...
Dans la musique tonale occidentale moderne, chaque octave est composée de douze notes successives, souvent notées:
A
A#
B
C
C#
D
D#
E
F
F#
G
G#
Ou:
La
La#
Si
Do
Do#
Re
Re#
Mi
Fa
Fa#
Sol
Sol#
Dans ce système, nous considérons que deux notes successives (par exemple, A
et A#
, ou E
et F
) sont séparées par un demi-ton. En outre, les notes sont en quelque sorte "en boucle": ce qui suit immédiatement G#
est A
.
Un accord est constitué de quelques notes (2, 3, 4, parfois plus) qui "sonnent bien ensemble". Par exemple, les accords triadiques contiennent trois notes différentes et les accords du septième, quatre notes différentes.
Définissons les quatre accords triadiques comme suit :
Triade majeure : contient la racine de l'accord (dans cette question, la note donnée en entrée), le tiers majeur de la racine (4 demi-tons plus haut que la racine) et le cinquième parfait pour la racine (7 demi-tons plus haut que la racine ) cela peut être symbolisé 0-4-7
Triade mineure , symbolisée 0-3-7
Triade augmentée , symbolisée 0-4-8
Triade diminuée , symbolisée 0-3-6
Ainsi , par exemple, si vous voulez faire une triade majeure C , noté C
, CM
, Cmaj
, vous aurez besoin de trois a noté:
- 0: la racine , dans ce cas un
C
- 4: le tiers mineur , 4 demi-tons plus haut que la racine; c'est un
E
- 7: le cinquième parfait , 7 demi-tons plus haut que la racine: a
G
C'est ce que 0-4-7
, 0-3-7
, 0-4-8
et les 0-3-6
notations utilisées ci - dessus moyenne! Pour les septièmes accords, utilisez le modèle suivant:
C'est tout pour aujourd'hui! Maintenant, étonnez-moi avec un code incroyable ... Si vous avez des questions, ajoutez quelques commentaires ci-dessous.
Db+
est Db F A
il n'y a pas D ou G # là - dedans. C'est peut-être un peu plus de théorie que nécessaire, les formules étaient la partie importante. Si vous voulez vraiment inclure les huit des sept accords listés dans wikipedia, vous devez spécifier l'entrée. Je suppose que la production artistique de piano et de guitare est flexible.