Mercurial > hg > nnls-chroma
annotate NNLSChroma.h @ 76:d398e73b46e0 matthiasm-plugin
it's broken at the moment, work in progress (makeing bins per semitone variable, ie not necessarily 3)
author | Matthias Mauch <mail@matthiasmauch.net> |
---|---|
date | Wed, 10 Nov 2010 22:52:46 +0900 |
parents | cf8898a0174c |
children | 3277f6cef3fe |
rev | line source |
---|---|
Chris@23 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
matthiasm@0 | 2 |
Chris@35 | 3 /* |
Chris@35 | 4 NNLS-Chroma / Chordino |
Chris@35 | 5 |
Chris@35 | 6 Audio feature extraction plugins for chromagram and chord |
Chris@35 | 7 estimation. |
Chris@35 | 8 |
Chris@35 | 9 Centre for Digital Music, Queen Mary University of London. |
Chris@35 | 10 This file copyright 2008-2010 Matthias Mauch and QMUL. |
Chris@35 | 11 |
Chris@35 | 12 This program is free software; you can redistribute it and/or |
Chris@35 | 13 modify it under the terms of the GNU General Public License as |
Chris@35 | 14 published by the Free Software Foundation; either version 2 of the |
Chris@35 | 15 License, or (at your option) any later version. See the file |
Chris@35 | 16 COPYING included with this distribution for more information. |
Chris@35 | 17 */ |
Chris@35 | 18 |
matthiasm@0 | 19 #ifndef _NNLS_CHROMA_ |
matthiasm@0 | 20 #define _NNLS_CHROMA_ |
matthiasm@0 | 21 |
Chris@35 | 22 #include "NNLSBase.h" |
Chris@35 | 23 |
matthiasm@0 | 24 using namespace std; |
matthiasm@0 | 25 |
matthiasm@0 | 26 |
Chris@35 | 27 class NNLSChroma : public NNLSBase |
matthiasm@0 | 28 { |
matthiasm@0 | 29 public: |
matthiasm@0 | 30 NNLSChroma(float inputSampleRate); |
matthiasm@0 | 31 virtual ~NNLSChroma(); |
matthiasm@0 | 32 |
matthiasm@0 | 33 string getIdentifier() const; |
matthiasm@0 | 34 string getName() const; |
matthiasm@0 | 35 string getDescription() const; |
matthiasm@0 | 36 |
matthiasm@0 | 37 OutputList getOutputDescriptors() const; |
matthiasm@0 | 38 |
Chris@35 | 39 FeatureSet process(const float *const *inputBuffers, |
Chris@35 | 40 Vamp::RealTime timestamp); |
Chris@35 | 41 FeatureSet getRemainingFeatures(); |
Chris@35 | 42 |
matthiasm@0 | 43 bool initialise(size_t channels, size_t stepSize, size_t blockSize); |
matthiasm@0 | 44 void reset(); |
matthiasm@0 | 45 |
matthiasm@0 | 46 protected: |
Chris@35 | 47 mutable int m_outputLogSpec; |
Chris@35 | 48 mutable int m_outputTunedSpec; |
Chris@35 | 49 mutable int m_outputSemiSpec; |
Chris@35 | 50 mutable int m_outputChroma; |
Chris@35 | 51 mutable int m_outputBassChroma; |
Chris@35 | 52 mutable int m_outputBothChroma; |
matthiasm@0 | 53 }; |
matthiasm@0 | 54 |
matthiasm@0 | 55 |
matthiasm@0 | 56 |
matthiasm@0 | 57 #endif |