Coder Social home page Coder Social logo

ybayle / satin Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 1.0 16.63 MB

Code used in the article "SATIN: A Persistent Musical Database for Music Information Retrieval" by Yann Bayle, Pierre Hanna and Matthias Robine in CBMI 2017. SATIN is a MIR dataset for reproducible research.

License: MIT License

Python 100.00%
mir music-information-retrieval database data-science dataset music reproducible-research reproducibility reproducible-science reproducible reproducible-experiments reproduction reproduce audio features feature audio-features machine-learning machine-learning-algorithms machinelearning

satin's Introduction

SATIN

SATIN stands for the Set of Audio Tags and Identifiers Normalized and was proposed in this article that you can cite like this:

@inproceedings{Bayle2017,
 author = {Bayle, Yann and Hanna, Pierre and Robine, Matthias},
 title = {SATIN: A persistent musical database for music information retrieval},
 booktitle = {Proceedings of the 15th International Workshop on Content-Based Multimedia Indexing},
 year = {2017},
 isbn = {978-1-4503-5333-5},
 location = {Florence, Italy},
 pages = {2:1--2:5},
 articleno = {2},
 numpages = {5},
 url = {http://doi.acm.org/10.1145/3095713.3095716},
 doi = {10.1145/3095713.3095716},
 acmid = {3095716},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Audio, Classification of Instrumentals and Songs, Database, Music Information Retrieval, Reproducibility},
}

SATIN is a Music Information Retrieval (MIR) database for reproducible research. SATIN is shipped along SOFT1, the first Set Of FeaTures extracted by musical pieces referenced by SATIN.

Aim of SATIN

  • Guarantee long-term reproducible research in MIR
  • Enable precise identification and reuse of musical pieces
  • Foster research in multiple MIR tasks such as Cover Song Identification and Singer Gender Classification.

Description of SATIN

SATIN is a csv file containing on each line:

Description of SOFT1

Softwares used to extract audio features of the files referenced in SATIN:

We plan to add:

Commands used for extracting features

  • YAAFE: yaafe -r 22050 -f "mfcc: MFCC blockSize=2048 stepSize=1024" --resample -b output_dir_features input_filename
  • Essentia: essentia-extractors-v2.1_beta2/streaming_extractor_music input_filename output_filename
  • bextract: bextract -mfcc -zcrs -ctd -rlf -flx -ws 1024 -as 898 -sv -fe

The commands that we will use for extracting new features are:

  • Vamp extracted via harmony-analyser using JNI wrapper:
    • java -jar ha-script.jar -a nnls-chroma:nnls-chroma -s .wav -t 0.07
    • java -jar ha-script.jar -a nnls-chroma:chordino-tones -s .wav -t 0.07
    • java -jar ha-script.jar -a nnls-chroma:chordino-labels -s .wav -t 0.07
    • java -jar ha-script.jar -a qm-vamp-plugins:qm-keydetector -s _wav -t 0.07
  • harmony-analyser with the following commands (note that Vamp plugin analysis was first performed to extract low-level features):
    • java -jar ha-script.jar -a chord_analyser:chord_complexity_distance -s .wav -t 0.07
    • java -jar ha-script.jar -a chroma_analyser:complexity_difference -s .wav -t 0.07
    • java -jar ha-script.jar -a chord_analyser:average_chord_complexity_distance -s .wav -t 0.07
    • java -jar ha-script.jar -a chord_analyser:tps_distance -s .wav -t 0.07
    • java -jar ha-script.jar -a filters:chord_vectors -s .wav -t 0.07
    • java -jar ha-script.jar -a filters:key_vectors -s .wav -t 0.07

If you would like to see more features, please contact us. As the features in SOFT1 are too large to be shared on a GitHub repository, please click here to download them.

Installation & Getting started

You can either fork the repo and launch python satin.py

or you can type in your linux terminal pip install bayle and launch these two commands in your python interpreter:

from bayle import satin
satin.main()

Requirements/Dependencies

Contributing

Any sort of participation is encouraged. We will closely analyze each fork, pull request and consider new contributors. Please contact us if you use this database, we would love to know what you used it for! We hope that SATIN and SOFT1, in their current state, will be helpful in your research and we will continue to improve them, so stay tuned!

Documentation

Please refer to the wiki.

License

Contact

For more information please contact [email protected] or visit yannbayle.fr

Acknowledgments

  • The code syntax was validated by PyLint.
  • We use this tutorial for submitting our package to PyPI

satin's People

Contributors

ybayle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

music-apps

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.