Revision as of 17:45, 4 September 2008 by Tsafford (Talk)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

MATLAB Code

% Travis Safford
% September 5, 2008
%
% Homework 1.2 - This file is supposed to reverse and slow down a Judas Priest song

% Begin by clearing the console and all saved memory.
clear;
clc;

%Open the wave file and get its length, sample size, and sampling rate
%Make sure the file is in your present working directory for matlab
[data,sample,rate]=wavread('jpforward.wav');

%Play the file once at normal speed
wavplay(data,sample);

%Reverses the data, plays it, then saves it to a file
Length_Array=size(data);
Length=Length_Array(1);
reversedata=zeros(Length,1);
for j=Length:-1:1
    reversedata(Length-j+1,1)=data(j);
end
disp('Playing reverse at normal speed...');
wavplay(reversedata,fs);
wavwrite(reversedata,fs,nbits,'jpreverse.wav');

%To slow the original data, we can just write out the reversed data with
% a fraction of the correct sampling rate.
disp('Playing reverse at 67% speed...');
wavwrite(reversedata,fs/1.5,nbits,'jpreverseslow.wav');
wavplay(reversedata,fs/1.5);

Alumni Liaison

Prof. Math. Ohio State and Associate Dean
Outstanding Alumnus Purdue Math 2008

Jeff McNeal