view src/PeakProcessor.h @ 1:5a94f002e5ef

some changes
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Sat, 22 Sep 2012 01:11:31 +0100
parents 3dcbd77efc94
children 7ec1ed0b2eb0
line wrap: on
line source
/*
 *  PeakProcessor.h
 *  peakOnsetDetector
 *
 *  Created by Andrew on 07/09/2012.
 *  Copyright 2012 QMUL. All rights reserved.
 *
 */

#ifndef PEAK_PROCESSOR
#define PEAK_PROCESSOR

#include <vector.h>
#include "math.h"

class PeakProcessor{
	public:
	
	PeakProcessor();
	~PeakProcessor();
	//peak processing requires
	static const int vectorSize = 512/6; 
	vector<double> recentDFsamples; 
	vector<bool> recentDFonsetFound;
	vector<double> recentDFslopeValues;
	
	int numberOfDetectionValuesToTest;
	bool peakProcessing(const double& newDFval);
	double getBestSlopeValue(const float& dfvalue);
	bool checkForSlopeOnset(const float& bestValue);
	int currentFrame, lastSlopeOnsetFrame, cutoffForRepeatOnsetsFrames;
	void updateDetectionTriggerThreshold(const float& val);
	float detectionTriggerThreshold, detectionTriggerRatio;
	float bestSlopeMedian, thresholdRelativeToMedian;
	bool newOnsetFound, slopeFallenBelowMedian;
	

	
};
#endif