Line 1: | Line 1: | ||
− | + | <pre> %Derek Richards | |
− | + | %HW 1 ECE 301 | |
− | %Derek Richards | + | %###### # |
− | + | %# # ## ##### ##### ## | |
− | %HW 1 ECE 301 | + | %# # # # # # # # # |
− | % | + | %###### # # # # # # |
− | % | + | %# ###### ##### # # |
− | % | + | %# # # # # # # |
− | + | %# # # # # # ##### | |
− | % | + | |
− | % | + | b=(112/60); %b is the time of one standard beat |
− | + | ||
− | b=(112/60) | + | |
half_b=0.5*(112/60); | half_b=0.5*(112/60); | ||
− | delta=0.000025 | + | 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 | %Note funtion takes 2 variables | ||
%ntype: type of note (w,h,q,dotq,e) | %ntype: type of note (w,h,q,dotq,e) | ||
%dev_A4: deviation from note A4 positive is up the scale, negative is down | %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); | NOTE = @(ntype,dev_A4) sin(2*pi*2^(dev_A4/12)*A4*ntype); | ||
− | + | ||
%Smoke on the Water, by Deep Purple | %Smoke on the Water, by Deep Purple | ||
sound(NOTE(q(b),-2),1/delta); | sound(NOTE(q(b),-2),1/delta); | ||
Line 35: | Line 33: | ||
sound(NOTE(q(b),1),1/delta); | sound(NOTE(q(b),1),1/delta); | ||
sound(NOTE(e(b),5),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 | ||
− | + | </pre> | |
− | + | ||
− | + |
Revision as of 17:41, 13 January 2011
%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