Revision as of 17:41, 13 January 2011 by Darichar (Talk | contribs)

 %Derek Richards
 %HW 1 ECE 301 
 %######                            #   
 %#     #   ##   #####  #####      ##   
 %#     #  #  #  #    #   #       # #   
 %######  #    # #    #   #         #   
 %#       ###### #####    #         #   
 %#       #    # #   #    #         #   
 %#       #    # #    #   #       ##### 
 
 b=(112/60); %b is the time of one standard beat
 half_b=0.5*(112/60);
 delta=0.000025; %arbitray variable small enough to sample well

 w=@(tempo)0:delta:tempo; %whole note
 h=@(tempo)0:delta:0.5*tempo; %half note
 q=@(tempo)0:delta:0.25*tempo; %quarter note
 dotq=@(tempo)0:delta:1.5*0.25*tempo; %dotted quarter note
 e=@(tempo)0:delta:0.125*tempo; %eigth note
 A4=440; %Frequency of note A4
 
 %Note funtion takes 2 variables
 %ntype: type of note (w,h,q,dotq,e)
 %dev_A4: deviation from note A4 positive is up the scale, negative is down
 NOTE = @(ntype,dev_A4) sin(2*pi*2^(dev_A4/12)*A4*ntype);
 
 %Smoke on the Water, by Deep Purple
 sound(NOTE(q(b),-2),1/delta);
 sound(NOTE(q(b),1),1/delta);
 sound(NOTE(dotq(b),4),1/delta);
 sound(NOTE(q(b),-2),1/delta);
 sound(NOTE(q(b),-2),1/delta);
 sound(NOTE(q(b),1),1/delta);
 sound(NOTE(e(b),5),1/delta);
 sound(NOTE(h(b),4),1/delta);
 sound(NOTE(q(b),-2),1/delta);
 sound(NOTE(q(b),1),1/delta);
 sound(NOTE(dotq(b),4),1/delta);
 sound(NOTE(e(b),1),1/delta);
 sound(NOTE(e(b),1),1/delta);
 sound(NOTE(h(b),-2),1/delta);
 %Silence to create a pause before 2x speed
 sound(NOTE(q(8),68),1/delta);
 %Smoke on the Water, by deep Purple, twice tempo
 sound(NOTE(q(half_b),-2),1/delta);
 sound(NOTE(q(half_b),1),1/delta);
 sound(NOTE(dotq(half_b),4),1/delta);
 sound(NOTE(q(half_b),-2),1/delta);
 sound(NOTE(q(half_b),-2),1/delta);
 sound(NOTE(q(half_b),1),1/delta);
 sound(NOTE(e(half_b),5),1/delta);
 sound(NOTE(h(half_b),4),1/delta);
 sound(NOTE(q(half_b),-2),1/delta);
 sound(NOTE(q(half_b),1),1/delta);
 sound(NOTE(dotq(half_b),4),1/delta);
 sound(NOTE(e(half_b),1),1/delta);
 sound(NOTE(e(half_b),1),1/delta);
 sound(NOTE(h(half_b),-2),1/delta);
 %Silence to create a pause before x(2*t) speed
 sound(NOTE(q(8),68),1/delta);
 %Smoke on the Water, by deep Purple, x(2*t)
 NOTE = @(ntype,dev_A4) sin(2*2*pi*2^(dev_A4/12)*A4*ntype);
 sound(NOTE(q(b),-2),1/delta);
 sound(NOTE(q(b),1),1/delta);
 sound(NOTE(dotq(b),4),1/delta);
 sound(NOTE(q(b),-2),1/delta);
 sound(NOTE(q(b),-2),1/delta);
 sound(NOTE(q(b),1),1/delta);
 sound(NOTE(e(b),5),1/delta);
 sound(NOTE(h(b),4),1/delta);
 sound(NOTE(q(b),-2),1/delta);
 sound(NOTE(q(b),1),1/delta);
 sound(NOTE(dotq(b),4),1/delta);
 sound(NOTE(e(b),1),1/delta);
 sound(NOTE(e(b),1),1/delta);
 sound(NOTE(h(b),-2),1/delta);
 
 %######                          #####  
 %#     #   ##   #####  #####    #     # 
 %#     #  #  #  #    #   #            # 
 %######  #    # #    #   #       #####  
 %#       ###### #####    #      #       
 %#       #    # #   #    #      #       
 %#       #    # #    #   #      #######
 
 %lets assume the file Beatles.wav is in the current directory...
 [beatle_song, Fs] = wavread('Beatles.wav');
 sound(beatle_song,Fs);
 beatle_song_rev = flipud(beatle_song);
 sound(beatle_song_rev,Fs);
 wavwrite(beatle_song_rev,Fs,'Ece301_HW1_part2');
 %END CODE

Alumni Liaison

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

Dr. Paul Garrett