annotate Code/Descriptors/Matlab/Common/removeSilentData.m @ 4:92ca03a8fa99
tip
Update to ICASSP 2013 benchmark
author |
Dawn Black |
date |
Wed, 13 Feb 2013 11:02:39 +0000 |
parents |
ea0c737c6323 |
children |
|
rev |
line source |
dawn@0
|
1 function [ silentFrames ] = removeSilentData( silentSegments, noOfFrames )
|
dawn@0
|
2
|
dawn@0
|
3 %---------------- GET THE SILENT FRAME VALUES -------------------
|
dawn@0
|
4 % only wish to consider values from voiced frames.
|
dawn@0
|
5 % silent frames will produce data values that
|
dawn@0
|
6 % are random and therefore will bias our results
|
dawn@0
|
7 % returns an array of values where '1' indicates a non-silent frame
|
dawn@0
|
8
|
dawn@0
|
9 silentFrames = zeros(1,noOfFrames);
|
dawn@0
|
10 [m n] = size(silentSegments);
|
dawn@0
|
11 if( silentSegments(1,1) == 0 && silentSegments(1,2) == 0 )
|
dawn@0
|
12 % we have only one segment - the entire file
|
dawn@0
|
13 silentSegments(1,1) = 1;
|
dawn@0
|
14 silentSegments(1,2) = floor(length(x)/frameLength);
|
dawn@0
|
15 [m n] = size(silentSegments);
|
dawn@0
|
16 end
|
dawn@0
|
17
|
dawn@0
|
18 % check for start at sample 0
|
dawn@0
|
19 if( silentSegments(1,1) == 0)
|
dawn@0
|
20 silentSegments(1,1) = 1;
|
dawn@0
|
21 end
|
dawn@0
|
22
|
dawn@0
|
23 for i=1:m
|
dawn@0
|
24 start = silentSegments(i,1);
|
dawn@0
|
25 stop = silentSegments(i,2);
|
dawn@0
|
26 if( stop > noOfFrames )
|
dawn@0
|
27 stop = noOfFrames;
|
dawn@0
|
28 silentSegments(i,2) = noOfFrames;
|
dawn@0
|
29 end
|
dawn@0
|
30
|
dawn@0
|
31 if( start == 0 )
|
dawn@0
|
32 start = 1;
|
dawn@0
|
33 end
|
dawn@0
|
34
|
dawn@0
|
35
|
dawn@0
|
36 silentFrames( start : stop ) = 1;
|
dawn@0
|
37 end
|
dawn@0
|
38
|
dawn@0
|
39 end
|
dawn@0
|
40
|