Giter Club home page Giter Club logo

mirdeeplearning's Introduction

Deep learning for music information retrieval

This library is work in progress, use it at your own risk. I'm open to feedback!

It is build using python on Lasagne-Theano for deep learning and Essentia for feature extraction. Currently, MIRdl is for easily doing music classification using any deep learning architecture available on Lasagne or Theano.

Installation

Requires having Lasagne-Theano (http://lasagne.readthedocs.org/en/latest/user/installation.html) and Essentia (http://essentia.upf.edu/documentation/installing.html) installed.

Important folders

  • ./data/datasets: the library expects to have the dataset divided by folders that represent the tag to be predicted.
  • ./data/preloaded: this directory contains the pickle files storing the datasets in a format readable for the library. The name of the pickle file contains all the parameters used for computing it.
  • ./data/results: this directory stores the following files: .result (with training and test results), .training (having the training evolution, readable with utils.py!), .param (storing all the deep learning parameters used for each concrete experiment) and the .npz (where the best trained deep learning model is stored).

Important scripts

  • runMIRdl.py: where the network architecture is selected, you can also set the input and training parameters.
  • buildArchitecture.py: where the Lasagne-Theano network architecture is set.
  • load_datasets.py: where audios are loaded, formatted and normalized to be fed into the net.
  • MIRdl.py: main part of the library where the training happens.
  • utils.py: it allows visualizing the training results (./data/results).

Steps for using MIRdl

./data/datasets/GTZAN/blues

./data/datasets/GTZAN/classical

(...)

./data/datasets/GTZAN/rock

  • 2) Adapt the load_datasets.py function to work using your dataset. We recommend you to use first the GTZAN dataset (already implemented) to understand how it works.

  • 3) Set the runMIRdl.py parameters and the deep learning architecture in buildArchitecture.py.

  • 4) Run runMIRdl.py.

  • 5) [Optional] Visualize what the net has learned with utils.py.

Future features

  • Autoencoders support.
  • AcousticBrainz.org support.

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.