Труба является клапанным аэрофоном инструмента, как правило , станом B♭
. Звук издается, когда игрок вибрирует губами, чтобы вытеснить воздух внутри инструмента. Эта вибрация приобретается путем установки рта определенным образом, называемым амбушюром. Различные амбушюры, с более плотными или более свободными губами, производят различные шаги.
Кроме того, каждый клапан в трубе также изменяет высоту тона инструмента. При нажатии клапан закрывает путь внутри трубки инструмента, заставляя воздух проходить через более длинный путь, тем самым снижая высоту исходного звука. Для целей этой задачи мы рассмотрим стандартную B♭
трубу, в которой первый клапан понижает высоту звука на полный шаг, второй понижает высоту звука на полшага, а третий понижает высоту звука на единицу и полшага
Соревнование
Ваша задача состоит в том, чтобы создать программу или функцию, которая с учетом двух входов embouchure
и valves
определяет высоту воспроизводимой ноты.
Для целей этого испытания примечания будут следовать последовательности:
B♭, B, C, C♯, D, E♭, E, F, F♯, G, G♯, A.
правила
- Ввод / вывод может быть взят / дан любым разумным способом .
- Применяются стандартные лазейки .
- Вы можете использовать
b
и#
вместо,♭
и♯
если вы хотите. - В качестве входных данных
valves
можно указать список нажатых клапанов (1, 3
) или логический список (1, 0, 1
). - Это код-гольф , поэтому выигрывает самый короткий код на каждом языке.
Тестовые случаи:
Valves
в этих тестовых случаях задается как логический список, где 0 означает нажатие, а 1 - нажатие.
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♯
Отказ от ответственности: я еще не очень музыкант, поэтому я прошу прощения за любую бойню, которую я, возможно, сделал в тестовых случаях. Исправления приветствуются.
F# 100
быть E не F?
C#
на трубе, не нажимая какие-либо клапаны. Просто конкретные заметки ( B♭-F-B♭-D-F-A♭-B♭...
), обертоновые серии B♭
. Тем не менее, даже если он не отражает реальный инструмент, задача отлично определена.