Kilka efektów dźwiękowych w programie Octave. Wersja w pełni kompatybilna z Matlab.
filename = 'examples/test.wav';[Input, FS, BITS] = wavread(filename);% Butterworth filter[b, a] = butter(20, 0.2);Output = filter(b, a, Input);wavwrite(Output, FS, BITS, 'examples/out01_LP_Filter.wav');% Double speedOutputFast = downsample(Output, 2);wavwrite(OutputFast, FS, BITS, 'examples/out02_Double_Speed.wav');% Half speed - with zerosOutputSlow = upsample(Output, 2);wavwrite(OutputSlow, FS, BITS, 'examples/out03_Half_Speed.wav');% Half speed - interpolatedOutputSlow2 = interp(Output, 2);wavwrite(OutputSlow2, FS, BITS, 'examples/out04_Half_Speed_Interpolated.wav');% Half speed - no frequency changeOutputSlow3 = [];step = 250;for i=1:step:size(Input)-step tempSample = Input(i:(i+step)); OutputSlow3 = [OutputSlow3; tempSample; tempSample];endwavwrite(OutputSlow3, FS, BITS, 'examples/out05_Half_Speed_Same-Freq.wav');% Pitch change (down)OutputPitchUp = [];step = 2048;pitch = 150;for i=1:step:size(Input)-step fftInput = fft(Input(i:(i+step)-1)); tempOutput = ifft(fftInput(1:2:step)); OutputPitchUp = [OutputPitchUp; tempOutput];endwavwrite(interp(OutputPitchUp,2), FS, BITS, 'examples/out06_Pitch_Shift.wav');