Mercurial > hg > midi-score-follower
comparison src/BayesianArrayStructure.h @ 9:75dcd1308658
looked at tempo process, likelihood function changed and improved. Now drawing using constrained vector function. Good working version.
author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
---|---|
date | Tue, 23 Aug 2011 11:20:44 +0100 |
parents | 4a8e6a6cd224 |
children | 3f103cf78148 |
comparison
equal
deleted
inserted
replaced
8:d9a3613e7264 | 9:75dcd1308658 |
---|---|
65 void addTriangularNoiseToSpeedPosterior(const double& std_dev); | 65 void addTriangularNoiseToSpeedPosterior(const double& std_dev); |
66 | 66 |
67 double bestEstimate; | 67 double bestEstimate; |
68 void updateBestEstimate(); | 68 void updateBestEstimate(); |
69 double lastBestEstimateUpdateTime; | 69 double lastBestEstimateUpdateTime; |
70 double speedEstimate; | |
70 | 71 |
71 double speedDecayWidth, speedDecayAmount; | 72 double speedDecayWidth, speedDecayAmount; |
72 void decaySpeedDistribution(double timeDifference); | 73 void decaySpeedDistribution(double timeDifference); |
73 | 74 |
74 void resetSpeedSize(int length); | 75 void resetSpeedSize(int length); |
75 void setRelativeSpeedScalar(double f); | 76 void setRelativeSpeedScalar(double f); |
76 void setSpeedPrior(double f); | 77 void setSpeedPrior(double f); |
77 void calculateNewPriorOffset(const double& timeDifference); | 78 void calculateNewPriorOffset(const double& timeDifference); |
78 void setNewDistributionOffsets(const double& newOffset); | 79 void setNewDistributionOffsets(const double& newOffset); |
79 | 80 |
80 void updateTempoDistribution(const double& speedRatio, const double& matchFactor); | 81 void setLikelihoodToConstant(); |
82 void updateTempoLikelihood(const double& speedRatio, const double& matchFactor); | |
83 void updateTempoDistribution(); | |
81 | 84 |
82 void setFlatTempoLikelihood(); | |
83 void calculateTempoUpdate(); | 85 void calculateTempoUpdate(); |
84 void updateTempoLikelihood(const double& speedRatio, const double& matchFactor); | |
85 | 86 |
86 void crossUpdateArrays(DynamicVector& position, DynamicVector& speed, double timeDifference); | 87 void crossUpdateArrays(DynamicVector& position, DynamicVector& speed, double timeDifference); |
87 void complexCrossUpdate(const double& timeDifferenceInPositionVectorUnits); | 88 void complexCrossUpdate(const double& timeDifferenceInPositionVectorUnits); |
88 void translateByMaximumSpeed(const double& timeDifferenceInPositionVectorUnits); | 89 void translateByMaximumSpeed(const double& timeDifferenceInPositionVectorUnits); |
89 double crossUpdateTimeThreshold;//time after which we do complex update of multiple speeds | 90 double crossUpdateTimeThreshold;//time after which we do complex update of multiple speeds |