CS 312 Final Project Ideas Requirements
CS 312 Audio Programming Winter 2020

Table of Contents

Final Project Ideas

Add a GUI interface and expand your midterm project

Something else you're interested in related to course

MIDI controlled sample player

  • MIDI Input - digital audio output

Add a Standard MIDI File Import and/or Export options to a CMidiPacket project

  • Implement 0xFn meta events used with SMF
  • Add 0xFn meta event to follow SMF Tempo map

Audio Syntheses

  • Waveshaping
  • Granular synthesis

FFT

  • Display spectrum
  • Audio fft analaysis, pitch identification
  • FFTW c++ library
  • KISS c++ library

FFT followed if Inverse FFT

  • Convolution Reverb (Multiplying spectra of the waveform with the impulse response of a room, cathedral, concert hall, etc.
  • FFT filtering (remove spectral components and get back the filtered waveform)

Audio Effects Processing

  • Multitrack mixing
    • Fade In, Fade Out, Crossfade
    • Balance levels

Filters in time domain

  • Biquad filters for Low Pass, High Pass, Bandpass, and Notch

Delay Lines/Multitap Delay Lines

Karplus-Strong Synthesis with MIDI control

  • use a sample of noise with a recirculating delay line to produce plucked string like sounds

Investigate and develop an app using a Third Party DSP Library
Pick one of these and develop a project using it. Report on the installation process, ease of use, and how it expands on what you've learned in class.

Final Project Requirements

This will be a Qt GUI project.

Final Project is is 15% of course grade.

You will be graded on:

  • Presentation. speaking, organization, and effective time planning (5%)
  • Source code. readability and technical execution (85%)
  • Paper. clarity, grammar, spelling, and organization (5%)
  • Instructor discretion based on creativity, originality, and going beyond class examples (5%)

Overview and Materials Checklist

  • Lecture Demonstration. Nine minute presentation time not counting setup.
  • Submit: 4-6 printed page paper describing your project (double spaced, 12 point font)
  • Submit: All source code and libraries needed for me to compile your program.
  • Submit: Any supporting materials supporting your presentation (Powerpoint, web links, etc).

Lecture - Demonstration

  • During final exam period, Saturday March 14, 3:30 - 6:00 pm
  • Present a technical overview of your project discussing interesting features of your project, problems encountered, and solutions found.
  • Partners share the presentation equally.
  • Presentation time is 8 minutes minimum and 9 minutes maximum once your presentation begins. The 12 groups presenting that use up 108 of the 150 exam minutes, leaving a buffer for questions and setup.
  • You will have access to the classroom computer/projector, sound system, and standard apps installed in the CMC lab.
  • Bring any MIDI devices and cables you plan to use to the presentation.

Items to submit to the course folder

These items must be in place in the Course Hand-in folder at the start of the presentation. It would be prudent to also bring a backup USB drive containing your materials to the presentation.

Source code folder
All Qt project, header, source files, and third party files and libraries needed to compile your program. I must be able to compile and run your program using Qt from this single folder.
Materials folder
A copy of your paper in MS Word, OpenOffice, LibreOffice, or PDF format. Details below.
Any supporting materials used in your presentation such as Powerpoint, web links, audio files, etc.
Printed paper
Final Paper is 4-6 pages double spaced, 12 point font.
Cite references to any source code borrowed from the internet, books, or non class materials.
Discuss problems encountered and solutions found.
Describe things you were especially pleased with.
Describe things you wish you could have done but weren't able to.
How close did you come to realizing your project goals.

Author: John Ellinger

Created: 2020-02-28 Fri 13:36

Validate