# HG changeset patch # User Chris Cannam # Date 1446463950 0 # Node ID d95c4cdef8afd0a622239bf8d315caaf1249f9c3 # Parent 7de720f503a5c95d55e3854998839bc1d7c8625d# Parent c40de221b5df39597ebcd23bba60eed91bc863c1 Merge diff -r 7de720f503a5 -r d95c4cdef8af CITATION --- a/CITATION Fri Oct 23 09:36:08 2015 +0100 +++ b/CITATION Mon Nov 02 11:32:30 2015 +0000 @@ -1,4 +1,4 @@ - @inproceedings{matthias2010a, +@inproceedings{matthias2010a, author = {Matthias Mauch and Simon Dixon}, title = {Approximate Note Transcription for the Improved Identification of Difficult Chords}, booktitle = {Proceedings of the 11th International Society for Music Information Retrieval Conference (ISMIR 2010)}, diff -r 7de720f503a5 -r d95c4cdef8af Chordino.cpp --- a/Chordino.cpp Fri Oct 23 09:36:08 2015 +0100 +++ b/Chordino.cpp Mon Nov 02 11:32:30 2015 +0000 @@ -61,7 +61,7 @@ Chordino::getDescription() const { if (debug_on) cerr << "--> getDescription" << endl; - return "Chordino provides a simple chord transcription based on NNLS Chroma (as in the NNLS Chroma plugin). Chord profiles given by the user in the file chord.dict are used to calculate frame-wise chord similarities. A simple (non-state-of-the-art!) algorithm smoothes these to provide a chord transcription using a standard HMM/Viterbi approach."; + return "Chordino provides a simple chord transcription based on NNLS Chroma (as in the NNLS Chroma plugin). Chord profiles given by the user in the file chord.dict are used to calculate frame-wise chord similarities. A simple (non-state-of-the-art!) algorithm smooths these to provide a chord transcription using a standard HMM/Viterbi approach."; } Chordino::ParameterList diff -r 7de720f503a5 -r d95c4cdef8af NNLSBase.cpp --- a/NNLSBase.cpp Fri Oct 23 09:36:08 2015 +0100 +++ b/NNLSBase.cpp Mon Nov 02 11:32:30 2015 +0000 @@ -467,7 +467,7 @@ } } - if (maxmag < 2) { + if (maxmag < m_blockSize * 2.0 / 16384.0) { // this is not quite right, I think // cerr << "timestamp " << timestamp << ": very low magnitude, setting magnitude to all zeros" << endl; for (int iBin = 0; iBin < static_cast(m_blockSize/2); iBin++) { magnitude[iBin] = 0;