addsil3a.m
来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 127 行
M
127 行
disp(' ');
disp('SCRIPT: addsil3a.m ***********************************************');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% addsil3a.m
%
% jmw
%
% 7/27/94
%
% called by ww3_update.m
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% create additional silent segment parameter(s)
sil_frames = round(sil_length / 50);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% is silstart at segment boundary or not?
x= find( silstart == tmp_seg_range(:,1) );
if (isempty(x))
% sil start is NOT a segment start point
disp('sil start is NOT a segment start point');
else
% sil start IS a segment start point
disp('sil start IS a segment start point');
% process Data tmp variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[mi,ni]=find(silstart == tmp_range); % mi is insertion frame index
% do tmp range
for j=m:-1:mi,
tmp_range(j+sil_frames,1)=tmp_range(j,1)+ sil_length;
tmp_range(j+sil_frames,2)=tmp_range(j,2)+ sil_length;
end;
for j=mi+1:mi+sil_frames-1,
tmp_range(j,1) = tmp_range(j-1,1)+50;
tmp_range(j,2) = tmp_range(j,1) + 49;
end;
tmp_range(mi,2) = tmp_range(mi,1) + 49;
% do tmp cofa
for j=m:-1:mi,
tmp_cofa(j+sil_frames,:)=tmp_cofa(j,:);
end;
% do tmp residue
NNN = length(tmp_residue);
tmp_residue(silstart+sil_length:NNN+sil_length) = ...
tmp_residue(silstart:NNN);
tmp_residue(silstart:silstart+sil_length-1) = rand(1,sil_length)-0.5;
% do tmp VUS_voicetype
for j=m:-1:mi,
tmp_VUS_voicetype(j+sil_frames)=tmp_VUS_voicetype(j);
end;
for j=mi:mi+sil_frames-1,
tmp_VUS_voicetype(j) = 's';
end;
% process tmp signal variable %%%%%%%%%%%%%%%%%%%%%%%%%%%%
NNN = length(tmp_signal);
tmp_signal(silstart+sil_length:NNN+sil_length) = ...
tmp_signal(silstart:NNN);
tmp_signal(silstart:silstart+sil_length-1) = rand(1,sil_length)-0.5;
% process SegNLabels tmp variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%
tmp_seg_cnt = tmp_seg_cnt + 1; % add another segment
% do seg range
for j=tmp_seg_cnt:-1:(x+1),
tmp_seg_range(j,:)=tmp_seg_range(j-1,:)+[sil_length sil_length];
end;
tmp_seg_range(x,2)=tmp_seg_range(x,1) + sil_length -1;
% do choice_1 & choice_2
for j=tmp_seg_cnt:-1:(x+1),
tmp_choice_1(j,:) = tmp_choice_1(j-1,:);
tmp_choice_2(j,:) = tmp_choice_2(j-1,:);
end;
tmp_choice_1(x,:)= ' silent';
tmp_choice_2(x,:)= ' silent';
% do reliability_1 & reliability_2
for j=tmp_seg_cnt:-1:(x+1),
tmp_reliability_1(j) = tmp_reliability_1(j-1);
tmp_reliability_2(j) = tmp_reliability_2(j-1);
end;
tmp_reliability_1(x)= 1.00;
tmp_reliability_2(x)= 1.00;
% do seg frame
for j=tmp_seg_cnt:-1:(x+1),
tmp_seg_frame(j,:) = tmp_seg_frame(j-1,:)+ [sil_frames sil_frames];
end;
tmp_seg_frame(x,2) = tmp_seg_frame(x,1) + sil_frames - 1;
% do seg type
for j=tmp_seg_cnt:-1:(x+1),
tmp_seg_type(j) = tmp_seg_type(j-1);
end;
tmp_seg_type(x) = 's';
end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% call display refresh program ...
m2_d1_di;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?