(MATLAB Code)
(MATLAB Code)
Line 27: Line 27:
 
wavwrite(data_reverse,sample,rate,'jpreverse.wav');
 
wavwrite(data_reverse,sample,rate,'jpreverse.wav');
  
%To slow the original data, we can just write out the reversed data with
+
%Now to slow the song down
% a fraction of the correct sampling rate.
+
%To do this all you do is lower the sample rate
wavwrite(reversedata,sample/1.5,rate,'jpreverseslow.wav');
+
%Perhaps twice as slow?
wavplay(reversedata,sample/1.5);
+
slowsample = sample/2;
 +
wavwrite(reversedata,slowsample,rate,'jpreverseslowed.wav');
 +
wavplay(reversedata,slowsample);
 
</pre>
 
</pre>

Revision as of 17:52, 4 September 2008

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);
data_reverse=zeros(Length,1);
for j=Length:-1:1
    data_reverse(Length-j+1,1)=data(j);
end
wavplay(data_reverse,sample);
wavwrite(data_reverse,sample,rate,'jpreverse.wav');

%Now to slow the song down
%To do this all you do is lower the sample rate
%Perhaps twice as slow?
slowsample = sample/2;
wavwrite(reversedata,slowsample,rate,'jpreverseslowed.wav');
wavplay(reversedata,slowsample);

Alumni Liaison

Basic linear algebra uncovers and clarifies very important geometry and algebra.

Dr. Paul Garrett