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

Instructor's note: just put a space at the beginning of each line of code. That way your text won't be interpreted as wikitext code, and it will display correctly. -pm

%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

BSEE 2004, current Ph.D. student researching signal and image processing.

Landis Huffman