Алгоритм машинного обучения для определения тональности музыки работает на основе анализа необработанного аудио с помощью свёрточных нейронных сетей. 1
Входные данные представляют собой представления звуковых кадров со временем и частотой, которые затем конкатенируются для формирования спектрограммы. 1 Звуковые кадры проходят через свёрточные слои, и в результате этого появляется слой «глобального временного объединения», который объединяет всю ось времени, эффективно вычисляя статистику изученных функций на протяжении песни. 1
После обработки нейросеть выдаёт характеристики песни: время, тональность, лад, темп и громкость. 1
Также для определения тональности можно использовать модели машинного обучения, основанные на деревьях решений, которые объединяют признаки высоты звука и лада в новый признак — тональность. 2