annotate Code/ProcessDatabase.m @ 0:ea0c737c6323

first commit
author Dawn Black <dawn.black@eecs.qmul.ac.uk>
date Thu, 26 Jul 2012 14:46:25 +0100
parents
children a3d62264030c
rev   line source
dawn@0 1 function [] = ProcessDatabase( databaseName, functionName, sampleStartNum, OVERWRITE )
dawn@0 2 % run from D:\Dropbox\BUPTResearch2011\EmotionDetectionCode\Code
dawn@0 3 machineName = getenv('COMPUTERNAME');
dawn@0 4
dawn@0 5 switch machineName
dawn@0 6 case 'LAPTOP'
dawn@0 7 % for Dawn's laptop
dawn@0 8 root = 'D:\Dropbox\'
dawn@0 9 case 'SLATE1'
dawn@0 10 % for Dawn's Slate
dawn@0 11 root = 'E:\Dropbox\'
dawn@0 12 case 'DAWNBLACK-PC'
dawn@0 13 % for Dawn's work PC
dawn@0 14 root = 'C:\Users\dawn\Dropbox\'
dawn@0 15 end
dawn@0 16
dawn@0 17 addpath ([root 'BUPTResearch2011\emotionDetectionCode\Code'])
dawn@0 18 addpath ([root 'BUPTResearch2011\emotionDetectionCode\Code\Descriptors\Matlab\MPEG7'])
dawn@0 19 addpath ([root 'BUPTResearch2011\emotionDetectionCode\Code\Descriptors\Matlab\Common'])
dawn@0 20 addpath ([root 'BUPTResearch2011\emotionDetectionCode\Code\Descriptors\Matlab\MPEG7\FromWeb'])
dawn@0 21 addpath ([root 'BUPTResearch2011\emotionDetectionCode\Code\Descriptors\PRAAT'])
dawn@0 22 addpath ([root 'BUPTResearch2011\emotionDetectionCode\Code\Collation'])
dawn@0 23 addpath ([root 'BUPTResearch2011\emotionDetectionCode\Code\General'])
dawn@0 24
dawn@0 25 switch databaseName
dawn@0 26 case 'ChineseOpera'
dawn@0 27 cd([root 'BUPTResearch2011/Data/Opera/TestDatabase'])
dawn@0 28 startEmotion = 4;
dawn@0 29 case 'MandarinSpeech'
dawn@0 30 cd([root 'BUPTResearch2011/Data/Database/EditedRecording'])
dawn@0 31 startEmotion = 3;
dawn@0 32 case 'SpeechTestFiles'
dawn@0 33 cd([root 'BUPTResearch2011\Data\SpeechTestFiles\MyAnnotatedFiles'])
dawn@0 34 startEmotion = 3;
dawn@0 35 end
dawn@0 36
dawn@0 37 fileStructure = dir;
dawn@0 38
dawn@0 39 % how many samples do we have?
dawn@0 40 noOfSamples = size( fileStructure );
dawn@0 41 firstfileOpen = 1;
dawn@0 42
dawn@0 43 if( sampleStartNum < 3 )
dawn@0 44 sampleStartNum = 3;
dawn@0 45 end
dawn@0 46
dawn@0 47 for sampleNum = sampleStartNum : noOfSamples(1)
dawn@0 48 sampleDirName = fileStructure(sampleNum).name
dawn@0 49 if( fileStructure(sampleNum).isdir == 1 ) % only directories
dawn@0 50 cd( sampleDirName );
dawn@0 51 % how many emotions for that sample?
dawn@0 52 validEmotionList = dir;
dawn@0 53 noOfEmotions = size( validEmotionList );
dawn@0 54
dawn@0 55 for emotionNum = startEmotion : noOfEmotions(1)
dawn@0 56 emotionName = validEmotionList(emotionNum).name;
dawn@0 57 cd( emotionName );
dawn@0 58 % how many samples for that emotion?
dawn@0 59 sampleNames = dir;
dawn@0 60 noOfSamples = size( sampleNames );
dawn@0 61
dawn@0 62 for sampleNumber = 3 : noOfSamples(1)
dawn@0 63 if( sampleNames(sampleNumber).isdir == 0 ) % skip directories
dawn@0 64 currentSampleName = sampleNames(sampleNumber).name
dawn@0 65 % get the file type
dawn@0 66 extName = currentSampleName(length( currentSampleName ) - 3: end);
dawn@0 67 % is it a .wav file?
dawn@0 68 if strcmp( extName, '.wav' )
dawn@0 69 newDirName = currentSampleName( 1 : length( currentSampleName ) - 4 );
dawn@0 70 % if none exists, make a new directory for all the results of
dawn@0 71 % our calculations.
dawn@0 72 mkdir( [ newDirName '_metrics'] );
dawn@0 73 cd ( [ newDirName '_metrics'] );
dawn@0 74
dawn@0 75 % call your function here
dawn@0 76 switch functionName
dawn@0 77 % functions that start with 'get' simply read
dawn@0 78 % from existing text files
dawn@0 79 % functions that start with 'detect' check if
dawn@0 80 % the results file already exists, if they do
dawn@0 81 % not (or the OVERWRITE flag is true) then the
dawn@0 82 % results are calculated afresh.
dawn@0 83
dawn@0 84 % case 'getsampleDependantThresholds'
dawn@0 85 % statsFileName = '../../../../FeatureSets/singingsampleDependantThresholds.txt';
dawn@0 86 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 87 % % is this the first sample in this emotion for
dawn@0 88 % % this sample?
dawn@0 89 % if( sampleNumber == 3 )
dawn@0 90 % if ( firstfileOpen == 0 )
dawn@0 91 % if(strfind( oldDirName , 'fem') > 0 )
dawn@0 92 % sampleName = oldDirName( 6 : end );
dawn@0 93 % meanET = mean( energyThreshold );
dawn@0 94 % meanSCT = mean( spectralCentroidThreshold );
dawn@0 95 % fprintf( statsFileID, '%s \t %f \t %f \n', sampleName, meanET, meanSCT );
dawn@0 96 % elseif(strfind( oldDirName , 'male') > 0 )
dawn@0 97 % sampleName = oldDirName( 6 : end );
dawn@0 98 % meanET = mean( energyThreshold );
dawn@0 99 % meanSCT = mean( spectralCentroidThreshold );
dawn@0 100 % fprintf( statsFileID, '%s \t %f \t %f \n', sampleName, meanET, meanSCT );
dawn@0 101 % end
dawn@0 102 % end
dawn@0 103 %
dawn@0 104 % spectralCentroidThreshold = [];
dawn@0 105 % energyThreshold = [];
dawn@0 106 % firstfileOpen = 0;
dawn@0 107 % end
dawn@0 108 %
dawn@0 109 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 110 % [st , et] = getsampleDependantThresholds( newDirName, x, fs, statsFileID, frameLength, noOfFrames );
dawn@0 111 % spectralCentroidThreshold = [spectralCentroidThreshold st];
dawn@0 112 % energyThreshold = [energyThreshold et];
dawn@0 113 % oldDirName = newDirName;
dawn@0 114 %
dawn@0 115 % fclose( statsFileID );
dawn@0 116 % case 'getPitchStatistics'
dawn@0 117 % statsHeaderFileName = '../../../../FeatureSets/singingHeaderPitchStats.txt';
dawn@0 118 % statsHeaderFileID = fopen( statsHeaderFileName, 'w' );
dawn@0 119 % if( firstfileOpen == 1 )
dawn@0 120 % fprintf( statsHeaderFileID, 'name \t unvoiced to voiced frame ratio \t mean voiced pitch \t median voiced pitch \t stdev voiced pitch \t variance voiced pitch \t min voiced pitch \t max voiced pitch \t range voiced pitch \t mean voiced pitch grad \t median voiced pitch grad \t stdev pitch grad \t variance voiced pitch grad \t min voiced pitch grad \t max voiced pitch grad \t range voiced pitch grad \n');
dawn@0 121 % firstfileOpen = 0;
dawn@0 122 % end
dawn@0 123 % fclose(statsHeaderFileID);
dawn@0 124 %
dawn@0 125 % statsFileName = '../../../../FeatureSets/singingPitchStats.txt';
dawn@0 126 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 127 %
dawn@0 128 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 129 % getPitchStatistics( newDirName, x, fs, statsFileID, frameLength, noOfFrames );
dawn@0 130 % fclose( statsFileID );
dawn@0 131 %
dawn@0 132 %
dawn@0 133 %
dawn@0 134 %
dawn@0 135 %
dawn@0 136 % %%%%%%%%%%%%%%% careful %%%%%%%%%%%%%%%
dawn@0 137 % case 'getHNRStatistics'
dawn@0 138 % statsHeaderFileName = '../../../../FeatureSets/singingHeaderHNRStats.txt';
dawn@0 139 % statsHeaderFileID = fopen( statsHeaderFileName, 'w' );
dawn@0 140 % if( firstfileOpen == 1 )
dawn@0 141 % fprintf( statsHeaderFileID, 'name \t \t \t \t \t \n');
dawn@0 142 % firstfileOpen = 0;
dawn@0 143 % end
dawn@0 144 % fclose(statsHeaderFileID);
dawn@0 145 %
dawn@0 146 % statsFileName = '../../../../FeatureSets/singingHNRStats.txt';
dawn@0 147 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 148 %
dawn@0 149 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 150 % getHNRStatistics( newDirName, x, fs, statsFileID, frameLength, noOfFrames );
dawn@0 151 % fclose( statsFileID );
dawn@0 152 %
dawn@0 153 %
dawn@0 154 %
dawn@0 155 %
dawn@0 156 % case 'getEnergyStatistics'
dawn@0 157 % statsFileName = '../../../../FeatureSets/singingEnergyStats.txt';
dawn@0 158 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 159 % if( firstfileOpen == 1 )
dawn@0 160 % fprintf( statsFileID, 'name \t mean energy \t mean voiced energy \t mean unvoiced energy \n');
dawn@0 161 % firstfileOpen = 0;
dawn@0 162 % end
dawn@0 163 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 164 % getEnergyStatistics( newDirName, x, fs, statsFileID, frameLength, noOfFrames );
dawn@0 165 % fclose( statsFileID );
dawn@0 166 %
dawn@0 167 %
dawn@0 168 % % %%%%% for energy-related features %%%%%
dawn@0 169 % % case 'getOtherEnergyStatistics'
dawn@0 170 % % statsFileName = '../../../../FeatureSets/singingOtherEnergyStats.txt';
dawn@0 171 % % statsFileID = fopen( statsFileName, 'a' );
dawn@0 172 % % if( firstfileOpen == 1 )
dawn@0 173 % % fprintf( statsFileID, 'name \t derivation of non silent energy \t derivation of voiced energy \t derivation of unvoiced energy \n');
dawn@0 174 % % firstfileOpen = 0;
dawn@0 175 % % end
dawn@0 176 % % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 177 % % getOtherEnergyStatistics( newDirName, x, fs, statsFileID, frameLength, noOfFrames );
dawn@0 178 % % fclose( statsFileID );
dawn@0 179 %
dawn@0 180 %
dawn@0 181 %
dawn@0 182 % case 'getBasicDescriptors'
dawn@0 183 % % includes audio waveform and audio power
dawn@0 184 % statsFileName = '../../../../FeatureSets/singingbasicDescriptors.txt';
dawn@0 185 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 186 % if( firstfileOpen == 1 )
dawn@0 187 % fprintf( statsFileID, 'name \t meanAWF \t STDAWF \t minAWF \t maxAWF \t rangeAWF \t meanAP \t STDAP \t minAP \t maxAP \t rangeAP \t meanHR \t STDHR \t minHR \t maxHR \t rangeHR \n');
dawn@0 188 % firstfileOpen = 0;
dawn@0 189 % end
dawn@0 190 %
dawn@0 191 % getBasicDescriptors( newDirName, statsFileID );
dawn@0 192 % fclose( statsFileID );
dawn@0 193 % case 'getBasicSpectralDescriptors'
dawn@0 194 % % includes audio spectrum envelope, audio spectrum
dawn@0 195 % % centroid, audio spectrum spread, audio spectrum flatness
dawn@0 196 % statsFileName = '../../../../FeatureSets/singingbasicSpectralDescriptors.txt';
dawn@0 197 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 198 % % Add a header column
dawn@0 199 % if( firstfileOpen == 1 )
dawn@0 200 % fprintf( statsFileID, ' name \t meanASE \t STDASE \t minASE \t maxASE \t rangeASE \t meanASC \t STDASC \t minASC \t maxASC \t rangeASC \t meanASS \t STDASS \t minASS \t maxASS \t rangeASS \t meanASF \t STDASF \t minASF \t maxASF \t rangeASF \n');
dawn@0 201 % % fprintf( statsFileID, ' name \t meanAWE \t STDAWE \t minAWE \t maxAWE \t rangeAWE \t meanAP \t STDAP \t minAP \t maxAP \t rangeAP \n');
dawn@0 202 % firstfileOpen = 0;
dawn@0 203 % end
dawn@0 204 %
dawn@0 205 % getBasicSpectralDescriptors1( newDirName, statsFileID );
dawn@0 206 % fclose( statsFileID );
dawn@0 207 % disp('NOT FINISHED');
dawn@0 208 % case 'getTemporalTimbralDescriptors'
dawn@0 209 %
dawn@0 210 % % includes log attack time and temporal
dawn@0 211 % % centroid
dawn@0 212 % statsFileName = '../../../../FeatureSets/singingtemporalTimbralDescriptors.txt';
dawn@0 213 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 214 % % Add a header column
dawn@0 215 % if( firstfileOpen == 1)
dawn@0 216 % fprintf( statsFileID, ' name \t temporal centriod \t log attack time \n');
dawn@0 217 % firstfileOpen = 0;
dawn@0 218 % end
dawn@0 219 %
dawn@0 220 % getTemporalTimbralDescriptors( newDirName, statsFileID );
dawn@0 221 % fclose( statsFileID );
dawn@0 222 % case 'getSpectralTimbralDescriptors'
dawn@0 223 % % collate the Harmonic Spectral Centroid,
dawn@0 224 % % Harmonmic Spectral Deviation, Harmonic
dawn@0 225 % % Spectral Spread, Harmonic Spectral Variation
dawn@0 226 % % and Spectral Centroid
dawn@0 227 %
dawn@0 228 % statsFileName = '../../../../FeatureSets/singingspectralTimbralDescriptors.txt';
dawn@0 229 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 230 % % Add a header column
dawn@0 231 % if( firstfileOpen == 1)
dawn@0 232 % fprintf( statsFileID, ' name \t HSC \t HSD \t HSS \t HSV \t SC \n');
dawn@0 233 % firstfileOpen = 0;
dawn@0 234 % end
dawn@0 235 %
dawn@0 236 % getSpectralTimbralDescriptors( newDirName, statsFileID );
dawn@0 237 % fclose( statsFileID );
dawn@0 238 % case 'getMFCCs'
dawn@0 239 % if( firstfileOpen )
dawn@0 240 % statsFileName = '../../../../FeatureSets/singingMFCCDescriptorsHeader.txt';
dawn@0 241 % statsFileID = fopen( statsFileName, 'w' );
dawn@0 242 %
dawn@0 243 % % Add a header file
dawn@0 244 % % putMFCCHeader( statsFileID );
dawn@0 245 % fclose( statsFileID );
dawn@0 246 % end
dawn@0 247 %
dawn@0 248 % statsFileName = '../../../../FeatureSets/singingMFCCDescriptors.txt';
dawn@0 249 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 250 %
dawn@0 251 % getMFCCStatistics( newDirName, statsFileID );
dawn@0 252 % fclose( statsFileID );
dawn@0 253 %
dawn@0 254 % %lin
dawn@0 255 case 'getPRAAT'
dawn@0 256 % collate all Shimmer values
dawn@0 257 statsFileName = '../../../../../../../TestResults/singingPRAATStats.txt';
dawn@0 258 statsFileID = fopen( statsFileName, 'w' );
dawn@0 259 % Add a header row
dawn@0 260 if( firstfileOpen == 1 )
dawn@0 261 fprintf( statsFileID, 'Metrics calculated using the PRAAT software. \n' );
dawn@0 262 fprintf( statsFileID, ' name \t JITTER: ddp \t local \t ppq5 \t rap \t SHIMMER: local \t dda \t apq3 \t apq5 \t apq11 \t FORMANTS: number of formants \t positions \t bandwidths \n');
dawn@0 263 firstfileOpen = 0;
dawn@0 264 end
dawn@0 265
dawn@0 266 get_PRAAT( newDirName, statsFileID );
dawn@0 267 fclose( statsFileID );
dawn@0 268
dawn@0 269 % case 'getJitter'
dawn@0 270 % % collate Jitter
dawn@0 271 % statsFileName = '../../../../FeatureSets/singingJitterStats.txt';
dawn@0 272 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 273 %
dawn@0 274 % getJitter( newDirName, statsFileID );
dawn@0 275 % fclose( statsFileID );
dawn@0 276 %
dawn@0 277 %
dawn@0 278 %
dawn@0 279 % %%%%% get all the pitch and energy related features
dawn@0 280
dawn@0 281
dawn@0 282 % case 'getFeaturesOfDuration'
dawn@0 283 % % collate number, mean and ratio duration of
dawn@0 284 % % unvoiced and voiced sounds, median and
dawn@0 285 % % standard deviation number of voiced sounds
dawn@0 286 % statsFileName = '../../../../FeatureSets/singingDurationStats.txt';
dawn@0 287 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 288 % getFeaturesOfDuration( newDirName, statsFileID );
dawn@0 289 % fclose( statsFileID );
dawn@0 290 %
dawn@0 291 % case 'getFeaturesOfRelativePitch'
dawn@0 292 % % collate relative pitch maximum, minimum and
dawn@0 293 % % the position of those pitches
dawn@0 294 % statsFileName = '../../../../FeatureSets/singingRelativePitchStats.txt';
dawn@0 295 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 296 % getFeaturesOfRelativePitch( newDirName, statsFileID );
dawn@0 297 % fclose( statsFileID );
dawn@0 298 %
dawn@0 299 % case 'getFeaturesOfRelativeEnergyGradient'
dawn@0 300 % % collate the value and position of relative
dawn@0 301 % % maximum of energy gradient
dawn@0 302 % statsFileName = '../../../../FeatureSets/singingRelativeEnergyGradientStats.txt';
dawn@0 303 % statsFileID = fopen( statsFileName, 'a' );
dawn@0 304 % getFeaturesOfRelativeEnergyGradient( newDirName, statsFileID );
dawn@0 305 % fclose( statsFileID );
dawn@0 306 %
dawn@0 307 %
dawn@0 308 %
dawn@0 309 case 'calculatePitch'
dawn@0 310 detect_pitch( currentSampleName, OVERWRITE );
dawn@0 311
dawn@0 312 case 'calculateSilence'
dawn@0 313 detect_silence( currentSampleName, OVERWRITE );
dawn@0 314
dawn@0 315 case 'calculateVUV'
dawn@0 316 % find the voiced and unvoiced frames using
dawn@0 317 % the harmonic ratio and pitch information
dawn@0 318 detect_VoicedUnvoiced( currentSampleName, OVERWRITE );
dawn@0 319
dawn@0 320 % case 'calculateAudioWaveform'
dawn@0 321 %
dawn@0 322 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 323 % AW_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 324 %
dawn@0 325 % case 'calculateAudioSpectrumEnvelope'
dawn@0 326 %
dawn@0 327 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 328 % ASE_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 329 %
dawn@0 330 % case 'calculateAudioSpectrumCentriodAndSpread'
dawn@0 331 %
dawn@0 332 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 333 % ASC_ASS_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 334 %
dawn@0 335 % case 'calculateAudioSpectrumBasisAndProjection'
dawn@0 336 %
dawn@0 337 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 338 % ASB_ASP_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 339 %
dawn@0 340 case 'calculateAudioPower'
dawn@0 341
dawn@0 342 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 343 detect_AudioPower( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 344 %
dawn@0 345 % case 'calculateLogAttackTIme'
dawn@0 346 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 347 % LAT_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 348 %
dawn@0 349 % case 'calculateTemporalCentroid'
dawn@0 350 %
dawn@0 351 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 352 % TC_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 353 %
dawn@0 354 % case 'calculateHarmonicRatio'
dawn@0 355 %
dawn@0 356 % % can't find this function yet
dawn@0 357 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 358 % HR_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 359 %
dawn@0 360 case 'calculateHarmonicNoiseRatio'
dawn@0 361 detect_HNR( currentSampleName, OVERWRITE );
dawn@0 362 %
dawn@0 363 % case 'calculateSpectralTimbralDescriptors'
dawn@0 364 %
dawn@0 365 % % these are best calculated together.
dawn@0 366 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 367 % spectralTimbralDescriptors( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 368
dawn@0 369 case 'calculateAudioSpectrumFlatness'
dawn@0 370
dawn@0 371 [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 372 AudioSpectralFlatness_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 373
dawn@0 374 % case 'calculateMFCCs'
dawn@0 375 %
dawn@0 376 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 377 % MFCC_Detection( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 378 %
dawn@0 379 % case 'calculatesampleDependantThresholds'
dawn@0 380 %
dawn@0 381 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 382 % sampleDependantThresholds( currentSampleName, x, fs, frameLength, noOfFrames );
dawn@0 383 %
dawn@0 384 %
dawn@0 385 % %%%%% pitch related features %%%%%
dawn@0 386 % case 'calculatesampleVoicedSoundDuration'
dawn@0 387 %
dawn@0 388 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 389 % getVoicedSoundDuration( currentSampleName, x, fs, noOfFrames, frameLength );
dawn@0 390 %
dawn@0 391 % case 'calculatesampleRelativePitch'
dawn@0 392 %
dawn@0 393 % singingpitchStatsFileName = 'singingpitchStats.txt';
dawn@0 394 % singingpitchStatsFileID = fopen( singingpitchStatsFileName, 'r' );
dawn@0 395 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 396 % getRelativePitch( singingpitchStatsFileID, currentSampleName, x, fs, noOfFrames, frameLength, 7 );
dawn@0 397 % fclose(singingpitchStatsFileID);
dawn@0 398 %
dawn@0 399 % case 'calculatesampleRelativePitchFeatures'
dawn@0 400 %
dawn@0 401 % singingpitchStatsFileName1 = '../../../../FeatureSets/singingpitchStats.txt';
dawn@0 402 % singingpitchStatsFileID1 = fopen( singingpitchStatsFileName1, 'r' );
dawn@0 403 % singingpitchStatsFileName2 = 'singingpitchStats.txt';
dawn@0 404 % singingpitchStatsFileID2 = fopen( singingpitchStatsFileName2, 'r' );
dawn@0 405 % [averageValues1 averageValues2 averageValues3] = getRelativePitchFeatures( singingpitchStatsFileID1, 7 );
dawn@0 406 % getEachRelativePitchFeature( singingpitchStatsFileID2, currentSampleName, 7, averageValues1, averageValues2, averageValues3 );
dawn@0 407 % fclose(singingpitchStatsFileID1);
dawn@0 408 % fclose(singingpitchStatsFileID2);
dawn@0 409 %
dawn@0 410 % case 'calculatesamplePitchPosition'
dawn@0 411 %
dawn@0 412 % singingpitchStatsFileName = 'singingpitchStats.txt';
dawn@0 413 % singingpitchStatsFileID = fopen( singingpitchStatsFileName, 'r' );
dawn@0 414 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 415 % getPitchPosition( singingpitchStatsFileID, currentSampleName, x, fs, noOfFrames, frameLength, 7 );
dawn@0 416 % fclose(singingpitchStatsFileID);
dawn@0 417 %
dawn@0 418 %
dawn@0 419 %
dawn@0 420 % %%%%% energy related features %%%%%
dawn@0 421 % case 'calculatesampleRelativeEnergyByMeanAll'
dawn@0 422 %
dawn@0 423 % singingenergyStatsFileName = '../../../../FeatureSets/singingenergyStats.txt';
dawn@0 424 % singingenergyhStatsFileID = fopen( singingenergyStatsFileName, 'r' );
dawn@0 425 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 426 % getRelativeEnergyByMeanAll( singingenergyhStatsFileID, currentSampleName, x, fs, noOfFrames, frameLength, 3 );
dawn@0 427 % fclose(singingenergyhStatsFileID);
dawn@0 428 %
dawn@0 429 % case 'calculatesampleRelativeEnergyByMeanVoiced'
dawn@0 430 %
dawn@0 431 % singingenergyStatsFileName = '../../../../FeatureSets/singingenergyStats.txt';
dawn@0 432 % singingenergyhStatsFileID = fopen( singingenergyStatsFileName, 'r' );
dawn@0 433 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 434 % getRelativeEnergy( singingenergyhStatsFileID, currentSampleName, x, fs, noOfFrames, frameLength, 3 );
dawn@0 435 % fclose(singingenergyhStatsFileID);
dawn@0 436 %
dawn@0 437 % case 'calculatesampleRelativeEnergyGradientByMeanAll'
dawn@0 438 %
dawn@0 439 % statsFileName = '../../../../FeatureSets/singingenergyStats.txt';
dawn@0 440 % statsFileID = fopen( statsFileName, 'r' );
dawn@0 441 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 442 % getRelativeEnergyGradient( statsFileID, newDirName, x, fs, noOfFrames, frameLength, 3 );
dawn@0 443 % fclose( statsFileID );
dawn@0 444 %
dawn@0 445 % case 'calculatesampleRelativeEnergyGradientFeaturesByMeanAll'
dawn@0 446 %
dawn@0 447 % [x, fs, frameLength, noOfFrames] = openFile( currentSampleName );
dawn@0 448 % getRelativeEnergyGradientFeatures( currentSampleName, x, fs, noOfFrames, frameLength );
dawn@0 449 %
dawn@0 450
dawn@0 451 end
dawn@0 452
dawn@0 453 cd ../
dawn@0 454 end
dawn@0 455 end
dawn@0 456
dawn@0 457 end
dawn@0 458 cd ../
dawn@0 459
dawn@0 460 end
dawn@0 461 cd ../
dawn@0 462 end
dawn@0 463
dawn@0 464 end
dawn@0 465
dawn@0 466 cd ../
dawn@0 467