gusucode.com > 声音的处理有:LPC,FFT,共振峰,频谱源码程序 > siganlandsystemusingMatlab/SSUM/xsynthesis/makeampenv.m
function amp_env = makeampenv(data, envlength, window_size, window_skip) % num_samples = length(data); num_windows = floor(num_samples/window_skip-1); amp_env = zeros(1,num_windows); h = waitbar(0,'Analyzing...'); for i = 1:num_windows, start_sample = (i-1)*window_skip + 1; end_sample = start_sample + window_size-1; % Choose last possible window if (end_sample > num_samples) end_sample = num_samples; start_sample = end_sample-window_size+1; end amp_env(i) = rms(data(start_sample:end_sample)); waitbar(i/num_windows,h); end close(h); h = waitbar(0,'Resampling...'); amp_env = resample(amp_env, envlength, num_windows); close(h);