Giter Site home page Giter Site logo

root2pk / music_similarity_playlists Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 141.7 MB

Created as part of Audio and Music processing lab assignment. Extracts and analyses features from an audio collection, and creates playlists based on various descriptors. Can create playlists based on music similarity too.

Python 99.73% Shell 0.27%
audio-classification audio-feature-extraction genre-classification playlist-generator streamlit tensorflow

music_similarity_playlists's Introduction

Audio feature extraction, analysis and music similarity playlists generation using Python and Streamlit

main.py runs the main script to load and extract all the features from the dataset. It runs a loop through the audio files, loads them, and extracts features from them. Features, genre activation values, predicted genres and predicted parent genres are written into .csv files. Additionally, the number of predictions for each genre is also written into a separate tsv file. These are stored in the data\ directory

methods.py is a helper file for the main script.

stats.py analyses the extracted features and plots the relevant data. Plots are stored in the plots\ directory.

app.py Streamlit app to create playlists based on the extracted features. Features to be used can be selected using the sidebar. The user can then filter through their requirements for each feature and create separate playlists. The welcome page has an option of running main.py and stats.py once the user uploads their own dataset.

app2.py Streamlit app used to compute tracks similar to a query track. Uses cosine similarity to calculate similarity and displays the top 10 tracks. Tracks can be queried with a search box or drop down menu.

utils.py is the helper file for the apps.

extract_embeddings.py This script extracts embeddings from the models, and ideally should be integrated into main.py.

Uses Essentia for audio feature extraction and analysis. [1] Bogdanov, D., Wack N., Gómez E., Gulati S., Herrera P., Mayor O., et al. (2013). ESSENTIA: an Audio Analysis Library for Music Information Retrieval. International Society for Music Information Retrieval Conference (ISMIR'13). 493-498.

Model weights and metadata are obtained from Essentia models website

Sample audio collection used for analysis is obtained from the MUSAV dataset.

music_similarity_playlists's People

Contributors

root2pk avatar

Watchers

 avatar

Forkers

javpoblano

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.