No BSD License  

Highlights from
Voice Audio Processing

image thumbnail

Voice Audio Processing

by

 

Basic processing of audio samples in wav format, using fourier transformation.

newcoeff=pitchshift(coeff,nshift)
% wav file in PCM forma to morph
% frequency shiftiting
function newcoeff=pitchshift(coeff,nshift)
%frequency will be cutt off due to the window size
N=length(coeff);
Nhalf=floor(N/2);
% make a new coefficient matrix composed by zeros
newcoeff=zeros(size(coeff));
% the DC component must be preserved!
newcoeff(1)=coeff(1);
% the even frequency must be copied
newcoeff(Nhalf+1)=coeff(Nhalf+1);
% if frequencies are shifted up
if(nshift>0 && nshift<Nhalf)
    newcoeff(nshift+1:Nhalf) = coeff(2:Nhalf-nshift+1);
    newcoeff(Nhalf+2:N)= conj(newcoeff(2:Nhalf));
    % if frequencies are shifted down
elseif(nshift<0 && nshift>floor(-N/2))

else
    fprintf('Frequency shift is not possible.\n')

end

Contact us