Я експериментував кілька тижнів, щоб знайти спосіб знайти / знайти подібні пісні в бібліотеці, що містять різні жанри музики.
Першою моєю спробою було виявити такі функції, як Tempo, або скільки басів є у Піснях, щоб сформувати групи, але я не вдався далеко до цього підходу (Об'єм гучності, заснованого на виявленні ударів), оскільки приблизно 20% Songs Beat не повинні рахуватися. завжди, іноді 1/2 або 1/3 з них, і я не міг цього здійснити.
Після декількох тижнів невдалої спроби я отримав нову ідею, описану пізніше у цій публікації. Простіше кажучи, це працює, беручи зразки файлів спектра, роблячи щось на зразок "середнього спектру" файлів для їх порівняння. Ідея полягала в тому, що, наприклад, у Hardstyle є набагато більше басів, ніж середня рок-музика, я також перевірив це, переглянувши деякі Спектри в Audacity.
- Файл 1: Візьміть повний спектр файлів FFT (розмір вибірки атм. 2048, масштаб журналу амплітуд)
- Підсумовуйте всі масиви спектра, приймайте середні значення кожного контейнера
- Зробіть те саме, що і інші файли, збережіть усі результати
- Складіть перелік значень FFT між файлами 1 та іншими файлами
- Зробіть середнє значення різниці між файлом 1 та файлом X
- Сортувати за зростанням за цими середніми
- Пісні з найменшим значенням "різниця" вважаються подібними.
Чи можете хтось із вас, хто має добрі знання, сказати мені, чи це був би правильний / хороший спосіб втілити мою ідею?