La tromba è uno strumento aerophone valvolato, di solito lanciato B♭
. Il suono viene emesso quando il giocatore fa vibrare le labbra per spostare l'aria all'interno dello strumento. Quella vibrazione viene acquisita impostando la bocca in un modo specifico, chiamato embouchure. Imboccature diverse, con labbra più strette o più larghe, producono tonalità diverse.
Inoltre, ogni valvola nella tromba cambia anche il tono dello strumento. Quando viene premuto, una valvola chiude un percorso all'interno del tubo dello strumento, facendo fluire l'aria attraverso un percorso più lungo, riducendo così il tono del suono originale. Ai fini di questa sfida, considereremo la B♭
tromba standard, in cui la prima valvola abbassa l'intonazione di un passo completo, la seconda abbassa l'intonazione di un mezzo passo e la terza abbassa l'intonazione di uno e un mezzo passo.
La sfida
La tua sfida è quella di creare un programma o una funzione che, dati due input embouchure
e valves
, determini l'intonazione della nota suonata.
Ai fini di questa sfida, le note seguiranno la sequenza:
B♭, B, C, C♯, D, E♭, E, F, F♯, G, G♯, A.
Regole
- L'I / O può essere preso / dato in qualsiasi metodo ragionevole .
- Si applicano scappatoie standard .
- Puoi usare
b
e#
invece di♭
e♯
se lo desideri. - L'ingresso per
valves
può essere preso come un elenco di valvole depresse (1, 3
) o un elenco booleano (1, 0, 1
). - Questo è code-golf , quindi vince il codice più corto in ogni lingua.
Casi test:
Valves
in questi casi di test viene fornito un elenco booleano, dove 0 significa depresso e 1 significa premuto.
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♯
Dichiarazione di non responsabilità: non sono ancora un musicista, quindi mi scuso per il macello che avrei potuto fare sui casi di test. Le correzioni sono apprezzate.
F# 100
essere E non F?
C#
tromba senza premere nessuna valvola. Solo note specifiche ( B♭-F-B♭-D-F-A♭-B♭...
), la serie di sovratoni di B♭
. Tuttavia, anche se non riflette uno strumento reale, la sfida è perfettamente ben definita.