## Homework 1, ECE301 Spring 20011, Prof. Boutin

1. Below is a Matlab code that plays the melody of the song "Smoke on the Water" by Deep Purple at original tempo:

% Defining sampling period and duration of a quarter note
T=0.00001;
BPM=112;
dur=1/(BPM/60);

% Defining note durations
haft=0:T:dur*2;
dotted_quart=0:T:dur*1.5;
quart=0:T:dur;
eighth=0:T:dur/2;

% Defining notes of the melody
g=sin(2*pi*392*quart);
b_flat=sin(2*pi*466.16*quart);
c_dq=sin(2*pi*523.25*dotted_quart);
c_h=sin(2*pi*523.25*haft);
d_flat=sin(2*pi*554.37*eighth);

% Creating, playing, and saving melody into a wave file
tune=[g b_flat c_dq g b_flat d_flat c_h g b_flat c_dq b_flat g];
sound(tune,1/T)
wavwrite(tune,1/T,8,'1_a.wav')

2. Below is a Matlab code that plays the melody at twice original tempo:

% Defining sampling period and duration of a quarter note
% The tempo of the song is increased by a factor of 2 by modifying the variable BMP accordingly
T=0.00001;
BPM=2*112;
dur=1/(BPM/60);

% Defining note durations
haft=0:T:dur*2;
dotted_quart=0:T:dur*1.5;
quart=0:T:dur;
eighth=0:T:dur/2;

% Defining notes of the melody
g=sin(2*pi*392*quart);
b_flat=sin(2*pi*466.16*quart);
c_dq=sin(2*pi*523.25*dotted_quart);
c_h=sin(2*pi*523.25*haft);
d_flat=sin(2*pi*554.37*eighth);

% Creating, playing, and saving melody into a wave file
tune=[g b_flat c_dq g b_flat d_flat c_h g b_flat c_dq b_flat g];
sound(tune,1/T)
wavwrite(tune,1/T,8,'1_b.wav')

3. Below is a Matlab code that plays the melody after applying the transformation $y(t)=x(2t)$:

% Defining sampling period and duration of a quarter note
T=0.00001;
BPM=112;
dur=1/(BPM/60);

% Defining note durations
haft=0:T:dur*2;
dotted_quart=0:T:dur*1.5;
quart=0:T:dur;
eighth=0:T:dur/2;

% Defining notes of the melody
% y(t)=x(2t) transformation is applied by multiplying the value inside the sine waves by a factor of 2
g=sin(2*pi*2**392*quart);
b_flat=sin(2*pi*2*466.16*quart);
c_dq=sin(2*pi*2*523.25*dotted_quart);
c_h=sin(2*pi*2*523.25*haft);
d_flat=sin(2*pi*2*554.37*eighth);

% Creating, playing, and saving melody into a wave file
tune=[g b_flat c_dq g b_flat d_flat c_h g b_flat c_dq b_flat g];
sound(tune,1/T)
wavwrite(tune,1/T,8,'1_c.wav')

1. The forward phrase is "Number nine".
2. Below is a Matlab code that plays the extract backwards: