Revision as of 13:36, 2 February 2011 by Ahmadi (Talk | contribs)

Homework 1 Solutions

    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:

      [song Fs nbits] = wavread('Beatles.wav');
      song = flipud(song);
      wavwrite(song, Fs, nbits,'2_b.wav')

      Yes, there is a subliminal message in this extract. The subliminal message is "Turn me on, dead man".

      HW 1

      Back to 2011 Spring ECE 301 Boutin

Alumni Liaison

Sees the importance of signal filtering in medical imaging

Dhruv Lamba, BSEE2010