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
|