This repository explores the feasibility of using machine learning techniques to identify which segment of a song is most similar to another input audiosample. Leveraging Support Vector Machines (SVMs), and features such as tempo, Mel-frequency cepstral coefficients (MFCCs), chroma, and spectral contrast, the research investigates whether these machine learning models can accurately identify musicological concepts in audio clips by comparing themagainst labeled training dataset. The study presents an experimental frameworkfor feature extraction, model training, and evaluation, using audio dataannotated with segment labels as an example proof of concept. Resultsdemonstrate the model's potential to capture structural similarities and thebasis for evaluating song similarity to inform future applications in musicinformation retrieval.
git clone https://github.com/pereiraa10/ML-Song-Segmentation-Classification/
cd ML-Song-Segmentation-Classification/pip install -r requirements.txtTo run the experiments described in section 3.3 Machine Learning Models Selection, execute the corresponding script. For example:
python knn.pyTo run the SVM prediction tool described in section 4.2 Chord and Melody-Only Analysis, execute svm_midi_analysis.py. When prompted, provide the relative file path to the audio file in the MIDI_testset folder that you want to analyze.
python svm_midi_analysis.pyPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.