Dawn@4: function [ silentFrames ] = getSilentDataArray( silentSegments, noOfFrames ) Dawn@4: Dawn@4: %---------------- GET THE SILENT FRAME VALUES ------------------- Dawn@4: % only wish to consider values from voiced frames. Dawn@4: % silent frames will produce data values that Dawn@4: % are random and therefore will bias our results Dawn@4: % returns an array of values where '1' indicates a non-silent frame Dawn@4: Dawn@4: silentFrames = zeros(1,noOfFrames); Dawn@4: [m n] = size(silentSegments); Dawn@4: if( silentSegments(1,1) == 0 && silentSegments(1,2) == 0 ) Dawn@4: % we have only one segment - the entire file Dawn@4: silentSegments(1,1) = 1; Dawn@4: silentSegments(1,2) = floor(length(x)/frameLength); Dawn@4: [m n] = size(silentSegments); Dawn@4: end Dawn@4: Dawn@4: % check for start at sample 0 Dawn@4: if( silentSegments(1,1) == 0) Dawn@4: silentSegments(1,1) = 1; Dawn@4: end Dawn@4: Dawn@4: for i=1:m Dawn@4: start = silentSegments(i,1); Dawn@4: stop = silentSegments(i,2); Dawn@4: if( stop > noOfFrames ) Dawn@4: stop = noOfFrames; Dawn@4: silentSegments(i,2) = noOfFrames; Dawn@4: end Dawn@4: Dawn@4: if( start == 0 ) Dawn@4: start = 1; Dawn@4: end Dawn@4: Dawn@4: Dawn@4: silentFrames( start : stop ) = 1; Dawn@4: end Dawn@4: Dawn@4: end Dawn@4: