fun_warp.m

来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 40 行

M
40
字号
function y=func_warp1(seg_frame, seg_range, range, orig_map)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%	jmw
%
%	6/14/94
%
%	Maps desired map to length of segment
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

N = seg_range(2) - seg_range(1) + 1;	% length of segment in samples
warp_map = [];
warp_map = zeros(1,N);
for i=1:N,
	new_index = ceil((100*i)/N );
	warp_map(i) = orig_map(new_index);
end;

% scale amplitudes
max_warp_map = max(warp_map);
warp_map = (1/max_warp_map) * warp_map;	

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

NF = seg_frame(2) - seg_frame(1) + 1;	% number of frames
y=zeros(1,NF);
for i=seg_frame(1):seg_frame(2),
	a=range(i,1);
	b=range(i,2);
	mean_ab = round(0.5 * (a+b));
	z=round(mean_ab-range(seg_frame(1),1));
	y(i-seg_frame(1)+1) = warp_map(z);
end;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%return;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?