Как я могу программно найти ключ песни, просто зная последовательность аккордов песни?
Я спросил некоторых людей, как они определят ключ от песни, и все они говорили, что делают это "по уху" или "проб и ошибок", и сообщая, разрешает ли аккорд песню или нет... Для среднего музыканта, который вероятно, прекрасно, но как программист, который действительно не является тем ответом, который я искал.
Итак, я начал искать библиотеки, связанные с музыкой, чтобы узнать, написал ли кто-нибудь еще алгоритм для этого. Но хотя я нашел очень большую библиотеку под названием "tonal" на GitHub: https://danigb.github.io/tonal/api/index.html Я не смог найти метод, который бы принял массив аккорды и вернуть ключ.
Мой язык выбора будет JavaScript (NodeJs), но я не обязательно ищу ответ на JavaScript. Псевдокод или объяснение, которое может быть переведено в код без особых проблем, было бы полностью прекрасным.
Как некоторые из вас упомянули правильно, ключ в песне может измениться. Я не уверен, что изменение ключа может быть обнаружено достаточно надежно. Итак, на данный момент, скажем так, я ищу алгоритм, который хорошо аппроксимирует ключ данной последовательности аккордов.