GithubHelp home page GithubHelp logo

crs's Introduction

Chord Recommendation System

   __________  _____
  / ____/ __ \/ ___/
 / /   / /_/ /\__ \
/ /___/ _, _/___/ /
\____/_/ |_|/____/
Chord Recognition System

MUSI 6201 final project.

Contributors

Preparation

The only thing that should be set up first is the machine-learning-based chord recommendation. The dataset we use is McGill Billboard dataset.

The current chord prediction is using third-order Markov chain. You can adjust the order by changing the variable MARKOV_ORDER in configs.py.

If this is the first time running the program, setup.py should be executed first. The program will automatically download and split the McGill Billboard dataset, and create trained machine learning model files. Execute python setup.py rnn for training RNN model, python setup.py markov for training Markov chains. The model files will be placed in cache/ directory. Run python setup.py clean to remove the cache/ directory.

For now the trained RNN model files are not properly named, so the program won't work unless you change the value of RNN_MODEL_PATH in configs.py to the RNN model you are going to use.

Running

Run main.py, which is the entrance to the whole program. The system is using 5 as step size for chord recommendation. Onset detection is disabled by default.

Testing and Evaluation

Chord Detection

Run chroma_chord_detection.py.

Change the file name in main in function argument.

Chord Recommendation

Run chord_recommendation.py to get prediction and evaluation.

crs's People

Contributors

yilin-zhang avatar charlesthacat avatar rishikeshdaoo avatar

Watchers

James Cloos avatar

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.