function seg = define_silence_in_seg( in_seg, total_time ) if nargin < 2 error( 'define_silence_in_seg needs 2 input parameters' ); end if ~isnumeric( in_seg ) error( 'define_silence_in_seg needs a matrix for "in_seg" input parameter' ); end if isempty( in_seg ) seg = [ 0; total_time; 0 ]; return end if size( in_seg, 1 ) ~= 2 error( 'define_silence_in_seg needs size( in_seg, 1 ) = 2' ) end seg = []; % (optional) first silent segment if in_seg( 1, 1 ) > 0 seg = [ [ 0; in_seg( 1,1 ); 0 ], seg ]; end % silence between speech nspeechseg = size( in_seg, 2 ); for a = 1:nspeechseg-1 seg = [ seg, [ in_seg( :, a ); 1 ], [ in_seg( 2,a ); in_seg(1,a+1); 0 ] ]; end % Last speech segment seg = [ seg, [ in_seg( :, end ); 1 ] ]; % (optional) last silent segment if in_seg( 2, end ) < total_time seg = [ seg, [ in_seg( 2, end ); total_time; 0 ] ]; end