Mercurial > hg > qm-dsp
annotate dsp/tonal/TCSgram.h @ 252:89a2b34a098f
* Adjust MFCC params in segmenter to match timbral MFCC params from Soundbite
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 10 Jan 2008 17:26:15 +0000 |
parents | 49844bc8a895 |
children | e5907ae6de17 |
rev | line source |
---|---|
c@225 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
c@225 | 2 |
c@225 | 3 /* |
c@225 | 4 QM DSP Library |
c@225 | 5 |
c@225 | 6 Centre for Digital Music, Queen Mary, University of London. |
c@225 | 7 This file copyright 2006 Martin Gasser. |
c@225 | 8 All rights reserved. |
c@225 | 9 */ |
c@225 | 10 |
c@225 | 11 #ifndef _TCSGram_ |
c@225 | 12 #define _TCSGram_ |
c@225 | 13 |
c@225 | 14 #include <vector> |
c@225 | 15 #include <valarray> |
c@225 | 16 #include <utility> |
c@225 | 17 |
c@225 | 18 #include "TonalEstimator.h" |
c@225 | 19 |
c@225 | 20 typedef std::vector<std::pair<long, TCSVector> > vectorlist_t; |
c@225 | 21 |
c@225 | 22 class TCSGram |
c@225 | 23 { |
c@225 | 24 public: |
c@225 | 25 TCSGram(); |
c@225 | 26 ~TCSGram(); |
c@225 | 27 void getTCSVector(int, TCSVector&) const; |
c@225 | 28 void addTCSVector(const TCSVector&); |
c@225 | 29 long getTime(size_t) const; |
c@225 | 30 long getDuration() const; |
c@225 | 31 void printDebug(); |
c@225 | 32 int getSize() const { return m_VectorList.size(); } |
c@225 | 33 void reserve(size_t uSize) { m_VectorList.reserve(uSize); } |
c@225 | 34 void clear() { m_VectorList.clear(); } |
c@225 | 35 void setFrameDuration(const double dFrameDurationMS) { m_dFrameDurationMS = dFrameDurationMS; } |
c@225 | 36 void setNumBins(const unsigned int uNumBins) { m_uNumBins = uNumBins; } |
c@225 | 37 void normalize(); |
c@225 | 38 protected: |
c@225 | 39 vectorlist_t m_VectorList; |
c@225 | 40 unsigned int m_uNumBins; |
c@225 | 41 double m_dFrameDurationMS; |
c@225 | 42 }; |
c@225 | 43 |
c@225 | 44 #endif |