diff src/SoundFileLoader.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
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/SoundFileLoader.h	Fri Jan 06 00:23:26 2012 +0000
@@ -0,0 +1,57 @@
+/*
+ *  SoundFileLoader.h
+ *  audioFileLoaderSVN1
+ *
+ *  Created by Andrew on 04/09/2011.
+ *  Copyright 2011 QMUL. All rights reserved.
+ *
+ */
+
+#ifndef SOUND_FILE_LOADER_H
+#define SOUND_FILE_LOADER_H
+
+
+#include "fftw3.h"
+#include "ofMain.h"
+#include "sndfile.h"
+#include "AudioFile.h"
+#include "AudioAnalysis.h"
+#include "chromaGram.h"
+#include "ChordDetect.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 SoundFileLoader{
+	
+public:
+	SoundFileLoader();
+	float frame[FRAMESIZE]; 
+	
+	void loadLibSndFile(const char *infilename);
+	
+	AudioFile audioHolder;
+	AudioAnalysis chromaAnalysis;
+	Chromagram chromoGramm;
+	Chromagram* chromaG;
+	
+	typedef std::vector<double> DoubleVector;
+	typedef std::vector<DoubleVector> DoubleMatrix;
+	
+	void processAudioToDoubleMatrix();
+	double getEnergyOfFrame();
+	
+	int totalNumberOfFrames;
+	
+	SNDFILE *infile; // define input and output sound files
+	SF_INFO sfinfo ; // struct to hold info about sound file
+
+};
+#endif