1. Here is the MATLAB code for part 1.
% John Frey
% ECE 301
% Prof. Boutin
% HW 1
delta = 5e-5; % sampling rate in seconds
beat = 15/28; % 112 beats per minute means 28/15 beats per second, % therefore 15/28 seconds per beat.
% DEFINING FREQUENCY OF EACH NOTE IN Hz
freq_G = (2^(-2/12))*440; freq_Bf = (2^(1/12))*440; freq_C = (2^(3/12))*440; freq_Df = (2^(4/12))*440;
% INITIALIZING VECTORS FOR THE SOUND OF EACH NOTE
sound_G = 2*pi*freq_G; sound_Bf = 2*pi*freq_Bf; sound_C = 2*pi*freq_C; sound_Df = 2*pi*freq_Df;
% INITIALIZING NOTE LENGTH VECTORS
quarter = [0 : delta : beat]; eighth = [0 : delta : (beat / 2)]; dotquarter = [0 : delta : (beat * 1.5)]; half = [0 : delta : (beat * 2)]; sixteenth = [0 : delta : (beat / 4)]; doteighth = [0 : delta : (beat * 0.75)];
% CREATING SONG VECTORS
%normal smoke on the water
smoke1 = [sin(sound_G*quarter), sin(sound_Bf*quarter), sin(sound_C*dotquarter), sin(sound_G*quarter), sin(sound_Bf*quarter), sin(sound_Df*eighth), sin(sound_C*half), sin(sound_G*quarter), sin(sound_Bf*quarter), sin(sound_C*dotquarter), sin(sound_Bf*quarter), sin(sound_G*quarter)];
%smoke on the water sped up x2
smoke2 = [sin(sound_G*eighth), sin(sound_Bf*eighth), sin(sound_C*doteighth), sin(sound_G*eighth), sin(sound_Bf*eighth), sin(sound_Df*sixteenth), sin(sound_C*quarter), sin(sound_G*eighth), sin(sound_Bf*eighth), sin(sound_C*doteighth), sin(sound_Bf*eighth), sin(sound_G*eighth)];
% PLAYING NOTES OF "SMOKE ON THE WATER"
sound (smoke1, 1/delta); sound (smoke2, 1/delta); sound (smoke1, 2/delta);
wavwrite (smoke1, 1/delta, 'John_Frey_ECE301_HW1_a');
wavwrite (smoke2, 1/delta, 'John_Frey_ECE301_HW1_b');
wavwrite (smoke1, 2/delta, 'John_Frey_ECE301_HW1_c');
the generated .wav files:
Media:John_Frey_ECE301_HW1_a.wav
Media:John_Frey_ECE301_HW1_b.wav
Media:John_Frey_ECE301_HW1_c.wav
Note: MATLAB indicated that data was clipped during the write to file for each of the wavwrite operations. I tried changing the delta value to decrease the amount of data generated, and was able to write the file for a delta of 5e-3, however the sounds were not audible at that frequency.
2. The repeated forward phrase is "Number Nine". When reversed with the MATLAB code below, it sounds like "Turn me on dead man".
MATLAB code for part 2:
% ECE 301 HW 1 part 2
% John Frey
% READING AND PLAYING BEATLES WAV FILE
[y, fs] = wavread ('Beatles'); sound (y, fs);
% REVERSING SOUND CLIP AND PLAYING RESULT
reverse = flipud (y); sound (reverse, fs);
% WRITING REVERSED CLIP TO NEW WAV FILE
wavwrite (reverse, fs, 'John_Frey_ECE301_HW1_PT2');
Output .wav file: