GithubHelp home page GithubHelp logo

ronggong / jingjusingingphrasematching Goto Github PK

View Code? Open in Web Editor NEW
27.0 2.0 6.0 33.32 MB

Code for the paper: Audio to Score Matching by Combining Phonetic and Duration Information

Home Page: https://arxiv.org/abs/1707.03547

License: GNU Affero General Public License v3.0

Python 85.08% C 0.36% MATLAB 14.57%
singing-phrase score acoustic-model hsmm phoneme cnn-model

jingjusingingphrasematching's Introduction

Jingju Singing Phrase Matching

The code in this repo aims to help reproduce the results in the work:

Rong Gong, Jordi Pons, and Xavier Serra. 2017. Audio to Score Matching by Combining Phonetic and Duration Information. In 18th International Society for Music Information Retrieval Conference. Suzhou, China

The objective of this research task to find the corresponding score for its singing query audio. By pre-segmenting both the singing audios and the music scores into the phrase units, we restrict this research to the "matching" scope. The matched scores could facilitate several lower-level MIR tasks, such as the score-informed automatic syllable or phoneme segmentation for singing voice.

The related code only situated in phoneticSimilarity folder. Other folders are used to test other matching methods.

Steps to reproduce the experiment results

  1. Clone this repository
  2. Download Jingju a capella singing dataset from http://doi.org/10.5281/zenodo.344932
  3. Change dataset_path variable in general/filePath.py to locate the above dataset
  4. Compile cython viterbi decoding code: go into CythonModule, in terminal type python setup.py build_ext --inplace
  5. Python 2.7.9 and Essentia 2.1-beta 3 were used in the paper; Install dependencies in requirements.txt
  6. Choose class_name in general/filePath.py to 'danAll' or 'laosheng' to experiment on either dan or laosheng role-type
  7. Choose am in general/parameters.py to 'gmm' or 'cnn' to select acoustic model
  8. Run python runHMM.py to produce the experiment results for HMM and post-processor duration modelling matching
  9. Run python runHSMM.py to produce the experiment results for HSMM duration modelling matching
  10. The details instructions are written in these two files above

Steps to train GMM, CNN acoustic models

  1. Do steps 1, 2, 3 in Steps to reproduce the experiment results
  2. To train GMM models, run python acousticModelTraining.py
  3. To train CNN acoustic models, please follow the instructions in https://github.com/ronggong/EUSIPCO2017
  4. After training CNN models, put them into cnnModels folders. Pre-trained models are already included.

Dependencies

numpy scipy matplotlib essentia vamp scikit-learn pinyin cython keras theano unicodecsv

License

Affero GNU General Public License version 3

jingjusingingphrasematching's People

Contributors

ronggong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

jingjusingingphrasematching's Issues

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.