Mercurial > hg > audio-file-loader
view src/AudioAnalysis.h @ 2:fa2af670b5c5 tip
SoundFileLoader might have moved
author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
---|---|
date | Fri, 06 Jan 2012 00:23:26 +0000 |
parents | ba2a17cf81bf |
children |
line wrap: on
line source
/* * AudioAnalysis.h * audioFileLoader4 * * Created by Andrew on 14/08/2011. * Copyright 2011 QMUL. All rights reserved. * */ #ifndef AUDIO_ANALYSIS_H #define AUDIO_ANALYSIS_H #include "fftw3.h" #include "ofMain.h" #include "chromaGram.h" #include "ChordDetect.h" #include "sndfile.h" #include "ofxFileDialogOSX.h" #include "AudioFile.h" #define FRAMESIZE 512 #define ENERGY_LENGTH 80000 #define CHROMA_LENGTH 12000 #define CHROMA_CONVERSION_FACTOR 16 //16 times as many frames in energy as in chroma //this does a chromagram analysis and aubio onset analysis //held in double matrix and doubleVector respectively //these are dynamic vectors, so size set by what's needed for the file class AudioAnalysis{ public: AudioAnalysis(); typedef std::vector<double> DoubleVector; typedef std::vector<DoubleVector> DoubleMatrix; DoubleMatrix chromaMatrix; // DoubleMatrix* matrixPtr; DoubleVector energyVector; AudioFile* audioHolder; void loadNewAudio(string soundFileName);//?? Chromagram chromoGramm; int currentPlayingFrame; ChordDetect chord; double getEnergyOfFrame(); int scrollWidth; //int totalFrames; void drawEnergyVectorFromPointer(); void drawSpectralDifference(); /* double getEnergyOfFrame(); void initialiseVariables(); void initialiseVariables(); AudioFile audioHolder; void drawDoubleMatrix(DoubleMatrix* dMatrix);//DoubleMatrix* dMatrix); WOULD BE NICE TO USE POINTER BUT NOT WORKING YET DoubleVector firstEnergyVector; void drawEnergyVectorFromPointer(DoubleVector* energyVec); void processAudioToDoubleMatrix(Chromagram* chromaG, DoubleMatrix* myDoubleMatrix, DoubleVector* energyVector); void loadNewAudio(string soundFileName); */ }; #endif