(New page: == Homework 1 Solution == <ol> <li> <ol type="a"> <li> Below is a Matlab code that plays the melody of the song "Smoke on the Water" by Deep Purple at <b>original tempo</b>:<br><br> % Def...)
 
Line 29: Line 29:
 
</li>
 
</li>
 
<li>
 
<li>
Below is a Matlab code that plays the melody of the song "Smoke on the Water" by Deep Purple at <b>twice original tempo</b>:<br><br>  
+
Below is a Matlab code that plays the melody at <b>twice original tempo</b>:<br><br>  
 
% Defining sampling period and duration of a quarter note<br>
 
% Defining sampling period and duration of a quarter note<br>
 
% The tempo of the song is increased by a factor of 2 by modifying the variable BMP accordingly<br>
 
% The tempo of the song is increased by a factor of 2 by modifying the variable BMP accordingly<br>
Line 56: Line 56:
  
 
<li>
 
<li>
Below is a Matlab code that plays the melody of the song "Smoke on the Water" by Deep Purple at after applying the transformation <b><math>y(t)=x(2t)</math></b>:<br><br>  
+
Below is a Matlab code that plays the melody after applying the transformation <b><math>y(t)=x(2t)</math></b>:<br><br>  
 
% Defining sampling period and duration of a quarter note<br>
 
% Defining sampling period and duration of a quarter note<br>
 
T=0.00001;<br>
 
T=0.00001;<br>
Line 80: Line 80:
 
sound(tune,1/T)<br>
 
sound(tune,1/T)<br>
 
wavwrite(tune,1/T,8,'1_c.wav')<br><br>
 
wavwrite(tune,1/T,8,'1_c.wav')<br><br>
 +
</li>
 +
</ol>
 +
<li>
 +
<ol type="a">
 +
<li>
 +
The forward phrase is "number nine".
 +
</li>
 +
<li>
 +
Below is a Matlab code that plays the extract <b>backwards</b>:<br><br>
 +
[song Fs nbits] = wavread('Beatles.wav');<br>
 +
song = flipud(song);<br>
 +
wavwrite(song, Fs, nbits,'2_b.wav')<br><br>
 +
Yes, there is a subliminal message in this extract. The message is "Turn me on, dead man".

Revision as of 18:10, 22 January 2011

Homework 1 Solution

    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 message is "Turn me on, dead man".

Alumni Liaison

has a message for current ECE438 students.

Sean Hu, ECE PhD 2009