(MATLAB Code)
(Sound File)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
==Sound File==
 
==Sound File==
 +
 +
Hail Purdue
 +
 +
[[Media:HailPurdue_ECE301Fall2008mboutin.wav]]
 +
 +
Hail Purdue at double the speed
 +
 +
[[Media:HailPurdueX2_ECE301Fall2008mboutin.wav]]
 +
 +
Hail Purdue with y(t) = x(2t)
 +
 +
[[Media:ModHailPurdue_ECE301Fall2008mboutin.wav]]
  
 
==MATLAB Code==
 
==MATLAB Code==
Line 35: Line 47:
  
 
Score = [Eb4 F4 G4 Ab4 G4 Ab4 G4 Ab4 G4 Ab4 Bb4 Ab4 Eb4 F4 G4...
 
Score = [Eb4 F4 G4 Ab4 G4 Ab4 G4 Ab4 G4 Ab4 Bb4 Ab4 Eb4 F4 G4...
       
 
 
         G4 Ab4 A4 Bb4 A4 Bb4 A4 Bb4 A4 Bb4 C5 Bb4 Eb4 Db5 C5...
 
         G4 Ab4 A4 Bb4 A4 Bb4 A4 Bb4 A4 Bb4 C5 Bb4 Eb4 Db5 C5...
 
         Eb4 F4 G4 Ab4 G4 Ab4 G4 Ab4 G4 Ab4 Eb5 C5 Bb4 Ab4 Db5 Ab4...
 
         Eb4 F4 G4 Ab4 G4 Ab4 G4 Ab4 G4 Ab4 Eb5 C5 Bb4 Ab4 Db5 Ab4...
Line 84: Line 95:
 
     sound(y,1/delta);
 
     sound(y,1/delta);
 
end
 
end
 +
  
 
% 1.1(b) - Double the playing rate
 
% 1.1(b) - Double the playing rate
 +
  
 
for c = 1:length(Score)  
 
for c = 1:length(Score)  
Line 92: Line 105:
 
     sound(y,1/delta);
 
     sound(y,1/delta);
 
end
 
end
 +
  
 
% 1.1(c) - y(t) = x(2t)
 
% 1.1(c) - y(t) = x(2t)
 +
  
 
for c = 1:length(Score)  
 
for c = 1:length(Score)  

Latest revision as of 17:24, 4 September 2008

Sound File

Hail Purdue

Media:HailPurdue_ECE301Fall2008mboutin.wav

Hail Purdue at double the speed

Media:HailPurdueX2_ECE301Fall2008mboutin.wav

Hail Purdue with y(t) = x(2t)

Media:ModHailPurdue_ECE301Fall2008mboutin.wav

MATLAB Code

% HW 1.1 - Playing Hail Purdue

% Caleb Tan

% Defining notes according to their frequencies

% Source: http://www.phy.mtu.edu/~suits/notefreqs.html

Eb4 = 311.13;

F4 = 349.23;

G4 = 392.00;

Ab4 = 415.30;

Bb4 = 466.16;

A4 = 440.00;

C5 = 523.25;

Db5 = 554.37;

B4 = 493.88;

Eb5 = 622.25;


% Defining vector for song score

Score = [Eb4 F4 G4 Ab4 G4 Ab4 G4 Ab4 G4 Ab4 Bb4 Ab4 Eb4 F4 G4...

        G4 Ab4 A4 Bb4 A4 Bb4 A4 Bb4 A4 Bb4 C5 Bb4 Eb4 Db5 C5...
        Eb4 F4 G4 Ab4 G4 Ab4 G4 Ab4 G4 Ab4 Eb5 C5 Bb4 Ab4 Db5 Ab4...
        Bb4 Bb4 B4 B4 C5 Db5 Eb5 C5 Bb4 G4 C5 Bb4 Ab4 Bb4...
        Eb4 F4 G4 Ab4 Bb4 C5 C5 Db5 Db5 Db5 Ab4 Bb4 B4 C5...
        C5 C5 Bb4 Ab4 Bb4 C5 C5 Bb4 F4 G4 Ab4 G4 F4 Bb4 Bb4 Eb5...
        Eb4 Eb4 F4 G4 Ab4 Bb4 C5 C5 C5 Db5 Db5 Ab4 Bb4 C5...
        F4 G4 Ab4 F4 Eb4 Ab4 C5 Eb4 F4 C5 Bb4 Ab4];

% sampling frequency

delta = 0.00005;

% Tempo = 140 beats per minute, therefore a quarter note is 60/140 seconds long

% Defining note lengths

Q = 60/140;  % Quarter note

W = 4*Q;  % Whole note

H = 2*Q;  % Half note

E = Q/2;  % Eighth note

S = Q/4;  % Sixteenth note

DQ = Q + E;  % Dotted Quarter

DH = H + Q;  % Dotted Half

% Time vector for the respective notes

Time = [Q Q Q Q Q Q E E E E Q Q Q Q DH ...

       Q Q Q Q Q Q E E E E Q Q Q Q DH ... 
       Q Q Q Q Q Q E E E E Q Q Q Q DH ...
       E E DQ E DQ E Q E E E E E E H H W ... 
       H Q Q DQ E Q Q Q E E Q E E DH ...
       H Q Q DQ E Q Q Q E E Q E E W ... 
       DQ E Q Q DQ E Q E E Q Q Q Q W ... 
       DQ E Q Q Q Q Q Q DQ E DQ E 1.5*W];

% 1.1(a)

for c = 1:length(Score)

   t = 0:delta:Time(c);
   y = sin(2*pi*Score(c)*t);
   sound(y,1/delta);

end


% 1.1(b) - Double the playing rate


for c = 1:length(Score)

   t = 0:delta:(Time(c))/2;
   y = sin(2*pi*Score(c)*t);
   sound(y,1/delta);

end


% 1.1(c) - y(t) = x(2t)


for c = 1:length(Score)

   t = 0:delta:Time(c);
   y = sin(2*pi*Score(c)*2*t);
   sound(y,1/delta);

end

Alumni Liaison

Recent Math PhD now doing a post-doctorate at UC Riverside.

Kuei-Nuan Lin