Mercurial > hg > multitrack-audio-matcher
view src/AudioEventMatcher.h @ 8:572564b7cb85
added calculation posterior into both onset and pitch processes
author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
---|---|
date | Fri, 03 Feb 2012 13:28:59 +0000 |
parents | 33dedfe32893 |
children | bc62266af280 |
line wrap: on
line source
/* * AudioEventMatcher.h * MultipleAudioMathcher * * Created by Andrew on 31/01/2012. * Copyright 2012 QMUL. All rights reserved. * */ #ifndef AUDIO_EVENT_MATCHER_H #define AUDIO_EVENT_MATCHER_H #include "ofMain.h" #include "ChromaOnset.h" #include "LiveAudioInput.h" #include "ofxWindowRegion.h" #include "BayesianArrayStructure.h" #include "RecordedMultitrackAudio.h" #include "DynamicVector.h" class AudioEventMatcher{ public: AudioEventMatcher(); void setArraySizes(); void updateBestAlignmentPosition(); void draw(); void drawBayesianDistributions();; void setWindowDimensions(); void newPitchEvent(const int& channel, const double& pitchIn, const double& timeIn); void newKickEvent(const double& timeIn); void newKickEvent(const int& channel, const double& timeIn); void newSnareEvent(const double& timeIn); void newSnareEvent(const int& channel, const double& timeIn); void matchNewPitchEvent(const int& channel, const double& pitchIn, const double& timeIn); void matchNewOnsetEvent(const int& channel, const double& timeIn); BayesianArrayStructure bayesianStruct;//hold the probability distriubtions LiveAudioInput liveInput;//hold the new events that come in RecordedMultitrackAudio recordedTracks; void windowResized(const int& w, const int& h); ofxWindowRegion bayesTempoWindow; ofxWindowRegion bayesPositionWindow; ofxWindowRegion bayesLikelihoodWindow; bool checkMatch(const double& recordedPitch, const double& livePitch); double getPitchDistance(const double& pitchOne, const double& pitchTwo, const double& scale); void startPlaying(); bool usingRealTime; double recentPitch, recentTime; DynamicVector likelihoodVisualisation[3]; DynamicVector recentPrior; double currentAlignmentPosition; double lastAlignmentTime; double recentEventTime[3]; double startTime; }; #endif