Mercurial > hg > pyin
annotate MonoNoteHMM.h @ 64:e291f3657872 tony tony_v0.5
Didn't intend to commit the build in debug mode
author | Chris Cannam |
---|---|
date | Wed, 02 Apr 2014 10:37:49 +0100 |
parents | 5945b8905d1f |
children | 926c292fa3ff |
rev | line source |
---|---|
matthiasm@0 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@9 | 2 |
matthiasm@0 | 3 /* |
Chris@9 | 4 pYIN - A fundamental frequency estimator for monophonic audio |
Chris@9 | 5 Centre for Digital Music, Queen Mary, University of London. |
Chris@9 | 6 |
Chris@9 | 7 This program is free software; you can redistribute it and/or |
Chris@9 | 8 modify it under the terms of the GNU General Public License as |
Chris@9 | 9 published by the Free Software Foundation; either version 2 of the |
Chris@9 | 10 License, or (at your option) any later version. See the file |
Chris@9 | 11 COPYING included with this distribution for more information. |
matthiasm@0 | 12 */ |
matthiasm@0 | 13 |
matthiasm@0 | 14 #ifndef _MONONOTEHMM_H_ |
matthiasm@0 | 15 #define _MONONOTEHMM_H_ |
matthiasm@0 | 16 |
matthiasm@0 | 17 #include "MonoNoteParameters.h" |
matthiasm@0 | 18 #include "SparseHMM.h" |
matthiasm@0 | 19 |
matthiasm@0 | 20 #include <boost/math/distributions.hpp> |
matthiasm@0 | 21 |
matthiasm@0 | 22 #include <vector> |
matthiasm@0 | 23 #include <cstdio> |
matthiasm@0 | 24 |
matthiasm@0 | 25 using std::vector; |
matthiasm@0 | 26 |
matthiasm@0 | 27 class MonoNoteHMM : public SparseHMM |
matthiasm@0 | 28 { |
matthiasm@0 | 29 public: |
matthiasm@0 | 30 MonoNoteHMM(); |
matthiasm@0 | 31 const std::vector<double> calculateObsProb(const vector<pair<double, double> >); |
matthiasm@0 | 32 double getMidiPitch(size_t index); |
matthiasm@0 | 33 double getFrequency(size_t index); |
matthiasm@0 | 34 void build(); |
matthiasm@0 | 35 MonoNoteParameters par; |
matthiasm@0 | 36 vector<boost::math::normal> pitchDistr; |
matthiasm@0 | 37 }; |
matthiasm@0 | 38 |
matthiasm@0 | 39 #endif |