% SMS - 4.cvičení: Spektrální manipulace, R.Čmejla, 23.října 2017 % ----------------------------------------------------------- % Fázový vokodér [signal,fs] = wavread('why11.wav'); N = length(sig); window_length = window_shift = R = % Analýza X = []; k=1; for start = 0:window_shift:N-window_length, frame = sig(start+1:start+window_length)... .*hamming(window_length); X(:,k)=fft(frame); k=k+1; end % Transformace Y=X % Syntéza k=1; N_new=size(Y,2)*window_shift+window_length; signal_y=zeros(N_new,1); for start = 0:window_shift:(size(Y,2)-1)*window_shift, segment=real(ifft(Y(:,k),window_length))... .*hamming(window_length); signal_y((start+1):(start+window_length))... =signal_y((start+1):(start+window_length))+segment; k=k+1; end Proveďte následující spektrální manipulace: a) Proveďte přímou resyntézu písně why11.wav (pouze analýza - syntéza) Oba signály poslechněte a zobrazte v časové a frekvenční oblasti b) Přičtěte k signálu sinusovku a potlačte ji ve spektru. Průběhy zobrazte ve správném měřítku. c) Prodlužujte signál o 25 až 250 % d) Zkracujte signál e) Posuňte skladbu frekvenčně výš f) Posuňte skladbu frekvenčně níž g) Realizujte robot h) Realizujte whisper i) Demonstrujte úlohu nelineárního potlačení šumu Výše uvedené body proveďte rovněž se signálem hudebního nástroje, např. piana.