Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Конвертация в соответствии с длительностью нот #1

Open
RozeQz opened this issue Nov 21, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@RozeQz
Copy link
Owner

RozeQz commented Nov 21, 2023

Пока что конвертация происходит тривиальным способом: берется нота и преобразуется в соответствующую ей клавишу. Однако в музыке помимо самих нот, важно еще то, сколько они длятся.

Т.к. на вход микроконтроллеру поступают только ноты, без указания их длительности, то было бы неплохо изначально конвертировать мелодию так, чтобы эта длительность "сохранялась" через количество самих нот.

Т.е., нужно, чтобы конвертер принимал помимо нот еще и длительности, высчитывал наибольший общий делитель среди всех длительностей, делил каждую длительность на НОД и конвертировал одну ноту в клавишу, повторенную столько раз, каким получился результат после деления.
На примере проще:

notes = [NOTE_С4, NOTE_D4, NOTE_E4]
durations = [100, 300, 150]

НОД(durations) = 50
multipliers = [100/50, 300/50, 150/50] = [2, 6, 3]

convert_from_notes_to_keys(notes, durations) = qqwwwwwweee

Таким образом не нарушится восприятие мелодии, так как каждая нота будет длится пропорционально оригинальной.

@RozeQz RozeQz added the enhancement New feature or request label Nov 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant