La trompette est un instrument d'aérophone à valve, généralement intégré B♭
. Le son est émis lorsque le joueur fait vibrer ses lèvres pour déplacer l'air à l'intérieur de l'instrument. Cette vibration s'acquiert en mettant sa bouche d'une manière spécifique, appelée l'embouchure. Différentes embouchures, avec des lèvres plus serrées ou plus lâches, produisent des hauteurs différentes.
De plus, chaque valve de la trompette change également la hauteur de l'instrument. Lorsqu'elle est enfoncée, une valve ferme un chemin à l'intérieur du tube de l'instrument, faisant circuler l'air sur un chemin plus long, abaissant ainsi la hauteur du son d'origine. Pour les besoins de ce défi, nous considérerons la B♭
trompette standard, dans laquelle la première valve abaisse le pitch d'un pas complet, la seconde abaisse le pitch d'un demi-pas et la troisième abaisse le pitch d'un et d'un Demi-pas.
Le défi
Votre défi est de créer un programme ou une fonction qui, compte tenu de deux entrées embouchure
et valves
, détermine la hauteur de la note jouée.
Aux fins de ce défi, les notes suivront la séquence:
B♭, B, C, C♯, D, E♭, E, F, F♯, G, G♯, A.
Règles
- Les E / S peuvent être prises / données par toute méthode raisonnable .
- Des échappatoires standard s'appliquent.
- Vous êtes autorisé à utiliser
b
et#
au lieu de♭
et♯
si vous le souhaitez. - L'entrée pour
valves
peut être considérée comme une liste de vannes enfoncées (1, 3
) ou une liste booléenne (1, 0, 1
). - C'est le code-golf , donc le code le plus court dans chaque langue l'emporte.
Cas de test:
Valves
dans ces cas de test est donné sous forme de liste booléenne, où 0 signifie enfoncé et 1 signifie enfoncé.
Embouchure: Valves: Output:
B♭ 0 0 0 B♭
B♭ 0 1 0 A
B♭ 1 0 1 F
C♯ 0 0 1 B♭
C♯ 1 1 1 G
E♭ 1 0 0 C♯
G 0 1 1 E♭
G♯ 1 0 0 F♯
G♯ 0 0 1 F
G 1 0 0 F
F♯ 1 0 0 E
D 1 0 1 A
A 1 1 1 E♭
E 1 1 0 C♯
E 0 0 1 C♯
Avertissement: je ne suis pas encore beaucoup un musicien, donc je m'excuse pour toute boucherie que j'ai pu faire sur les cas de test. Les corrections sont appréciées.
F# 100
être E pas F?
C#
de la trompette sans appuyer sur aucune valve. Juste des notes spécifiques ( B♭-F-B♭-D-F-A♭-B♭...
), la série harmonique de B♭
. Pourtant, même s'il ne reflète pas un véritable instrument, le défi est parfaitement bien défini.