This is my very first Machine Learning project.
Given a set of music files, we divide each one of them into equal parts (a 20s long piece by default), and transform these pieces into .wav files. Then we open these files as numpy arrays, divide them into equal parts (20 parts by default), and sum the frequencies and amplitudes inside of them. Thus, we get an array of a certain length (2 * number_of_parts) that can be stored for further analysis.
- downloader.py – downloads all tracks from your subscriptions on soundcloud.com and saves them in the current working directory sorted by genres
- converter.py – creates initial training set from the music files in the given directory and saves it as a MATLAB file
- model.py – trains a classifier using Quadratic Discriminant Analysis and finds the best regularization parameter
- data.mat – the training set