ECE 401 Final Project 2017

The final project in spring 2017 is to create a video, using at least FOUR SPECIAL EFFECTS based on at least FOUR DIFFERENT LABS from this semester. Possible special effects you could use include: (lab 1) a cartoon drawing based on a sine wave or a moving circle, (lab 2) a melody synthesized from pure tones, (lab 3) an audio recording matched to its own spectrogram, (lab 4) an image upsampled by hand, e.g., you might get interesting visual effects by gradually increasing the upsampling rate without doing any interpolation at all, (lab 5) a cartoon showing a signal getting convolved with some impulse response, (lab 6) audio reverberation, (lab 7) a cartoon showing the magnitude spectrum or level spectrum, e.g., you might show the level spectrum of an audio signal changing from frame to frame, or you might show how it changes with different types of filtering, (lab 8) effects that result from adding two sinusoids together, e.g., beating of one tone against another; or, effects that result from windowing a signal, e.g., show differences in the sensitivity of the DTFT with different windowing methods, (lab 9) gradual reduction of pure-tone noise, e.g., of 60Hz hum, by notch filtering the signal, (lab 10) lowpass or highpass filtering of an audio signal using a one-tap Butterworth filter. You might need to filter multiple times to get an audible difference. If you compare the results of filtering ten times forward in time, versus five forward+five backward, you might be able to hear the difference: one might sound differently reverberant from the other. Feel free to come up with special effects that are completely different from those I've specified in this list, but in each case, be sure that the special effects section of your final project report specifies the lab from which each special effect was drawn.


By May 9, 2017, upload to Compass a zip file containing the following:

Suggested Methods

OpenCV and/or ffmpeg make video processing easy on some computers; other computers will have lots of trouble with codec incompatibilities. In order to avoid those troubles, I recommend the following procedure:

  1. Use your cell phone to record any source video that you want to use, or download souces from the web. Note 1: feel free to use copyrighted materials if you wish, but be sure to tell me about it. Note 2: you don't have to use any source materials at all; you can synthesize everything in Python if you wish.
  2. If you have any source video, chop it into individual image frames, e.g., using ffmpeg as shown in this tutorial. If you also want to extract the audio from your video, you'll probably want to convert it to a WAV file. I think you can do that using:
    ffmpeg -i inputvideo.mp4 -vn -acodec pcm_s32le outputwav.wav
  3. Process the image frames and the audio file using your own source code.
  4. Recombine the processed image frames and processed audio into a finished movie using VirtualDub as shown in this tutorial video, or using ffmpeg as shown in this tutorial.

Examples from Fall 2014

Project Definition, Fall 2014

Final Project.

Example Student Projects, Fall 2014