diff Code/Descriptors/Matlab/Common/getSilentDataArray.m @ 4:92ca03a8fa99 tip

Update to ICASSP 2013 benchmark
author Dawn Black
date Wed, 13 Feb 2013 11:02:39 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/Descriptors/Matlab/Common/getSilentDataArray.m	Wed Feb 13 11:02:39 2013 +0000
@@ -0,0 +1,40 @@
+function [ silentFrames ] = getSilentDataArray( silentSegments, noOfFrames )
+
+%---------------- GET THE SILENT FRAME VALUES -------------------
+% only wish to consider values from voiced frames.
+% silent frames will produce data values that
+% are random and therefore will bias our results
+% returns an array of values where '1' indicates a non-silent frame
+
+    silentFrames = zeros(1,noOfFrames);
+    [m n] = size(silentSegments);
+    if(  silentSegments(1,1) == 0 && silentSegments(1,2) == 0 )
+        % we have only one segment - the entire file
+        silentSegments(1,1) = 1;
+        silentSegments(1,2) = floor(length(x)/frameLength);
+        [m n] = size(silentSegments);
+    end
+    
+    % check for start at sample 0
+    if( silentSegments(1,1) == 0)
+        silentSegments(1,1) = 1;
+    end
+    
+    for i=1:m
+        start = silentSegments(i,1);
+        stop = silentSegments(i,2);
+        if( stop > noOfFrames )
+            stop = noOfFrames;
+            silentSegments(i,2) = noOfFrames;
+        end
+            
+        if( start == 0 ) 
+            start = 1;
+        end
+        
+        
+        silentFrames( start : stop ) = 1;
+    end
+    
+end
+