title: How can I increase/decrease (frequency/pitch) of signal
body: <p>How can I increase/decrease (frequency/pitch) and phase using fft/ifft I think I have the basic code but I’m not sure what to do next </p>
  
  <p>I was told repmat and resample may help, yes I want to linear shift all components. I want to adjust the phase over time so that it will create a standing wave. One signal with the phase changing in one direction and another signal with the phase going the opposite direction</p>
  
  <p>PS:  It's done in Octave/matlab code</p>
  
  <p>Example I have a signal that's repeats 1 time every second and I want to have it repeat 3 times a second instead. </p>
  
  <pre><code>%Voiceprint raise lower freq phase conjugate signal
  tic
  clear all, clc,clf,tic
  %% Sound /beep calculation complete
  filerawbeepStr='calculations_complete.wav';
  filerawbeeppathStr='/home/rat/Documents/octave/raw/';
  filevoiceprepathStr='/home/rat/Documents/octave/eq_research/main/transform/voice/';
  filewavpathStr='/home/rat/Documents/octave/eq_research/main/transform/wav/';
  [ybeep, Fsbeep, nbitsbeep] = wavread(strcat(filerawbeeppathStr,filerawbeepStr));
  %addpath(”/home/rat/Documents/octave/eq_research/main/transform/”); %add path to location of functions
  
  %1a voice print import
  [vp_sig_orig, fs_rate, nbitsraw] = wavread(strcat(filevoiceprepathStr,'voice8000fs.wav')); 
  
  %vp_sig_orig=vp_sig_orig’;
  vp_sig_len=length(vp_sig_orig);
  
  %2a create frequency domain
  ya_fft = fft(vp_sig_orig);
  vp_sig_phase_orig = unwrap(angle(ya_fft));
  
  %get Magnitude
  ya_fft_mag = abs(ya_fft);
  
  %3a frequency back to time domain
  ya_ifft=real(ifft(ya_fft));
  
  %adjust frequency/phase here? How?
  vp_sig_new=real(ifft(ya_fft_mag.*exp(i*vp_sig_phase_orig)));
  
  subplot(3,1,1), plot(vp_sig_orig),title('1 original time domain')
  subplot(3,1,2), plot(ya_ifft),title('2 rebuild time domain')
  subplot(3,1,3), plot(vp_sig_new),title('3 adjusted time')
  </code></pre>