annotate README @ 184:9b9cdfccbd14 noteagent

Wire up note agent code -- results are not very good, so far
author Chris Cannam
date Wed, 28 May 2014 14:54:01 +0100
parents 8964b4920689
children 8f48b65a6ef2
rev   line source
Chris@157 1
Chris@157 2
Chris@157 3 Silvet: Shift-Invariant Latent Variable Transcription
Chris@157 4 =====================================================
Chris@157 5
Chris@157 6 A polyphonic music transcription plugin.
Chris@157 7
Chris@157 8 http://code.soundsoftware.ac.uk/projects/silvet
Chris@157 9
Chris@157 10 Silvet is a Vamp plugin (http://vamp-plugins.org) for automatic music
Chris@157 11 transcription, using the method of "A Shift-Invariant Latent Variable
Chris@157 12 Model for Automatic Music Transcription" by Emmanouil Benetos and
Chris@157 13 Simon Dixon (see CITATION file).
Chris@157 14
Chris@157 15
Chris@157 16 What does it do?
Chris@157 17 ----------------
Chris@157 18
Chris@157 19 Silvet listens to audio recordings of music and tries to work out what
Chris@157 20 notes are being played.
Chris@157 21
Chris@157 22 To use Silvet, you need a Vamp plugin host such as Sonic Visualiser
Chris@157 23 (http://sonicvisualiser.org). How to use the plugin will depend on the
Chris@157 24 host, but in the case of Sonic Visualiser, you should load an audio
Chris@157 25 file and then run Silvet Note Transcription from the Transform
Chris@157 26 menu. This will add a note layer to your session with the
Chris@157 27 transcription in it, which you can play back or export as a MIDI file.
Chris@157 28
Chris@157 29
Chris@157 30 How good is it?
Chris@157 31 ---------------
Chris@157 32
Chris@157 33 Reasonable for recordings that suit it: chamber music, solo piano,
Chris@157 34 acoustic jazz, etc. But the range of music that works well is quite
Chris@157 35 limited at this stage.
Chris@157 36
Chris@157 37 Silvet uses a probablistic latent-variable estimation method to
Chris@157 38 decompose a Constant-Q time-frequency matrix into note activations
Chris@157 39 using a set of spectral templates learned from recordings of solo
Chris@157 40 instruments. This means its performance is dominated by the
Chris@157 41 correspondence between its instrument templates and the sounds present
Chris@157 42 in the recording.
Chris@157 43
Chris@157 44 The method performs quite well (70-85% of notes identified correctly)
Chris@157 45 for clear recordings that contain only instruments with a good
Chris@157 46 correspondence to the known templates. In these cases its performance
Chris@157 47 becomes limited by the note decomposition step, clustering pitch
Chris@157 48 probabilities into note events, which is still fairly simplistic.
Chris@157 49
Chris@157 50 Silvet does not yet contain any vocal templates, or templates for
Chris@157 51 typical rock or electronic instruments. So it will usually perform
Chris@157 52 very poorly with pop and rock music, although the results can be
Chris@157 53 interesting anyway. Silvet also makes no attempt to transcribe
Chris@157 54 percussion.
Chris@157 55
Chris@157 56 For a formal evaluation, please refer to the 2012 edition of MIREX,
Chris@157 57 the Music Information Retrieval Evaluation Exchange, where the basic
Chris@157 58 method implemented in Silvet formed the BD1, BD2 and BD3 submissions
Chris@157 59 in the Multiple F0 Tracking task:
Chris@157 60
Chris@157 61 http://www.music-ir.org/mirex/wiki/2012:Multiple_Fundamental_Frequency_Estimation_%26_Tracking_Results
Chris@157 62
Chris@157 63
Chris@157 64 Authors and copyright
Chris@157 65 ---------------------
Chris@157 66
Chris@157 67 The method implemented in Silvet is by Emmanouil Benetos, see
Chris@157 68 "A Shift-Invariant Latent Variable Model for Automatic Music
Chris@157 69 Transcription" by Emmanouil Benetos and Simon Dixon (CMJ 2012). If
Chris@157 70 you make use of this software for academic purposes, please cite this
Chris@157 71 publication (see the the CITATION file for BibTeX).
Chris@157 72
Chris@157 73 The plugin code is by Chris Cannam and Emmanouil Benetos and is
Chris@157 74 Copyright 2014 Queen Mary, University of London. It is distributed
Chris@157 75 under the GNU General Public License: see the file COPYING for
Chris@157 76 details.
Chris@157 77
Chris@157 78 If you make use of this software for any public or commercial purpose,
Chris@157 79 we ask you to kindly mention the authors and Queen Mary, University of
Chris@157 80 London in your user-visible documentation. We're very happy to see
Chris@157 81 this sort of use but would much appreciate being credited, independent
Chris@157 82 of the requirements of the software license itself.
Chris@157 83