# HG changeset patch # User Geogaddi\David # Date 1454700102 0 # Node ID a64055168b9be8e392f7bacf93a691da789daf93 # Parent 761289a660c61bbaac20000fb2244ef6ad5248a1 Added XML Support diff -r 761289a660c6 -r a64055168b9b Builds/VisualStudio2013/FeatureExtractionTool.vcxproj --- a/Builds/VisualStudio2013/FeatureExtractionTool.vcxproj Mon Aug 17 19:16:33 2015 +0100 +++ b/Builds/VisualStudio2013/FeatureExtractionTool.vcxproj Fri Feb 05 19:21:42 2016 +0000 @@ -38,11 +38,9 @@ <_ProjectFileVersion>10.0.30319.1 - .\Debug\ FeatureExtractionTool true $(LibraryPath);..\..\Lib\fftw-3.2.1\lib\win\ - .\Release\ FeatureExtractionTool true $(LibraryPath);..\..\Lib\fftw-3.2.1\lib\win\ @@ -60,7 +58,7 @@ Disabled EditAndContinue ..\..\JuceLibraryCode;C:\SDKs\JUCE\modules;..\..\Lib\fftw-3.2.1\api\;%(AdditionalIncludeDirectories) - _CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + _CONSOLE;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebug true @@ -101,9 +99,9 @@ - MinSpace + Full ..\..\JuceLibraryCode;C:\SDKs\JUCE\modules;..\..\Lib\fftw-3.2.1\api\;%(AdditionalIncludeDirectories) - _CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + _CONSOLE;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreaded true @@ -140,9 +138,11 @@ + + @@ -151,10 +151,16 @@ true - + true - + + true + + + true + + true @@ -172,10 +178,34 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -325,6 +355,9 @@ true + + true + true @@ -364,6 +397,15 @@ true + + true + + + true + + + true + true @@ -556,6 +598,9 @@ true + + true + true @@ -604,12 +649,18 @@ true + + true + true true + + true + true @@ -1253,9 +1304,11 @@ + + @@ -1263,15 +1316,27 @@ + + + + + + - - - - + + + + + + + + + + @@ -1315,6 +1380,7 @@ + @@ -1336,7 +1402,14 @@ + + + + + + + @@ -1377,6 +1450,7 @@ + @@ -1446,6 +1520,7 @@ + @@ -1455,9 +1530,11 @@ + + @@ -1479,7 +1556,6 @@ - diff -r 761289a660c6 -r a64055168b9b Builds/VisualStudio2013/FeatureExtractionTool.vcxproj.filters --- a/Builds/VisualStudio2013/FeatureExtractionTool.vcxproj.filters Mon Aug 17 19:16:33 2015 +0100 +++ b/Builds/VisualStudio2013/FeatureExtractionTool.vcxproj.filters Fri Feb 05 19:21:42 2016 +0000 @@ -29,11 +29,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -86,6 +89,9 @@ {EB8DD942-E2CB-869F-D381-E02A65BA790B} + + {8F91DFC0-7A71-1BA8-D8D9-6B4CF49151A4} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} @@ -325,6 +331,9 @@ FeatureExtractionTool\Source\DataTypes + + FeatureExtractionTool\Source\IO + FeatureExtractionTool\Source\IO @@ -334,6 +343,9 @@ FeatureExtractionTool\Source\IO + + FeatureExtractionTool\Source\Analysis + FeatureExtractionTool\Source\Analysis @@ -352,12 +364,18 @@ Juce Modules\juce_audio_basics\buffers - - Juce Modules\juce_audio_basics\buffers - Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -373,11 +391,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects - - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -532,6 +574,9 @@ Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\processors @@ -574,6 +619,15 @@ Juce Modules\juce_audio_processors\scanning + + Juce Modules\juce_audio_processors\utilities + + + Juce Modules\juce_audio_processors\utilities + + + Juce Modules\juce_core\text + Juce Modules\juce_core\text @@ -766,6 +820,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -829,12 +886,18 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_cryptography\hashing + Juce Modules\juce_data_structures\values Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\values + Juce Modules\juce_data_structures\undomanager @@ -1563,6 +1626,9 @@ FeatureExtractionTool\Source\DataTypes + + FeatureExtractionTool\Source\IO + FeatureExtractionTool\Source\IO @@ -1572,6 +1638,9 @@ FeatureExtractionTool\Source\IO + + FeatureExtractionTool\Source\Analysis + FeatureExtractionTool\Source\Analysis @@ -1593,6 +1662,24 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -1608,17 +1695,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects - - - Juce Modules\juce_audio_basics\effects - - - Juce Modules\juce_audio_basics\effects - - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1749,6 +1854,9 @@ Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\processors @@ -1812,9 +1920,30 @@ Juce Modules\juce_audio_processors\scanning + + Juce Modules\juce_audio_processors\utilities + + + Juce Modules\juce_audio_processors\utilities + + + Juce Modules\juce_audio_processors\utilities + + + Juce Modules\juce_audio_processors\utilities + + + Juce Modules\juce_audio_processors\utilities + + + Juce Modules\juce_audio_processors\utilities + Juce Modules\juce_audio_processors + + Juce Modules\juce_core\text + Juce Modules\juce_core\text @@ -1935,6 +2064,9 @@ Juce Modules\juce_core\containers + + Juce Modules\juce_core\containers + Juce Modules\juce_core\containers @@ -2142,6 +2274,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -2169,6 +2304,9 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_cryptography\hashing + Juce Modules\juce_cryptography @@ -2178,6 +2316,9 @@ Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\values + Juce Modules\juce_data_structures\undomanager @@ -2241,9 +2382,6 @@ Juce Modules\juce_events\broadcasters - - Juce Modules\juce_events\broadcasters - Juce Modules\juce_events\interprocess diff -r 761289a660c6 -r a64055168b9b Builds/VisualStudio2013/resources.rc --- a/Builds/VisualStudio2013/resources.rc Mon Aug 17 19:16:33 2015 +0100 +++ b/Builds/VisualStudio2013/resources.rc Fri Feb 05 19:21:42 2016 +0000 @@ -22,7 +22,7 @@ BLOCK "VarFileInfo" BEGIN - VALUE "Translation", 0x409, 65001 + VALUE "Translation", 0x409, 1252 END END diff -r 761289a660c6 -r a64055168b9b FeatureExtractionTool.jucer --- a/FeatureExtractionTool.jucer Mon Aug 17 19:16:33 2015 +0100 +++ b/FeatureExtractionTool.jucer Fri Feb 05 19:21:42 2016 +0000 @@ -2,7 +2,7 @@ + includeBinaryInAppConfig="1" jucerVersion="4.1.0"> + + @@ -48,31 +50,6 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff -r 761289a660c6 -r a64055168b9b Source/AudioReader.cpp --- a/Source/AudioReader.cpp Mon Aug 17 19:16:33 2015 +0100 +++ b/Source/AudioReader.cpp Fri Feb 05 19:21:42 2016 +0000 @@ -18,6 +18,7 @@ #define ENERGYSEARCHTIME 3 #define SAMPLERATE 22050.0f +#include "XMLWrite.h" AudioReader::AudioReader() { @@ -32,6 +33,7 @@ std::vector AudioReader::Read(AudioFileData audioFileData, float poolTimeSecs, int analysisWindowSize) { WriteCSV writeCSV = WriteCSV(); + XMLWrite xmlWrite = XMLWrite(); std::vector featureData = std::vector(); std::string CSVFileName = "..\\FeatureData" + writeCSV.currentDateTime(); @@ -164,6 +166,7 @@ FeatureData newFeature = FeatureData(newObs, labels[i], audioFileNames[i], fSampleRate, FFTSIZE, static_cast(numOfSamplesToCollect), poolTimeSecs); writeCSV.Write(CSVFileName, newFeature); + xmlWrite.Write(CSVFileName, newFeature); //Update the screen information; diff -r 761289a660c6 -r a64055168b9b Source/FeatureData.cpp --- a/Source/FeatureData.cpp Mon Aug 17 19:16:33 2015 +0100 +++ b/Source/FeatureData.cpp Fri Feb 05 19:21:42 2016 +0000 @@ -716,7 +716,7 @@ avgspectralValley.push_back(Average(spectralValley5)); avgspectralValley.push_back(Average(spectralValley6)); - //for(size_t i =0; i < m_PooledObservationDataAverage.size(); i++) + for(size_t i =0; i < m_PooledObservationDataAverage.size(); i++) { obs = ObservationData(avgrms, avgpeak, avgcrestFactor, avgzcr, avgcentroid, avgspread, avgskewness, avgkurtosis, avgbrightness, avgrolloff85, avgrolloff95, avgspectralentropy, avgflatness, avgspectralcf, avgspectralflux, avgmfcc, avgdeltamfcc, avgspectralContrast, avgspectralValley, m_ObservationData[0].GetPeriodicity(), m_ObservationData[0].GetEntropyOfEnergy()); obs.SetLowEnergy(m_ObservationData[0].GetLowEnergy()); diff -r 761289a660c6 -r a64055168b9b Source/WriteCSV.cpp --- a/Source/WriteCSV.cpp Mon Aug 17 19:16:33 2015 +0100 +++ b/Source/WriteCSV.cpp Fri Feb 05 19:21:42 2016 +0000 @@ -40,213 +40,213 @@ for(size_t j = 0; j < observationDataAverage.size(); j++) { foutPooled - << observationDataAverage[j].GetRMS() << ',' - << observationDataStd[j].GetRMS() << ',' - << observationDataMax[j].GetRMS() << ',' - << observationDataMin[j].GetRMS() << ',' - << observationDataAverage[j].GetPeak() << ',' - << observationDataStd[j].GetPeak() << ',' - << observationDataMax[j].GetPeak() << ',' - << observationDataMin[j].GetPeak() << ',' - << observationDataAverage[j].GetCrestFactor() << ',' - << observationDataStd[j].GetCrestFactor() << ',' - << observationDataMax[j].GetCrestFactor() << ',' - << observationDataMin[j].GetCrestFactor() << ',' - << observationDataAverage[j].GetZCR() << ',' - << observationDataStd[j].GetZCR() << ',' - << observationDataMax[j].GetZCR() << ',' - << observationDataMin[j].GetZCR() << ',' - << observationDataAverage[j].GetCentroid() << ',' - << observationDataStd[j].GetCentroid() << ',' - << observationDataMax[j].GetCentroid() << ',' - << observationDataMin[j].GetCentroid() << ',' - << observationDataAverage[j].GetSpread() << ',' - << observationDataStd[j].GetSpread() << ',' - << observationDataMax[j].GetSpread() << ',' - << observationDataMin[j].GetSpread() << ',' - << observationDataAverage[j].GetSkewness() << ',' - << observationDataStd[j].GetSkewness() << ',' - << observationDataMax[j].GetSkewness() << ',' - << observationDataMin[j].GetSkewness() << ',' - << observationDataAverage[j].GetKurtosis() << ',' - << observationDataStd[j].GetKurtosis() << ',' - << observationDataMax[j].GetKurtosis() << ',' - << observationDataMin[j].GetKurtosis() << ',' - << observationDataAverage[j].GetBrightness() << ',' - << observationDataStd[j].GetBrightness() << ',' - << observationDataMax[j].GetBrightness() << ',' - << observationDataMin[j].GetBrightness() << ',' - << observationDataAverage[j].GetFlatness() << ',' - << observationDataStd[j].GetFlatness() << ',' - << observationDataMax[j].GetFlatness() << ',' - << observationDataMin[j].GetFlatness() << ',' - << observationDataAverage[j].GetRollOff85() << ',' - << observationDataStd[j].GetRollOff85() << ',' - << observationDataMax[j].GetRollOff85() << ',' - << observationDataMin[j].GetRollOff85() << ',' - << observationDataAverage[j].GetRollOff95() << ',' - << observationDataStd[j].GetRollOff95() << ',' - << observationDataMax[j].GetRollOff95() << ',' - << observationDataMin[j].GetRollOff95() << ',' - << observationDataAverage[j].GetSpectralEntropy() << ',' - << observationDataStd[j].GetSpectralEntropy() << ',' - << observationDataMax[j].GetSpectralEntropy() << ',' - << observationDataMin[j].GetSpectralEntropy() << ',' - << observationDataAverage[j].GetSpectralCF() << ',' - << observationDataStd[j].GetSpectralCF() << ',' - << observationDataMax[j].GetSpectralCF() << ',' - << observationDataMin[j].GetSpectralCF() << ',' - << observationDataAverage[j].GetSpectralFlux() << ',' - << observationDataStd[j].GetSpectralFlux() << ',' - << observationDataMax[j].GetSpectralFlux() << ',' - << observationDataMin[j].GetSpectralFlux() << ',' - << observationDataAverage[j].GetMFCCs()[0] << ',' - << observationDataStd[j].GetMFCCs()[0] << ',' - << observationDataMax[j].GetMFCCs()[0] << ',' - << observationDataMin[j].GetMFCCs()[0] << ',' - << observationDataAverage[j].GetMFCCs()[1] << ',' - << observationDataStd[j].GetMFCCs()[1] << ',' - << observationDataMax[j].GetMFCCs()[1] << ',' - << observationDataMin[j].GetMFCCs()[1] << ',' - << observationDataAverage[j].GetMFCCs()[2] << ',' - << observationDataStd[j].GetMFCCs()[2] << ',' - << observationDataMax[j].GetMFCCs()[2] << ',' - << observationDataMin[j].GetMFCCs()[2] << ',' - << observationDataAverage[j].GetMFCCs()[3] << ',' - << observationDataStd[j].GetMFCCs()[3] << ',' - << observationDataMax[j].GetMFCCs()[3] << ',' - << observationDataMin[j].GetMFCCs()[3] << ',' - << observationDataAverage[j].GetMFCCs()[4] << ',' - << observationDataStd[j].GetMFCCs()[4] << ',' - << observationDataMax[j].GetMFCCs()[4] << ',' - << observationDataMin[j].GetMFCCs()[4] << ',' - << observationDataAverage[j].GetMFCCs()[5] << ',' - << observationDataStd[j].GetMFCCs()[5] << ',' - << observationDataMax[j].GetMFCCs()[5] << ',' - << observationDataMin[j].GetMFCCs()[5] << ',' - << observationDataAverage[j].GetMFCCs()[6] << ',' - << observationDataStd[j].GetMFCCs()[6] << ',' - << observationDataMax[j].GetMFCCs()[6] << ',' - << observationDataMin[j].GetMFCCs()[6] << ',' - << observationDataAverage[j].GetMFCCs()[7] << ',' - << observationDataStd[j].GetMFCCs()[7] << ',' - << observationDataMax[j].GetMFCCs()[7] << ',' - << observationDataMin[j].GetMFCCs()[7] << ',' - << observationDataAverage[j].GetMFCCs()[8] << ',' - << observationDataStd[j].GetMFCCs()[8] << ',' - << observationDataMax[j].GetMFCCs()[8] << ',' - << observationDataMin[j].GetMFCCs()[8] << ',' - << observationDataAverage[j].GetMFCCs()[9] << ',' - << observationDataStd[j].GetMFCCs()[9] << ',' - << observationDataMax[j].GetMFCCs()[9] << ',' - << observationDataMin[j].GetMFCCs()[9] << ',' - << observationDataAverage[j].GetMFCCs()[10] << ',' - << observationDataStd[j].GetMFCCs()[10] << ',' - << observationDataMax[j].GetMFCCs()[10] << ',' - << observationDataMin[j].GetMFCCs()[10] << ',' - << observationDataAverage[j].GetMFCCs()[11] << ',' - << observationDataStd[j].GetMFCCs()[11] << ',' - << observationDataMax[j].GetMFCCs()[11] << ',' - << observationDataMin[j].GetMFCCs()[11] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[0] << ',' - << observationDataStd[j].GetDeltaMFCCs()[0] << ',' - << observationDataMax[j].GetDeltaMFCCs()[0] << ',' - << observationDataMin[j].GetDeltaMFCCs()[0] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[1] << ',' - << observationDataStd[j].GetDeltaMFCCs()[1] << ',' - << observationDataMax[j].GetDeltaMFCCs()[1] << ',' - << observationDataMin[j].GetDeltaMFCCs()[1] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[2] << ',' - << observationDataStd[j].GetDeltaMFCCs()[2] << ',' - << observationDataMax[j].GetDeltaMFCCs()[2] << ',' - << observationDataMin[j].GetDeltaMFCCs()[2] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[3] << ',' - << observationDataStd[j].GetDeltaMFCCs()[3] << ',' - << observationDataMax[j].GetDeltaMFCCs()[3] << ',' - << observationDataMin[j].GetDeltaMFCCs()[3] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[4] << ',' - << observationDataStd[j].GetDeltaMFCCs()[4] << ',' - << observationDataMax[j].GetDeltaMFCCs()[4] << ',' - << observationDataMin[j].GetDeltaMFCCs()[4] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[5] << ',' - << observationDataStd[j].GetDeltaMFCCs()[5] << ',' - << observationDataMax[j].GetDeltaMFCCs()[5] << ',' - << observationDataMin[j].GetDeltaMFCCs()[5] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[6] << ',' - << observationDataStd[j].GetDeltaMFCCs()[6] << ',' - << observationDataMax[j].GetDeltaMFCCs()[6] << ',' - << observationDataMin[j].GetDeltaMFCCs()[6] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[7] << ',' - << observationDataStd[j].GetDeltaMFCCs()[7] << ',' - << observationDataMax[j].GetDeltaMFCCs()[7] << ',' - << observationDataMin[j].GetDeltaMFCCs()[7] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[8] << ',' - << observationDataStd[j].GetDeltaMFCCs()[8] << ',' - << observationDataMax[j].GetDeltaMFCCs()[8] << ',' - << observationDataMin[j].GetDeltaMFCCs()[8] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[9] << ',' - << observationDataStd[j].GetDeltaMFCCs()[9] << ',' - << observationDataMax[j].GetDeltaMFCCs()[9] << ',' - << observationDataMin[j].GetDeltaMFCCs()[9] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[10] << ',' - << observationDataStd[j].GetDeltaMFCCs()[10] << ',' - << observationDataMax[j].GetDeltaMFCCs()[10] << ',' - << observationDataMin[j].GetDeltaMFCCs()[10] << ',' - << observationDataAverage[j].GetDeltaMFCCs()[11] << ',' - << observationDataStd[j].GetDeltaMFCCs()[11] << ',' - << observationDataMax[j].GetDeltaMFCCs()[11] << ',' - << observationDataMin[j].GetDeltaMFCCs()[11] << ',' - << observationDataAverage[j].GetSpectralContrast()[0] << ',' - << observationDataStd[j].GetSpectralContrast()[0] << ',' - << observationDataMax[j].GetSpectralContrast()[0] << ',' - << observationDataMin[j].GetSpectralContrast()[0] << ',' - << observationDataAverage[j].GetSpectralContrast()[1] << ',' - << observationDataStd[j].GetSpectralContrast()[1] << ',' - << observationDataMax[j].GetSpectralContrast()[1] << ',' - << observationDataMin[j].GetSpectralContrast()[1] << ',' - << observationDataAverage[j].GetSpectralContrast()[2] << ',' - << observationDataStd[j].GetSpectralContrast()[2] << ',' - << observationDataMax[j].GetSpectralContrast()[2] << ',' - << observationDataMin[j].GetSpectralContrast()[2] << ',' - << observationDataAverage[j].GetSpectralContrast()[3] << ',' - << observationDataStd[j].GetSpectralContrast()[3] << ',' - << observationDataMax[j].GetSpectralContrast()[3] << ',' - << observationDataMin[j].GetSpectralContrast()[3] << ',' - << observationDataAverage[j].GetSpectralContrast()[4] << ',' - << observationDataStd[j].GetSpectralContrast()[4] << ',' - << observationDataMax[j].GetSpectralContrast()[4] << ',' - << observationDataMin[j].GetSpectralContrast()[4] << ',' - << observationDataAverage[j].GetSpectralContrast()[5] << ',' - << observationDataStd[j].GetSpectralContrast()[5] << ',' - << observationDataMax[j].GetSpectralContrast()[5] << ',' - << observationDataMin[j].GetSpectralContrast()[5] << ',' - << observationDataAverage[j].GetSpectralValley()[0] << ',' - << observationDataStd[j].GetSpectralValley()[0] << ',' - << observationDataMax[j].GetSpectralValley()[0] << ',' - << observationDataMin[j].GetSpectralValley()[0] << ',' - << observationDataAverage[j].GetSpectralValley()[1] << ',' - << observationDataStd[j].GetSpectralValley()[1] << ',' - << observationDataMax[j].GetSpectralValley()[1] << ',' - << observationDataMin[j].GetSpectralValley()[1] << ',' - << observationDataAverage[j].GetSpectralValley()[2] << ',' - << observationDataStd[j].GetSpectralValley()[2] << ',' - << observationDataMax[j].GetSpectralValley()[2] << ',' - << observationDataMin[j].GetSpectralValley()[2] << ',' - << observationDataAverage[j].GetSpectralValley()[3] << ',' - << observationDataStd[j].GetSpectralValley()[3] << ',' - << observationDataMax[j].GetSpectralValley()[3] << ',' - << observationDataMin[j].GetSpectralValley()[3] << ',' - << observationDataAverage[j].GetSpectralValley()[4] << ',' - << observationDataStd[j].GetSpectralValley()[4] << ',' - << observationDataMax[j].GetSpectralValley()[4] << ',' - << observationDataMin[j].GetSpectralValley()[4] << ',' - << observationDataAverage[j].GetSpectralValley()[5] << ',' - << observationDataStd[j].GetSpectralValley()[5] << ',' - << observationDataMax[j].GetSpectralValley()[5] << ',' - << observationDataMin[j].GetSpectralValley()[5] << ',' - << observationDataAverage[j].GetLowEnergy() << ',' - << observationDataAverage[j].GetPeriodicity() << ',' - << observationDataAverage[j].GetEntropyOfEnergy() << ',' + << observationDataAverage[0].GetRMS() << ',' + << observationDataStd[0].GetRMS() << ',' + << observationDataMax[0].GetRMS() << ',' + << observationDataMin[0].GetRMS() << ',' + << observationDataAverage[0].GetPeak() << ',' + << observationDataStd[0].GetPeak() << ',' + << observationDataMax[0].GetPeak() << ',' + << observationDataMin[0].GetPeak() << ',' + << observationDataAverage[0].GetCrestFactor() << ',' + << observationDataStd[0].GetCrestFactor() << ',' + << observationDataMax[0].GetCrestFactor() << ',' + << observationDataMin[0].GetCrestFactor() << ',' + << observationDataAverage[0].GetZCR() << ',' + << observationDataStd[0].GetZCR() << ',' + << observationDataMax[0].GetZCR() << ',' + << observationDataMin[0].GetZCR() << ',' + << observationDataAverage[0].GetCentroid() << ',' + << observationDataStd[0].GetCentroid() << ',' + << observationDataMax[0].GetCentroid() << ',' + << observationDataMin[0].GetCentroid() << ',' + << observationDataAverage[0].GetSpread() << ',' + << observationDataStd[0].GetSpread() << ',' + << observationDataMax[0].GetSpread() << ',' + << observationDataMin[0].GetSpread() << ',' + << observationDataAverage[0].GetSkewness() << ',' + << observationDataStd[0].GetSkewness() << ',' + << observationDataMax[0].GetSkewness() << ',' + << observationDataMin[0].GetSkewness() << ',' + << observationDataAverage[0].GetKurtosis() << ',' + << observationDataStd[0].GetKurtosis() << ',' + << observationDataMax[0].GetKurtosis() << ',' + << observationDataMin[0].GetKurtosis() << ',' + << observationDataAverage[0].GetBrightness() << ',' + << observationDataStd[0].GetBrightness() << ',' + << observationDataMax[0].GetBrightness() << ',' + << observationDataMin[0].GetBrightness() << ',' + << observationDataAverage[0].GetFlatness() << ',' + << observationDataStd[0].GetFlatness() << ',' + << observationDataMax[0].GetFlatness() << ',' + << observationDataMin[0].GetFlatness() << ',' + << observationDataAverage[0].GetRollOff85() << ',' + << observationDataStd[0].GetRollOff85() << ',' + << observationDataMax[0].GetRollOff85() << ',' + << observationDataMin[0].GetRollOff85() << ',' + << observationDataAverage[0].GetRollOff95() << ',' + << observationDataStd[0].GetRollOff95() << ',' + << observationDataMax[0].GetRollOff95() << ',' + << observationDataMin[0].GetRollOff95() << ',' + << observationDataAverage[0].GetSpectralEntropy() << ',' + << observationDataStd[0].GetSpectralEntropy() << ',' + << observationDataMax[0].GetSpectralEntropy() << ',' + << observationDataMin[0].GetSpectralEntropy() << ',' + << observationDataAverage[0].GetSpectralCF() << ',' + << observationDataStd[0].GetSpectralCF() << ',' + << observationDataMax[0].GetSpectralCF() << ',' + << observationDataMin[0].GetSpectralCF() << ',' + << observationDataAverage[0].GetSpectralFlux() << ',' + << observationDataStd[0].GetSpectralFlux() << ',' + << observationDataMax[0].GetSpectralFlux() << ',' + << observationDataMin[0].GetSpectralFlux() << ',' + << observationDataAverage[0].GetMFCCs()[0] << ',' + << observationDataStd[0].GetMFCCs()[0] << ',' + << observationDataMax[0].GetMFCCs()[0] << ',' + << observationDataMin[0].GetMFCCs()[0] << ',' + << observationDataAverage[0].GetMFCCs()[1] << ',' + << observationDataStd[0].GetMFCCs()[1] << ',' + << observationDataMax[0].GetMFCCs()[1] << ',' + << observationDataMin[0].GetMFCCs()[1] << ',' + << observationDataAverage[0].GetMFCCs()[2] << ',' + << observationDataStd[0].GetMFCCs()[2] << ',' + << observationDataMax[0].GetMFCCs()[2] << ',' + << observationDataMin[0].GetMFCCs()[2] << ',' + << observationDataAverage[0].GetMFCCs()[3] << ',' + << observationDataStd[0].GetMFCCs()[3] << ',' + << observationDataMax[0].GetMFCCs()[3] << ',' + << observationDataMin[0].GetMFCCs()[3] << ',' + << observationDataAverage[0].GetMFCCs()[4] << ',' + << observationDataStd[0].GetMFCCs()[4] << ',' + << observationDataMax[0].GetMFCCs()[4] << ',' + << observationDataMin[0].GetMFCCs()[4] << ',' + << observationDataAverage[0].GetMFCCs()[5] << ',' + << observationDataStd[0].GetMFCCs()[5] << ',' + << observationDataMax[0].GetMFCCs()[5] << ',' + << observationDataMin[0].GetMFCCs()[5] << ',' + << observationDataAverage[0].GetMFCCs()[6] << ',' + << observationDataStd[0].GetMFCCs()[6] << ',' + << observationDataMax[0].GetMFCCs()[6] << ',' + << observationDataMin[0].GetMFCCs()[6] << ',' + << observationDataAverage[0].GetMFCCs()[7] << ',' + << observationDataStd[0].GetMFCCs()[7] << ',' + << observationDataMax[0].GetMFCCs()[7] << ',' + << observationDataMin[0].GetMFCCs()[7] << ',' + << observationDataAverage[0].GetMFCCs()[8] << ',' + << observationDataStd[0].GetMFCCs()[8] << ',' + << observationDataMax[0].GetMFCCs()[8] << ',' + << observationDataMin[0].GetMFCCs()[8] << ',' + << observationDataAverage[0].GetMFCCs()[9] << ',' + << observationDataStd[0].GetMFCCs()[9] << ',' + << observationDataMax[0].GetMFCCs()[9] << ',' + << observationDataMin[0].GetMFCCs()[9] << ',' + << observationDataAverage[0].GetMFCCs()[10] << ',' + << observationDataStd[0].GetMFCCs()[10] << ',' + << observationDataMax[0].GetMFCCs()[10] << ',' + << observationDataMin[0].GetMFCCs()[10] << ',' + << observationDataAverage[0].GetMFCCs()[11] << ',' + << observationDataStd[0].GetMFCCs()[11] << ',' + << observationDataMax[0].GetMFCCs()[11] << ',' + << observationDataMin[0].GetMFCCs()[11] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[0] << ',' + << observationDataStd[0].GetDeltaMFCCs()[0] << ',' + << observationDataMax[0].GetDeltaMFCCs()[0] << ',' + << observationDataMin[0].GetDeltaMFCCs()[0] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[1] << ',' + << observationDataStd[0].GetDeltaMFCCs()[1] << ',' + << observationDataMax[0].GetDeltaMFCCs()[1] << ',' + << observationDataMin[0].GetDeltaMFCCs()[1] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[2] << ',' + << observationDataStd[0].GetDeltaMFCCs()[2] << ',' + << observationDataMax[0].GetDeltaMFCCs()[2] << ',' + << observationDataMin[0].GetDeltaMFCCs()[2] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[3] << ',' + << observationDataStd[0].GetDeltaMFCCs()[3] << ',' + << observationDataMax[0].GetDeltaMFCCs()[3] << ',' + << observationDataMin[0].GetDeltaMFCCs()[3] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[4] << ',' + << observationDataStd[0].GetDeltaMFCCs()[4] << ',' + << observationDataMax[0].GetDeltaMFCCs()[4] << ',' + << observationDataMin[0].GetDeltaMFCCs()[4] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[5] << ',' + << observationDataStd[0].GetDeltaMFCCs()[5] << ',' + << observationDataMax[0].GetDeltaMFCCs()[5] << ',' + << observationDataMin[0].GetDeltaMFCCs()[5] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[6] << ',' + << observationDataStd[0].GetDeltaMFCCs()[6] << ',' + << observationDataMax[0].GetDeltaMFCCs()[6] << ',' + << observationDataMin[0].GetDeltaMFCCs()[6] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[7] << ',' + << observationDataStd[0].GetDeltaMFCCs()[7] << ',' + << observationDataMax[0].GetDeltaMFCCs()[7] << ',' + << observationDataMin[0].GetDeltaMFCCs()[7] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[8] << ',' + << observationDataStd[0].GetDeltaMFCCs()[8] << ',' + << observationDataMax[0].GetDeltaMFCCs()[8] << ',' + << observationDataMin[0].GetDeltaMFCCs()[8] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[9] << ',' + << observationDataStd[0].GetDeltaMFCCs()[9] << ',' + << observationDataMax[0].GetDeltaMFCCs()[9] << ',' + << observationDataMin[0].GetDeltaMFCCs()[9] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[10] << ',' + << observationDataStd[0].GetDeltaMFCCs()[10] << ',' + << observationDataMax[0].GetDeltaMFCCs()[10] << ',' + << observationDataMin[0].GetDeltaMFCCs()[10] << ',' + << observationDataAverage[0].GetDeltaMFCCs()[11] << ',' + << observationDataStd[0].GetDeltaMFCCs()[11] << ',' + << observationDataMax[0].GetDeltaMFCCs()[11] << ',' + << observationDataMin[0].GetDeltaMFCCs()[11] << ',' + << observationDataAverage[0].GetSpectralContrast()[0] << ',' + << observationDataStd[0].GetSpectralContrast()[0] << ',' + << observationDataMax[0].GetSpectralContrast()[0] << ',' + << observationDataMin[0].GetSpectralContrast()[0] << ',' + << observationDataAverage[0].GetSpectralContrast()[1] << ',' + << observationDataStd[0].GetSpectralContrast()[1] << ',' + << observationDataMax[0].GetSpectralContrast()[1] << ',' + << observationDataMin[0].GetSpectralContrast()[1] << ',' + << observationDataAverage[0].GetSpectralContrast()[2] << ',' + << observationDataStd[0].GetSpectralContrast()[2] << ',' + << observationDataMax[0].GetSpectralContrast()[2] << ',' + << observationDataMin[0].GetSpectralContrast()[2] << ',' + << observationDataAverage[0].GetSpectralContrast()[3] << ',' + << observationDataStd[0].GetSpectralContrast()[3] << ',' + << observationDataMax[0].GetSpectralContrast()[3] << ',' + << observationDataMin[0].GetSpectralContrast()[3] << ',' + << observationDataAverage[0].GetSpectralContrast()[4] << ',' + << observationDataStd[0].GetSpectralContrast()[4] << ',' + << observationDataMax[0].GetSpectralContrast()[4] << ',' + << observationDataMin[0].GetSpectralContrast()[4] << ',' + << observationDataAverage[0].GetSpectralContrast()[5] << ',' + << observationDataStd[0].GetSpectralContrast()[5] << ',' + << observationDataMax[0].GetSpectralContrast()[5] << ',' + << observationDataMin[0].GetSpectralContrast()[5] << ',' + << observationDataAverage[0].GetSpectralValley()[0] << ',' + << observationDataStd[0].GetSpectralValley()[0] << ',' + << observationDataMax[0].GetSpectralValley()[0] << ',' + << observationDataMin[0].GetSpectralValley()[0] << ',' + << observationDataAverage[0].GetSpectralValley()[1] << ',' + << observationDataStd[0].GetSpectralValley()[1] << ',' + << observationDataMax[0].GetSpectralValley()[1] << ',' + << observationDataMin[0].GetSpectralValley()[1] << ',' + << observationDataAverage[0].GetSpectralValley()[2] << ',' + << observationDataStd[0].GetSpectralValley()[2] << ',' + << observationDataMax[0].GetSpectralValley()[2] << ',' + << observationDataMin[0].GetSpectralValley()[2] << ',' + << observationDataAverage[0].GetSpectralValley()[3] << ',' + << observationDataStd[0].GetSpectralValley()[3] << ',' + << observationDataMax[0].GetSpectralValley()[3] << ',' + << observationDataMin[0].GetSpectralValley()[3] << ',' + << observationDataAverage[0].GetSpectralValley()[4] << ',' + << observationDataStd[0].GetSpectralValley()[4] << ',' + << observationDataMax[0].GetSpectralValley()[4] << ',' + << observationDataMin[0].GetSpectralValley()[4] << ',' + << observationDataAverage[0].GetSpectralValley()[5] << ',' + << observationDataStd[0].GetSpectralValley()[5] << ',' + << observationDataMax[0].GetSpectralValley()[5] << ',' + << observationDataMin[0].GetSpectralValley()[5] << ',' + << observationDataAverage[0].GetLowEnergy() << ',' + << observationDataAverage[0].GetPeriodicity() << ',' + << observationDataAverage[0].GetEntropyOfEnergy() << ',' << label << ',' ; foutPooled << "\n"; } @@ -270,216 +270,216 @@ if (foutWholeTrack.is_open()) { - for(size_t j = 0; j < wholeTrackobservationDataAverage.size(); j++) +// for(size_t j = 0; j < wholeTrackobservationDataAverage.size(); j++) { foutWholeTrack - << wholeTrackobservationDataAverage[j].GetRMS() << ','//1 - << wholeTrackobservationDataStd[j].GetRMS() << ','//2 - << wholeTrackobservationDataMax[j].GetRMS() << ','//3 - << wholeTrackobservationDataMin[j].GetRMS() << ','//4 - << wholeTrackobservationDataAverage[j].GetPeak() << ','//5 - << wholeTrackobservationDataStd[j].GetPeak() << ','//6 - << wholeTrackobservationDataMax[j].GetPeak() << ','//7 - << wholeTrackobservationDataMin[j].GetPeak() << ','//8 - << wholeTrackobservationDataAverage[j].GetCrestFactor() << ',' //9 - << wholeTrackobservationDataStd[j].GetCrestFactor() << ',' //10 - << wholeTrackobservationDataMax[j].GetCrestFactor() << ',' //11 - << wholeTrackobservationDataMin[j].GetCrestFactor() << ',' //12 - << wholeTrackobservationDataAverage[j].GetZCR() << ',' //13 - << wholeTrackobservationDataStd[j].GetZCR() << ',' //14 - << wholeTrackobservationDataMax[j].GetZCR()<< ',' //15 - << wholeTrackobservationDataMin[j].GetZCR()<< ',' //16 - << wholeTrackobservationDataAverage[j].GetCentroid() << ',' //17 - << wholeTrackobservationDataStd[j].GetCentroid() << ',' //18 - << wholeTrackobservationDataMax[j].GetCentroid() << ',' //19 - << wholeTrackobservationDataMin[j].GetCentroid() << ',' //20 - << wholeTrackobservationDataAverage[j].GetSpread() << ',' //21 - << wholeTrackobservationDataStd[j].GetSpread() << ',' //22 - << wholeTrackobservationDataMax[j].GetSpread() << ',' //23 - << wholeTrackobservationDataMin[j].GetSpread() << ',' //24 - << wholeTrackobservationDataAverage[j].GetSkewness() << ',' //25 - << wholeTrackobservationDataStd[j].GetSkewness() << ',' //26 - << wholeTrackobservationDataMax[j].GetSkewness() << ',' //27 - << wholeTrackobservationDataMin[j].GetSkewness() << ',' //28 - << wholeTrackobservationDataAverage[j].GetKurtosis() << ',' //29 - << wholeTrackobservationDataStd[j].GetKurtosis() << ',' //30 - << wholeTrackobservationDataMax[j].GetKurtosis() << ',' //31 - << wholeTrackobservationDataMin[j].GetKurtosis() << ',' //32 - << wholeTrackobservationDataAverage[j].GetBrightness() << ',' //33 - << wholeTrackobservationDataStd[j].GetBrightness() << ',' //34 - << wholeTrackobservationDataMax[j].GetBrightness() << ',' //35 - << wholeTrackobservationDataMin[j].GetBrightness() << ',' //36 - << wholeTrackobservationDataAverage[j].GetFlatness() << ',' //37 - << wholeTrackobservationDataStd[j].GetFlatness() << ',' //38 - << wholeTrackobservationDataMax[j].GetFlatness() << ','//39 - << wholeTrackobservationDataMin[j].GetFlatness() << ','//40 - << wholeTrackobservationDataAverage[j].GetRollOff85() << ',' //41 - << wholeTrackobservationDataStd[j].GetRollOff85() << ',' //42 - << wholeTrackobservationDataMax[j].GetRollOff85() << ',' //43 - << wholeTrackobservationDataMin[j].GetRollOff85() << ',' //44 - << wholeTrackobservationDataAverage[j].GetRollOff95() << ',' //45 - << wholeTrackobservationDataStd[j].GetRollOff95() << ',' //46 - << wholeTrackobservationDataMax[j].GetRollOff95() << ',' //47 - << wholeTrackobservationDataMin[j].GetRollOff95() << ',' //48 - << wholeTrackobservationDataAverage[j].GetSpectralEntropy() << ','//49 - << wholeTrackobservationDataStd[j].GetSpectralEntropy() << ',' //50 - << wholeTrackobservationDataMax[j].GetSpectralEntropy() << ','//51 - << wholeTrackobservationDataMin[j].GetSpectralEntropy() << ','//52 - << wholeTrackobservationDataAverage[j].GetSpectralCF() << ','//53 - << wholeTrackobservationDataStd[j].GetSpectralCF() << ',' //54 - << wholeTrackobservationDataMax[j].GetSpectralCF() << ','//55 - << wholeTrackobservationDataMin[j].GetSpectralCF() << ','//56 - << wholeTrackobservationDataAverage[j].GetSpectralFlux() << ','//57 - << wholeTrackobservationDataStd[j].GetSpectralFlux() << ',' //58 - << wholeTrackobservationDataMax[j].GetSpectralFlux() << ','//59 - << wholeTrackobservationDataMin[j].GetSpectralFlux() << ','//60 - << wholeTrackobservationDataAverage[j].GetMFCCs()[0] << ','//61 - << wholeTrackobservationDataStd[j].GetMFCCs()[0] << ',' //62 - << wholeTrackobservationDataMax[j].GetMFCCs()[0] << ',' //47 - << wholeTrackobservationDataMin[j].GetMFCCs()[0] << ',' //48 - << wholeTrackobservationDataAverage[j].GetMFCCs()[1] << ',' //49 - << wholeTrackobservationDataStd[j].GetMFCCs()[1] << ',' //50 - << wholeTrackobservationDataMax[j].GetMFCCs()[1] << ',' //51 - << wholeTrackobservationDataMin[j].GetMFCCs()[1] << ',' //52 - << wholeTrackobservationDataAverage[j].GetMFCCs()[2] << ',' //53 - << wholeTrackobservationDataStd[j].GetMFCCs()[2] << ',' //54 - << wholeTrackobservationDataMax[j].GetMFCCs()[2] << ',' //55 - << wholeTrackobservationDataMin[j].GetMFCCs()[2] << ',' //56 - << wholeTrackobservationDataAverage[j].GetMFCCs()[3] << ',' //57 - << wholeTrackobservationDataStd[j].GetMFCCs()[3] << ',' //58 - << wholeTrackobservationDataMax[j].GetMFCCs()[3] << ',' //59 - << wholeTrackobservationDataMin[j].GetMFCCs()[3] << ',' //60 - << wholeTrackobservationDataAverage[j].GetMFCCs()[4] << ',' //61 - << wholeTrackobservationDataStd[j].GetMFCCs()[4] << ',' //62 - << wholeTrackobservationDataMax[j].GetMFCCs()[4] << ',' //63 - << wholeTrackobservationDataMin[j].GetMFCCs()[4] << ',' //64 - << wholeTrackobservationDataAverage[j].GetMFCCs()[5] << ',' //65 - << wholeTrackobservationDataStd[j].GetMFCCs()[5] << ',' //66 - << wholeTrackobservationDataMax[j].GetMFCCs()[5] << ',' //67 - << wholeTrackobservationDataMin[j].GetMFCCs()[5] << ',' //68 - << wholeTrackobservationDataAverage[j].GetMFCCs()[6] << ',' //69 - << wholeTrackobservationDataStd[j].GetMFCCs()[6] << ',' //70 - << wholeTrackobservationDataMax[j].GetMFCCs()[6] << ',' //71 - << wholeTrackobservationDataMin[j].GetMFCCs()[6] << ',' //72 - << wholeTrackobservationDataAverage[j].GetMFCCs()[7] << ',' //73 - << wholeTrackobservationDataStd[j].GetMFCCs()[7] << ',' //74 - << wholeTrackobservationDataMax[j].GetMFCCs()[7] << ',' //75 - << wholeTrackobservationDataMin[j].GetMFCCs()[7] << ',' //76 - << wholeTrackobservationDataAverage[j].GetMFCCs()[8] << ',' //77 - << wholeTrackobservationDataStd[j].GetMFCCs()[8] << ',' //78 - << wholeTrackobservationDataMax[j].GetMFCCs()[8] << ',' //79 - << wholeTrackobservationDataMin[j].GetMFCCs()[8] << ',' //80 - << wholeTrackobservationDataAverage[j].GetMFCCs()[9] << ',' //81 - << wholeTrackobservationDataStd[j].GetMFCCs()[9] << ',' //82 - << wholeTrackobservationDataMax[j].GetMFCCs()[9] << ',' //83 - << wholeTrackobservationDataMin[j].GetMFCCs()[9] << ',' //84 - << wholeTrackobservationDataAverage[j].GetMFCCs()[10] << ',' //85 - << wholeTrackobservationDataStd[j].GetMFCCs()[10] << ',' //86 - << wholeTrackobservationDataMax[j].GetMFCCs()[10] << ',' //87 - << wholeTrackobservationDataMin[j].GetMFCCs()[10] << ',' //88 - << wholeTrackobservationDataAverage[j].GetMFCCs()[11] << ',' //89 - << wholeTrackobservationDataStd[j].GetMFCCs()[11] << ',' //90 - << wholeTrackobservationDataMax[j].GetMFCCs()[11] << ',' //91 - << wholeTrackobservationDataMin[j].GetMFCCs()[11] << ',' //92 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[0] << ','//45 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[0] << ',' //46 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[0] << ',' //47 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[0] << ',' //48 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[1] << ',' //49 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[1] << ',' //50 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[1] << ',' //51 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[1] << ',' //52 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[2] << ',' //53 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[2] << ',' //54 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[2] << ',' //55 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[2] << ',' //56 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[3] << ',' //57 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[3] << ',' //58 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[3] << ',' //59 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[3] << ',' //60 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[4] << ',' //61 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[4] << ',' //62 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[4] << ',' //63 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[4] << ',' //64 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[5] << ',' //65 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[5] << ',' //66 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[5] << ',' //67 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[5] << ',' //68 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[6] << ',' //69 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[6] << ',' //70 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[6] << ',' //71 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[6] << ',' //72 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[7] << ',' //73 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[7] << ',' //74 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[7] << ',' //75 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[7] << ',' //76 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[8] << ',' //77 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[8] << ',' //78 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[8] << ',' //79 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[8] << ',' //80 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[9] << ',' //81 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[9] << ',' //82 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[9] << ',' //83 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[9] << ',' //84 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[10] << ',' //85 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[10] << ',' //86 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[10] << ',' //87 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[10] << ',' //88 - << wholeTrackobservationDataAverage[j].GetDeltaMFCCs()[11] << ',' //89 - << wholeTrackobservationDataStd[j].GetDeltaMFCCs()[11] << ',' //90 - << wholeTrackobservationDataMax[j].GetDeltaMFCCs()[11] << ',' //91 - << wholeTrackobservationDataMin[j].GetDeltaMFCCs()[11] << ',' //92 - << wholeTrackobservationDataAverage[j].GetSpectralContrast()[0] << ','//61 - << wholeTrackobservationDataStd[j].GetSpectralContrast()[0] << ',' //62 - << wholeTrackobservationDataMax[j].GetSpectralContrast()[0] << ',' //47 - << wholeTrackobservationDataMin[j].GetSpectralContrast()[0] << ',' //48 - << wholeTrackobservationDataAverage[j].GetSpectralContrast()[1] << ',' //49 - << wholeTrackobservationDataStd[j].GetSpectralContrast()[1] << ',' //50 - << wholeTrackobservationDataMax[j].GetSpectralContrast()[1] << ',' //51 - << wholeTrackobservationDataMin[j].GetSpectralContrast()[1] << ',' //52 - << wholeTrackobservationDataAverage[j].GetSpectralContrast()[2] << ',' //53 - << wholeTrackobservationDataStd[j].GetSpectralContrast()[2] << ',' //54 - << wholeTrackobservationDataMax[j].GetSpectralContrast()[2] << ',' //55 - << wholeTrackobservationDataMin[j].GetSpectralContrast()[2] << ',' //56 - << wholeTrackobservationDataAverage[j].GetSpectralContrast()[3] << ',' //57 - << wholeTrackobservationDataStd[j].GetSpectralContrast()[3] << ',' //58 - << wholeTrackobservationDataMax[j].GetSpectralContrast()[3] << ',' //59 - << wholeTrackobservationDataMin[j].GetSpectralContrast()[3] << ',' //60 - << wholeTrackobservationDataAverage[j].GetSpectralContrast()[4] << ',' //61 - << wholeTrackobservationDataStd[j].GetSpectralContrast()[4] << ',' //62 - << wholeTrackobservationDataMax[j].GetSpectralContrast()[4] << ',' //63 - << wholeTrackobservationDataMin[j].GetSpectralContrast()[4] << ',' //64 - << wholeTrackobservationDataAverage[j].GetSpectralContrast()[5] << ',' //65 - << wholeTrackobservationDataStd[j].GetSpectralContrast()[5] << ',' //66 - << wholeTrackobservationDataMax[j].GetSpectralContrast()[5] << ',' //67 - << wholeTrackobservationDataMin[j].GetSpectralContrast()[5] << ',' //68 - << wholeTrackobservationDataAverage[j].GetSpectralValley()[0] << ','//61 - << wholeTrackobservationDataStd[j].GetSpectralValley()[0] << ',' //62 - << wholeTrackobservationDataMax[j].GetSpectralValley()[0] << ',' //47 - << wholeTrackobservationDataMin[j].GetSpectralValley()[0] << ',' //48 - << wholeTrackobservationDataAverage[j].GetSpectralValley()[1] << ',' //49 - << wholeTrackobservationDataStd[j].GetSpectralValley()[1] << ',' //50 - << wholeTrackobservationDataMax[j].GetSpectralValley()[1] << ',' //51 - << wholeTrackobservationDataMin[j].GetSpectralValley()[1] << ',' //52 - << wholeTrackobservationDataAverage[j].GetSpectralValley()[2] << ',' //53 - << wholeTrackobservationDataStd[j].GetSpectralValley()[2] << ',' //54 - << wholeTrackobservationDataMax[j].GetSpectralValley()[2] << ',' //55 - << wholeTrackobservationDataMin[j].GetSpectralValley()[2] << ',' //56 - << wholeTrackobservationDataAverage[j].GetSpectralValley()[3] << ',' //57 - << wholeTrackobservationDataStd[j].GetSpectralValley()[3] << ',' //58 - << wholeTrackobservationDataMax[j].GetSpectralValley()[3] << ',' //59 - << wholeTrackobservationDataMin[j].GetSpectralValley()[3] << ',' //60 - << wholeTrackobservationDataAverage[j].GetSpectralValley()[4] << ',' //61 - << wholeTrackobservationDataStd[j].GetSpectralValley()[4] << ',' //62 - << wholeTrackobservationDataMax[j].GetSpectralValley()[4] << ',' //63 - << wholeTrackobservationDataMin[j].GetSpectralValley()[4] << ',' //64 - << wholeTrackobservationDataAverage[j].GetSpectralValley()[5] << ',' //65 - << wholeTrackobservationDataStd[j].GetSpectralValley()[5] << ',' //66 - << wholeTrackobservationDataMax[j].GetSpectralValley()[5] << ',' //67 - << wholeTrackobservationDataMin[j].GetSpectralValley()[5] << ',' //68 - << wholeTrackobservationDataAverage[j].GetLowEnergy() << ',' //93 - << wholeTrackobservationDataAverage[j].GetPeriodicity() << ',' //94 - << wholeTrackobservationDataAverage[j].GetEntropyOfEnergy() << ',' //95 + << wholeTrackobservationDataAverage[0].GetRMS() << ','//1 + << wholeTrackobservationDataStd[0].GetRMS() << ','//2 + << wholeTrackobservationDataMax[0].GetRMS() << ','//3 + << wholeTrackobservationDataMin[0].GetRMS() << ','//4 + << wholeTrackobservationDataAverage[0].GetPeak() << ','//5 + << wholeTrackobservationDataStd[0].GetPeak() << ','//6 + << wholeTrackobservationDataMax[0].GetPeak() << ','//7 + << wholeTrackobservationDataMin[0].GetPeak() << ','//8 + << wholeTrackobservationDataAverage[0].GetCrestFactor() << ',' //9 + << wholeTrackobservationDataStd[0].GetCrestFactor() << ',' //10 + << wholeTrackobservationDataMax[0].GetCrestFactor() << ',' //11 + << wholeTrackobservationDataMin[0].GetCrestFactor() << ',' //12 + << wholeTrackobservationDataAverage[0].GetZCR() << ',' //13 + << wholeTrackobservationDataStd[0].GetZCR() << ',' //14 + << wholeTrackobservationDataMax[0].GetZCR()<< ',' //15 + << wholeTrackobservationDataMin[0].GetZCR()<< ',' //16 + << wholeTrackobservationDataAverage[0].GetCentroid() << ',' //17 + << wholeTrackobservationDataStd[0].GetCentroid() << ',' //18 + << wholeTrackobservationDataMax[0].GetCentroid() << ',' //19 + << wholeTrackobservationDataMin[0].GetCentroid() << ',' //20 + << wholeTrackobservationDataAverage[0].GetSpread() << ',' //21 + << wholeTrackobservationDataStd[0].GetSpread() << ',' //22 + << wholeTrackobservationDataMax[0].GetSpread() << ',' //23 + << wholeTrackobservationDataMin[0].GetSpread() << ',' //24 + << wholeTrackobservationDataAverage[0].GetSkewness() << ',' //25 + << wholeTrackobservationDataStd[0].GetSkewness() << ',' //26 + << wholeTrackobservationDataMax[0].GetSkewness() << ',' //27 + << wholeTrackobservationDataMin[0].GetSkewness() << ',' //28 + << wholeTrackobservationDataAverage[0].GetKurtosis() << ',' //29 + << wholeTrackobservationDataStd[0].GetKurtosis() << ',' //30 + << wholeTrackobservationDataMax[0].GetKurtosis() << ',' //31 + << wholeTrackobservationDataMin[0].GetKurtosis() << ',' //32 + << wholeTrackobservationDataAverage[0].GetBrightness() << ',' //33 + << wholeTrackobservationDataStd[0].GetBrightness() << ',' //34 + << wholeTrackobservationDataMax[0].GetBrightness() << ',' //35 + << wholeTrackobservationDataMin[0].GetBrightness() << ',' //36 + << wholeTrackobservationDataAverage[0].GetFlatness() << ',' //37 + << wholeTrackobservationDataStd[0].GetFlatness() << ',' //38 + << wholeTrackobservationDataMax[0].GetFlatness() << ','//39 + << wholeTrackobservationDataMin[0].GetFlatness() << ','//40 + << wholeTrackobservationDataAverage[0].GetRollOff85() << ',' //41 + << wholeTrackobservationDataStd[0].GetRollOff85() << ',' //42 + << wholeTrackobservationDataMax[0].GetRollOff85() << ',' //43 + << wholeTrackobservationDataMin[0].GetRollOff85() << ',' //44 + << wholeTrackobservationDataAverage[0].GetRollOff95() << ',' //45 + << wholeTrackobservationDataStd[0].GetRollOff95() << ',' //46 + << wholeTrackobservationDataMax[0].GetRollOff95() << ',' //47 + << wholeTrackobservationDataMin[0].GetRollOff95() << ',' //48 + << wholeTrackobservationDataAverage[0].GetSpectralEntropy() << ','//49 + << wholeTrackobservationDataStd[0].GetSpectralEntropy() << ',' //50 + << wholeTrackobservationDataMax[0].GetSpectralEntropy() << ','//51 + << wholeTrackobservationDataMin[0].GetSpectralEntropy() << ','//52 + << wholeTrackobservationDataAverage[0].GetSpectralCF() << ','//53 + << wholeTrackobservationDataStd[0].GetSpectralCF() << ',' //54 + << wholeTrackobservationDataMax[0].GetSpectralCF() << ','//55 + << wholeTrackobservationDataMin[0].GetSpectralCF() << ','//56 + << wholeTrackobservationDataAverage[0].GetSpectralFlux() << ','//57 + << wholeTrackobservationDataStd[0].GetSpectralFlux() << ',' //58 + << wholeTrackobservationDataMax[0].GetSpectralFlux() << ','//59 + << wholeTrackobservationDataMin[0].GetSpectralFlux() << ','//60 + << wholeTrackobservationDataAverage[0].GetMFCCs()[0] << ','//61 + << wholeTrackobservationDataStd[0].GetMFCCs()[0] << ',' //62 + << wholeTrackobservationDataMax[0].GetMFCCs()[0] << ',' //47 + << wholeTrackobservationDataMin[0].GetMFCCs()[0] << ',' //48 + << wholeTrackobservationDataAverage[0].GetMFCCs()[1] << ',' //49 + << wholeTrackobservationDataStd[0].GetMFCCs()[1] << ',' //50 + << wholeTrackobservationDataMax[0].GetMFCCs()[1] << ',' //51 + << wholeTrackobservationDataMin[0].GetMFCCs()[1] << ',' //52 + << wholeTrackobservationDataAverage[0].GetMFCCs()[2] << ',' //53 + << wholeTrackobservationDataStd[0].GetMFCCs()[2] << ',' //54 + << wholeTrackobservationDataMax[0].GetMFCCs()[2] << ',' //55 + << wholeTrackobservationDataMin[0].GetMFCCs()[2] << ',' //56 + << wholeTrackobservationDataAverage[0].GetMFCCs()[3] << ',' //57 + << wholeTrackobservationDataStd[0].GetMFCCs()[3] << ',' //58 + << wholeTrackobservationDataMax[0].GetMFCCs()[3] << ',' //59 + << wholeTrackobservationDataMin[0].GetMFCCs()[3] << ',' //60 + << wholeTrackobservationDataAverage[0].GetMFCCs()[4] << ',' //61 + << wholeTrackobservationDataStd[0].GetMFCCs()[4] << ',' //62 + << wholeTrackobservationDataMax[0].GetMFCCs()[4] << ',' //63 + << wholeTrackobservationDataMin[0].GetMFCCs()[4] << ',' //64 + << wholeTrackobservationDataAverage[0].GetMFCCs()[5] << ',' //65 + << wholeTrackobservationDataStd[0].GetMFCCs()[5] << ',' //66 + << wholeTrackobservationDataMax[0].GetMFCCs()[5] << ',' //67 + << wholeTrackobservationDataMin[0].GetMFCCs()[5] << ',' //68 + << wholeTrackobservationDataAverage[0].GetMFCCs()[6] << ',' //69 + << wholeTrackobservationDataStd[0].GetMFCCs()[6] << ',' //70 + << wholeTrackobservationDataMax[0].GetMFCCs()[6] << ',' //71 + << wholeTrackobservationDataMin[0].GetMFCCs()[6] << ',' //72 + << wholeTrackobservationDataAverage[0].GetMFCCs()[7] << ',' //73 + << wholeTrackobservationDataStd[0].GetMFCCs()[7] << ',' //74 + << wholeTrackobservationDataMax[0].GetMFCCs()[7] << ',' //75 + << wholeTrackobservationDataMin[0].GetMFCCs()[7] << ',' //76 + << wholeTrackobservationDataAverage[0].GetMFCCs()[8] << ',' //77 + << wholeTrackobservationDataStd[0].GetMFCCs()[8] << ',' //78 + << wholeTrackobservationDataMax[0].GetMFCCs()[8] << ',' //79 + << wholeTrackobservationDataMin[0].GetMFCCs()[8] << ',' //80 + << wholeTrackobservationDataAverage[0].GetMFCCs()[9] << ',' //81 + << wholeTrackobservationDataStd[0].GetMFCCs()[9] << ',' //82 + << wholeTrackobservationDataMax[0].GetMFCCs()[9] << ',' //83 + << wholeTrackobservationDataMin[0].GetMFCCs()[9] << ',' //84 + << wholeTrackobservationDataAverage[0].GetMFCCs()[10] << ',' //85 + << wholeTrackobservationDataStd[0].GetMFCCs()[10] << ',' //86 + << wholeTrackobservationDataMax[0].GetMFCCs()[10] << ',' //87 + << wholeTrackobservationDataMin[0].GetMFCCs()[10] << ',' //88 + << wholeTrackobservationDataAverage[0].GetMFCCs()[11] << ',' //89 + << wholeTrackobservationDataStd[0].GetMFCCs()[11] << ',' //90 + << wholeTrackobservationDataMax[0].GetMFCCs()[11] << ',' //91 + << wholeTrackobservationDataMin[0].GetMFCCs()[11] << ',' //92 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[0] << ','//45 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[0] << ',' //46 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[0] << ',' //47 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[0] << ',' //48 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[1] << ',' //49 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[1] << ',' //50 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[1] << ',' //51 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[1] << ',' //52 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[2] << ',' //53 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[2] << ',' //54 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[2] << ',' //55 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[2] << ',' //56 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[3] << ',' //57 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[3] << ',' //58 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[3] << ',' //59 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[3] << ',' //60 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[4] << ',' //61 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[4] << ',' //62 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[4] << ',' //63 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[4] << ',' //64 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[5] << ',' //65 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[5] << ',' //66 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[5] << ',' //67 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[5] << ',' //68 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[6] << ',' //69 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[6] << ',' //70 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[6] << ',' //71 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[6] << ',' //72 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[7] << ',' //73 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[7] << ',' //74 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[7] << ',' //75 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[7] << ',' //76 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[8] << ',' //77 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[8] << ',' //78 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[8] << ',' //79 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[8] << ',' //80 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[9] << ',' //81 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[9] << ',' //82 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[9] << ',' //83 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[9] << ',' //84 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[10] << ',' //85 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[10] << ',' //86 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[10] << ',' //87 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[10] << ',' //88 + << wholeTrackobservationDataAverage[0].GetDeltaMFCCs()[11] << ',' //89 + << wholeTrackobservationDataStd[0].GetDeltaMFCCs()[11] << ',' //90 + << wholeTrackobservationDataMax[0].GetDeltaMFCCs()[11] << ',' //91 + << wholeTrackobservationDataMin[0].GetDeltaMFCCs()[11] << ',' //92 + << wholeTrackobservationDataAverage[0].GetSpectralContrast()[0] << ','//61 + << wholeTrackobservationDataStd[0].GetSpectralContrast()[0] << ',' //62 + << wholeTrackobservationDataMax[0].GetSpectralContrast()[0] << ',' //47 + << wholeTrackobservationDataMin[0].GetSpectralContrast()[0] << ',' //48 + << wholeTrackobservationDataAverage[0].GetSpectralContrast()[1] << ',' //49 + << wholeTrackobservationDataStd[0].GetSpectralContrast()[1] << ',' //50 + << wholeTrackobservationDataMax[0].GetSpectralContrast()[1] << ',' //51 + << wholeTrackobservationDataMin[0].GetSpectralContrast()[1] << ',' //52 + << wholeTrackobservationDataAverage[0].GetSpectralContrast()[2] << ',' //53 + << wholeTrackobservationDataStd[0].GetSpectralContrast()[2] << ',' //54 + << wholeTrackobservationDataMax[0].GetSpectralContrast()[2] << ',' //55 + << wholeTrackobservationDataMin[0].GetSpectralContrast()[2] << ',' //56 + << wholeTrackobservationDataAverage[0].GetSpectralContrast()[3] << ',' //57 + << wholeTrackobservationDataStd[0].GetSpectralContrast()[3] << ',' //58 + << wholeTrackobservationDataMax[0].GetSpectralContrast()[3] << ',' //59 + << wholeTrackobservationDataMin[0].GetSpectralContrast()[3] << ',' //60 + << wholeTrackobservationDataAverage[0].GetSpectralContrast()[4] << ',' //61 + << wholeTrackobservationDataStd[0].GetSpectralContrast()[4] << ',' //62 + << wholeTrackobservationDataMax[0].GetSpectralContrast()[4] << ',' //63 + << wholeTrackobservationDataMin[0].GetSpectralContrast()[4] << ',' //64 + << wholeTrackobservationDataAverage[0].GetSpectralContrast()[5] << ',' //65 + << wholeTrackobservationDataStd[0].GetSpectralContrast()[5] << ',' //66 + << wholeTrackobservationDataMax[0].GetSpectralContrast()[5] << ',' //67 + << wholeTrackobservationDataMin[0].GetSpectralContrast()[5] << ',' //68 + << wholeTrackobservationDataAverage[0].GetSpectralValley()[0] << ','//61 + << wholeTrackobservationDataStd[0].GetSpectralValley()[0] << ',' //62 + << wholeTrackobservationDataMax[0].GetSpectralValley()[0] << ',' //47 + << wholeTrackobservationDataMin[0].GetSpectralValley()[0] << ',' //48 + << wholeTrackobservationDataAverage[0].GetSpectralValley()[1] << ',' //49 + << wholeTrackobservationDataStd[0].GetSpectralValley()[1] << ',' //50 + << wholeTrackobservationDataMax[0].GetSpectralValley()[1] << ',' //51 + << wholeTrackobservationDataMin[0].GetSpectralValley()[1] << ',' //52 + << wholeTrackobservationDataAverage[0].GetSpectralValley()[2] << ',' //53 + << wholeTrackobservationDataStd[0].GetSpectralValley()[2] << ',' //54 + << wholeTrackobservationDataMax[0].GetSpectralValley()[2] << ',' //55 + << wholeTrackobservationDataMin[0].GetSpectralValley()[2] << ',' //56 + << wholeTrackobservationDataAverage[0].GetSpectralValley()[3] << ',' //57 + << wholeTrackobservationDataStd[0].GetSpectralValley()[3] << ',' //58 + << wholeTrackobservationDataMax[0].GetSpectralValley()[3] << ',' //59 + << wholeTrackobservationDataMin[0].GetSpectralValley()[3] << ',' //60 + << wholeTrackobservationDataAverage[0].GetSpectralValley()[4] << ',' //61 + << wholeTrackobservationDataStd[0].GetSpectralValley()[4] << ',' //62 + << wholeTrackobservationDataMax[0].GetSpectralValley()[4] << ',' //63 + << wholeTrackobservationDataMin[0].GetSpectralValley()[4] << ',' //64 + << wholeTrackobservationDataAverage[0].GetSpectralValley()[5] << ',' //65 + << wholeTrackobservationDataStd[0].GetSpectralValley()[5] << ',' //66 + << wholeTrackobservationDataMax[0].GetSpectralValley()[5] << ',' //67 + << wholeTrackobservationDataMin[0].GetSpectralValley()[5] << ',' //68 + << wholeTrackobservationDataAverage[0].GetLowEnergy() << ',' //93 + << wholeTrackobservationDataAverage[0].GetPeriodicity() << ',' //94 + << wholeTrackobservationDataAverage[0].GetEntropyOfEnergy() << ',' //95 << label << ',' ; foutWholeTrack << "\n"; } diff -r 761289a660c6 -r a64055168b9b Source/XMLWrite.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Source/XMLWrite.cpp Fri Feb 05 19:21:42 2016 +0000 @@ -0,0 +1,466 @@ +/* + ============================================================================== + + XMLWrite.cpp + Created: 1 Feb 2016 7:34:55pm + Author: David + + ============================================================================== +*/ + +#include "XMLWrite.h" +#include +#include + +XMLWrite::XMLWrite(){}; +XMLWrite::~XMLWrite(){}; + +static int count = 1; + +void XMLWrite::Write(std::string filename, FeatureData data) +{ + std::string wholetrackfilename = filename + std::to_string(data.GetPoolingTimeFactor()) + "Sec.xml"; + std::ofstream foutWholeTrack(wholetrackfilename, std::ios::app | std::ios::out); + + juce::XmlElement featureData("FeatureData" + std::to_string(count)); + + // create an inner element.. + juce::XmlElement* dataXML = new juce::XmlElement("Data"); + + std::string label = data.GetLabel(); + //std::string rmsavgdata; + //for (size_t j = 0; j < data.GetPooldedObservationDataAverage().size(); j++) + //{ + // rmsavgdata = rmsavgdata + ", " + std::to_string(data.GetPooldedObservationDataAverage()[j].GetRMS()); + //} + + //Whole Data + + juce::XmlElement* rms = new juce::XmlElement("rms"); + rms->setAttribute("FeatureType", "RMS"); + rms->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetRMS()); + rms->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetRMS()); + rms->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetRMS()); + rms->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetRMS()); + dataXML->addChildElement(rms); + + juce::XmlElement* peak = new juce::XmlElement("peak"); + peak->setAttribute("FeatureType", "Peak"); + peak->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetPeak()); + peak->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetPeak()); + peak->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetPeak()); + peak->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetPeak()); + dataXML->addChildElement(peak); + + juce::XmlElement* crestFactor = new juce::XmlElement("crestFactor"); + crestFactor->setAttribute("FeatureType", "CrestFactor"); + crestFactor->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetCrestFactor()); + crestFactor->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetCrestFactor()); + crestFactor->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetCrestFactor()); + crestFactor->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetCrestFactor()); + dataXML->addChildElement(crestFactor); + + juce::XmlElement* zcr = new juce::XmlElement("zcr"); + zcr->setAttribute("FeatureType", "ZCR"); + zcr->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetZCR()); + zcr->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetZCR()); + zcr->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetZCR()); + zcr->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetZCR()); + dataXML->addChildElement(zcr); + + juce::XmlElement* centroid = new juce::XmlElement("spectralCentroid"); + centroid->setAttribute("FeatureType", "SpectralCentroid"); + centroid->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetCentroid()); + centroid->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetCentroid()); + centroid->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetCentroid()); + centroid->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetCentroid()); + dataXML->addChildElement(centroid); + + juce::XmlElement* spread = new juce::XmlElement("spectralSpread"); + spread->setAttribute("FeatureType", "SpectralSpread"); + spread->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpread()); + spread->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpread()); + spread->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpread()); + spread->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpread()); + dataXML->addChildElement(spread); + + juce::XmlElement* skewness = new juce::XmlElement("spectralSkewness"); + skewness->setAttribute("FeatureType", "SpectralSkewness"); + skewness->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSkewness()); + skewness->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSkewness()); + skewness->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSkewness()); + skewness->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSkewness()); + dataXML->addChildElement(skewness); + + juce::XmlElement* kurtosis = new juce::XmlElement("spectralKurtosis"); + kurtosis->setAttribute("FeatureType", "SpectralKurtosis"); + kurtosis->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetKurtosis()); + kurtosis->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetKurtosis()); + kurtosis->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetKurtosis()); + kurtosis->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetKurtosis()); + dataXML->addChildElement(kurtosis); + + juce::XmlElement* brightness = new juce::XmlElement("spectralBrightness"); + brightness->setAttribute("FeatureType", "SpectralBrightness"); + brightness->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetBrightness()); + brightness->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetBrightness()); + brightness->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetBrightness()); + brightness->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetBrightness()); + dataXML->addChildElement(brightness); + + juce::XmlElement* flatness = new juce::XmlElement("Flatness"); + flatness->setAttribute("FeatureType", "Flatness"); + flatness->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetFlatness()); + flatness->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetFlatness()); + flatness->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetFlatness()); + flatness->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetFlatness()); + dataXML->addChildElement(flatness); + + juce::XmlElement* rolloff85 = new juce::XmlElement("rolloff85"); + rolloff85->setAttribute("FeatureType", "rolloff85"); + rolloff85->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetRollOff85()); + rolloff85->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetRollOff85()); + rolloff85->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetRollOff85()); + rolloff85->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetRollOff85()); + dataXML->addChildElement(rolloff85); + + juce::XmlElement* rolloff95 = new juce::XmlElement("rolloff95"); + rolloff95->setAttribute("FeatureType", "rolloff95"); + rolloff95->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetRollOff95()); + rolloff95->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetRollOff95()); + rolloff95->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetRollOff95()); + rolloff95->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetRollOff95()); + dataXML->addChildElement(rolloff95); + + juce::XmlElement* spectralEntropy = new juce::XmlElement("spectralEntropy"); + spectralEntropy->setAttribute("FeatureType", "spectralEntropy"); + spectralEntropy->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralEntropy()); + spectralEntropy->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralEntropy()); + spectralEntropy->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralEntropy()); + spectralEntropy->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralEntropy()); + dataXML->addChildElement(spectralEntropy); + + juce::XmlElement* spectralCrestFactor = new juce::XmlElement("spectralCrestFactor"); + spectralCrestFactor->setAttribute("FeatureType", "spectralCrestFactor"); + spectralCrestFactor->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralCF()); + spectralCrestFactor->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralCF()); + spectralCrestFactor->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralCF()); + spectralCrestFactor->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralCF()); + dataXML->addChildElement(spectralCrestFactor); + + juce::XmlElement* spectralFlux = new juce::XmlElement("spectralFlux"); + spectralFlux->setAttribute("FeatureType", "spectralFlux"); + spectralFlux->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralFlux()); + spectralFlux->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralFlux()); + spectralFlux->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralFlux()); + spectralFlux->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralFlux()); + dataXML->addChildElement(spectralFlux); + + juce::XmlElement* MFCCs = new juce::XmlElement("MFCCs"); + MFCCs->setAttribute("FeatureType", "MFCCs"); + + juce::XmlElement* MFCC1 = new juce::XmlElement("MFCC1"); + MFCC1->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[0]); + MFCC1->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[0]); + MFCC1->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[0]); + MFCC1->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[0]); + juce::XmlElement* dMFCC1 = new juce::XmlElement("deltaMFCC1"); + dMFCC1->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[0]); + dMFCC1->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[0]); + dMFCC1->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[0]); + dMFCC1->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[0]); + + juce::XmlElement* MFCC2 = new juce::XmlElement("MFCC2"); + MFCC2->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[1]); + MFCC2->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[1]); + MFCC2->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[1]); + MFCC2->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[1]); + juce::XmlElement* dMFCC2 = new juce::XmlElement("deltaMFCC2"); + dMFCC2->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[1]); + dMFCC2->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[1]); + dMFCC2->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[1]); + dMFCC2->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[1]); + + juce::XmlElement* MFCC3 = new juce::XmlElement("MFCC3"); + MFCC3->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[2]); + MFCC3->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[2]); + MFCC3->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[2]); + MFCC3->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[2]); + juce::XmlElement* dMFCC3 = new juce::XmlElement("deltaMFCC3"); + dMFCC3->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[2]); + dMFCC3->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[2]); + dMFCC3->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[2]); + dMFCC3->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[2]); + + juce::XmlElement* MFCC4 = new juce::XmlElement("MFCC4"); + MFCC4->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[3]); + MFCC4->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[3]); + MFCC4->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[3]); + MFCC4->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[3]); + juce::XmlElement* dMFCC4 = new juce::XmlElement("deltaMFCC4"); + dMFCC4->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[3]); + dMFCC4->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[3]); + dMFCC4->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[3]); + dMFCC4->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[3]); + + juce::XmlElement* MFCC5 = new juce::XmlElement("MFCC5"); + MFCC5->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[4]); + MFCC5->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[4]); + MFCC5->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[4]); + MFCC5->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[4]); + juce::XmlElement* dMFCC5 = new juce::XmlElement("deltaMFCC5"); + dMFCC5->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[4]); + dMFCC5->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[4]); + dMFCC5->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[4]); + dMFCC5->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[4]); + + juce::XmlElement* MFCC6 = new juce::XmlElement("MFCC6"); + MFCC6->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[5]); + MFCC6->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[5]); + MFCC6->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[5]); + MFCC6->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[5]); + juce::XmlElement* dMFCC6 = new juce::XmlElement("deltaMFCC6"); + dMFCC6->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[5]); + dMFCC6->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[5]); + dMFCC6->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[5]); + dMFCC6->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[5]); + + juce::XmlElement* MFCC7 = new juce::XmlElement("MFCC7"); + MFCC7->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[6]); + MFCC7->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[6]); + MFCC7->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[6]); + MFCC7->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[6]); + juce::XmlElement* dMFCC7 = new juce::XmlElement("deltaMFCC7"); + dMFCC7->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[6]); + dMFCC7->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[6]); + dMFCC7->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[6]); + dMFCC7->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[6]); + + juce::XmlElement* MFCC8 = new juce::XmlElement("MFCC8"); + MFCC8->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[7]); + MFCC8->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[7]); + MFCC8->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[7]); + MFCC8->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[7]); + juce::XmlElement* dMFCC8 = new juce::XmlElement("deltaMFCC8"); + dMFCC8->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[7]); + dMFCC8->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[7]); + dMFCC8->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[7]); + dMFCC8->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[7]); + + juce::XmlElement* MFCC9 = new juce::XmlElement("MFCC9"); + MFCC9->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[8]); + MFCC9->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[8]); + MFCC9->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[8]); + MFCC9->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[8]); + juce::XmlElement* dMFCC9 = new juce::XmlElement("deltaMFCC9"); + dMFCC9->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[8]); + dMFCC9->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[8]); + dMFCC9->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[8]); + dMFCC9->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[8]); + + juce::XmlElement* MFCC10 = new juce::XmlElement("MFCC10"); + MFCC10->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[9]); + MFCC10->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[9]); + MFCC10->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[9]); + MFCC10->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[9]); + juce::XmlElement* dMFCC10 = new juce::XmlElement("deltaMFCC10"); + dMFCC10->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[9]); + dMFCC10->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[9]); + dMFCC10->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[9]); + dMFCC10->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[9]); + + juce::XmlElement* MFCC11 = new juce::XmlElement("MFCC11"); + MFCC11->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[10]); + MFCC11->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[10]); + MFCC11->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[10]); + MFCC11->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[10]); + juce::XmlElement* dMFCC11 = new juce::XmlElement("deltaMFCC11"); + dMFCC11->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[10]); + dMFCC11->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[10]); + dMFCC11->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[10]); + dMFCC11->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[10]); + + juce::XmlElement* MFCC12 = new juce::XmlElement("MFCC12"); + MFCC12->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetMFCCs()[11]); + MFCC12->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetMFCCs()[11]); + MFCC12->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetMFCCs()[11]); + MFCC12->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetMFCCs()[11]); + juce::XmlElement* dMFCC12 = new juce::XmlElement("deltaMFCC12"); + dMFCC12->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetDeltaMFCCs()[11]); + dMFCC12->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[11]); + dMFCC12->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetDeltaMFCCs()[11]); + dMFCC12->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetDeltaMFCCs()[11]); + + + MFCCs->addChildElement(MFCC1); + MFCCs->addChildElement(dMFCC1); + MFCCs->addChildElement(MFCC2); + MFCCs->addChildElement(dMFCC2); + MFCCs->addChildElement(MFCC3); + MFCCs->addChildElement(dMFCC3); + MFCCs->addChildElement(MFCC4); + MFCCs->addChildElement(dMFCC4); + MFCCs->addChildElement(MFCC5); + MFCCs->addChildElement(dMFCC5); + MFCCs->addChildElement(MFCC6); + MFCCs->addChildElement(dMFCC6); + MFCCs->addChildElement(MFCC7); + MFCCs->addChildElement(dMFCC7); + MFCCs->addChildElement(MFCC8); + MFCCs->addChildElement(dMFCC8); + MFCCs->addChildElement(MFCC9); + MFCCs->addChildElement(dMFCC9); + MFCCs->addChildElement(MFCC10); + MFCCs->addChildElement(dMFCC10); + MFCCs->addChildElement(MFCC11); + MFCCs->addChildElement(dMFCC11); + MFCCs->addChildElement(MFCC12); + MFCCs->addChildElement(dMFCC12); + dataXML->addChildElement(MFCCs); + + juce::XmlElement* spectralContrast = new juce::XmlElement("spectralContrast"); + spectralContrast->setAttribute("FeatureType", "spectralContrast"); + + juce::XmlElement* sc1 = new juce::XmlElement("SC1"); + sc1->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralContrast()[0]); + sc1->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[0]); + sc1->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralContrast()[0]); + sc1->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[0]); + + juce::XmlElement* sc2 = new juce::XmlElement("SC2"); + sc2->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralContrast()[1]); + sc2->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[1]); + sc2->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralContrast()[1]); + sc2->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[1]); + + juce::XmlElement* sc3 = new juce::XmlElement("SC3"); + sc3->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralContrast()[2]); + sc3->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[2]); + sc3->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralContrast()[2]); + sc3->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[2]); + + juce::XmlElement* sc4 = new juce::XmlElement("SC4"); + sc4->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralContrast()[3]); + sc4->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[3]); + sc4->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralContrast()[3]); + sc4->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[3]); + + juce::XmlElement* sc5 = new juce::XmlElement("SC5"); + sc5->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralContrast()[4]); + sc5->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[4]); + sc5->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralContrast()[4]); + sc5->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[4]); + + juce::XmlElement* sc6 = new juce::XmlElement("SC6"); + sc6->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralContrast()[5]); + sc6->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[5]); + sc6->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralContrast()[5]); + sc6->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralContrast()[5]); + + spectralContrast->addChildElement(sc1); + spectralContrast->addChildElement(sc2); + spectralContrast->addChildElement(sc3); + spectralContrast->addChildElement(sc4); + spectralContrast->addChildElement(sc5); + spectralContrast->addChildElement(sc6); + dataXML->addChildElement(spectralContrast); + + juce::XmlElement* spectralValley = new juce::XmlElement("spectralValley"); + spectralValley->setAttribute("FeatureType", "spectralValley"); + + juce::XmlElement* sv1 = new juce::XmlElement("SV1"); + sv1->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralValley()[0]); + sv1->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[0]); + sv1->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralValley()[0]); + sv1->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[0]); + + juce::XmlElement* sv2 = new juce::XmlElement("SV2"); + sv2->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralValley()[1]); + sv2->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[1]); + sv2->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralValley()[1]); + sv2->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[1]); + + juce::XmlElement* sv3 = new juce::XmlElement("SV3"); + sv3->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralValley()[2]); + sv3->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[2]); + sv3->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralValley()[2]); + sv3->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[2]); + + juce::XmlElement* sv4 = new juce::XmlElement("SV4"); + sv4->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralValley()[3]); + sv4->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[3]); + sv4->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralValley()[3]); + sv4->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[3]); + + juce::XmlElement* sv5 = new juce::XmlElement("SV5"); + sv5->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralValley()[4]); + sv5->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[4]); + sv5->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralValley()[4]); + sv5->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[4]); + + juce::XmlElement* sv6 = new juce::XmlElement("SV6"); + sv6->setAttribute("Average", data.GetPooldedObservationDataAverage()[0].GetSpectralValley()[5]); + sv6->setAttribute("StandardDeviation", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[5]); + sv6->setAttribute("Maximum", data.GetPooldedObservationDataMax()[0].GetSpectralValley()[5]); + sv6->setAttribute("Minimum", data.GetPooldedObservationDataStd()[0].GetSpectralValley()[5]); + + spectralValley->addChildElement(sv1); + spectralValley->addChildElement(sv2); + spectralValley->addChildElement(sv3); + spectralValley->addChildElement(sv4); + spectralValley->addChildElement(sv5); + spectralValley->addChildElement(sv6); + dataXML->addChildElement(spectralValley); + + juce::XmlElement* lowEnergy = new juce::XmlElement("lowEnergy"); + lowEnergy->setAttribute("FeatureType", "lowEnergy"); + lowEnergy->setAttribute("Value", data.GetPooldedObservationDataAverage()[0].GetLowEnergy()); + dataXML->addChildElement(lowEnergy); + + juce::XmlElement* periodicity = new juce::XmlElement("periodicity"); + periodicity->setAttribute("FeatureType", "periodicity"); + periodicity->setAttribute("Value", data.GetPooldedObservationDataAverage()[0].GetPeriodicity()); + dataXML->addChildElement(periodicity); + + juce::XmlElement* entropyOfEnergy = new juce::XmlElement("entropyOfEnergy"); + entropyOfEnergy->setAttribute("FeatureType", "entropyOfEnergy"); + entropyOfEnergy->setAttribute("Value", data.GetPooldedObservationDataAverage()[0].GetEntropyOfEnergy()); + dataXML->addChildElement(entropyOfEnergy); + + + dataXML->setAttribute("Label", label); + featureData.addChildElement(dataXML); + + + if (foutWholeTrack.is_open()) + { + + // now we can turn the whole thing into a text document.. + juce::String myXmlDoc = featureData.createDocument(juce::String::empty); + foutWholeTrack << myXmlDoc.toStdString(); + + } + else + { + std::cout << "ERROR: Can't write to .csv."; + } + + foutWholeTrack.close(); + + std::string dave = "Files written: " + std::to_string(count) + " Obs Data Size:" + std::to_string(data.GetPooldedObservationDataAverage().size()) + "\n"; + // OutputDebugString(dave.c_str()); + count++; + +} + +// Get current date/time, format is YYYY-MM-DD.HH:mm:ss +const std::string XMLWrite::currentDateTime() +{ + time_t now = time(0); + struct tm tstruct; + char buf[80]; + tstruct = *localtime(&now); + strftime(buf, sizeof(buf), "%Y-%m-%d.%H-%M-%S", &tstruct); + + return buf; +} \ No newline at end of file diff -r 761289a660c6 -r a64055168b9b Source/XMLWrite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Source/XMLWrite.h Fri Feb 05 19:21:42 2016 +0000 @@ -0,0 +1,30 @@ +/* + ============================================================================== + + XMLWrite.h + Created: 1 Feb 2016 7:34:54pm + Author: David + + ============================================================================== +*/ + +#ifndef XMLWRITE_H_INCLUDED +#define XMLWRITE_H_INCLUDED + +#include "ObservationData.h" +#include "FeatureData.h" +#include "../JuceLibraryCode/modules/juce_core/juce_core.h" + +class XMLWrite +{ +public: + XMLWrite(); + ~XMLWrite(); + void Write(std::string filename, FeatureData data); + const std::string currentDateTime(); +}; + + + + +#endif // XMLWRITE_H_INCLUDED