TECH 350: DSP SYLLABUS


CONTACT INFORMATION

Professor: Eli Stine

Contact: estine@oberlin.edu

Office Location: Bibbins Hall Basement – TIMARA Studio 00X (Zoom me)

Office Hours: By appointment in office/remotely. You may schedule a meeting at <Google Appointment Booking TBD>.


MEETING TIME AND LOCATION

Class Meeting Times: Tuesday, Thursday 11AM - 12:15PM

Class Location: TIMARA Gallery (Bibbins Hall Basement)


COURSE OVERVIEW

Digital Signal Processing (DSP) is a branch of engineering that is at the core of the digital media revolution of the past four decades, bringing us advances in audio-visual protocols (the MP3, video compression-decompression schemes, on-demand Internet streaming), sound processing techniques (real-time computer music performance, spectral audio signal analysis and re-synthesis, Music Information Retrieval), and ultimately a redefinition of how the world creates and consumes audio-visual art.

This course will provide a foundation of DSP theory, covering the time domain and the frequency domain (and their representations), discrete time signals, convolution, Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) filter design, the z-Transform, Linear Time-Invariant (LTI) systems and non-linear systems, and the Discrete Fourier Transform (DFT), Fast Fourier Transform (FFT), and Short-Term Fourier Transform (STFT). Take-home exercises will be done with pen-and-paper and/or Matlab (a programming language often used in DSP computing).

Unlike other DSP courses housed in a science department, this course will then switch to an applied, creation-centric mode, wherein a sequence of projects will help students define and build a personal set of DSP skills and tools that directly engage their own creative work, extending or deepening other projects undertaken for TIMARA classes or within their own techno-artistic praxis. These projects will make use of the Max programming language (and in particular Max’s [gen~] environment), Python and/or Matlab audio programming libraries, the JUCE application framework (for building audio processing plug-ins), and other applicable tools.


COURSE MATERIALS + TOOLS

There is no textbook for this course. Readings will be distributed as PDFs via the TECH 350 Box folder. Below is a non-exhaustive list of software tools made use of in this course:

GNU Octave (free and open Matlab substitute)

Max (node-based graphic audio programming software)

Max For Live (M4L) (integration of Max patches into Ableton Live)

gen~ (sample-based digital audio programming in Max)

MuBu, PiPo (music information retrieval extensions of Max)

Pure Data (free node-based graphic audio programming software)

Projucer (audio plug-in development platform using JUCE)

HISE (audio plug-in development platform using JUCE)

iPlug2 (C++ audio plug-in framework)

Sonic Visualizer + Sonic Annotator (and other music feature extraction systems)

In addition, the following tools are also required:

An external hard drive and/or access to a cloud-based storage account with sufficient storage to back up your projects (such as Oberlin’s free Box account: oberlin.edu/cit/box or github.com).

(Save early and often, and consider backing up in at least two locations (on your computer, your external hard drive, AND on Dropbox, for example). Loss of data (AKA “the digital dog ate my homework”) is NOT an acceptable excuse for late project submission.)


Attendance + late submission policy

Attendance is a mandatory component of this course, and will be taken at each class.

2 classes may be missed, for any reason, and not adversely affect your grade, but missed work must be made up in its entirety.

  • Missing 3 classes = third letter grade deduction (3.3%) off of course grade

  • Missing 4 classes = half letter grade deduction (5%) off of course grade

  • Missing 5 classes = full letter grade deduction (10%) off of course grade

  • Missing 6 classes = automatic failure of the course (no exceptions)

2 impartial attendances (arriving in class more than 5 minutes after the start of the class or leaving class more than 5 minutes early) will be counted as a missed class. An impartial attendance that involves arriving more than 30 minutes late or leaving 30 minutes early will be counted as an absence.

All assignments should be submitted no later than the assignment due date. Late assignments will be graded based on a sliding letter grade penalty:

  • Submitted a day late (up to 24 hours after the assignment due date) = full letter grade deduction (10%)

  • Submitted two days late (more than 24 hours and up to 48 hours after due date) = two letter grade deduction (20%)

  • Submitted three days late (more than 48 hours and up to 72 hours after due date) = three letter grade deduction (30%)

  • Submitted more than three days late (more than 72 hours after due date) = automatic 0% on the assignment (no exceptions)


GRADING OVERVIEW

The grading for this course is based on four different types of assignments:

Quizzes (15%)

Three quizzes (5% each) will be given during the first half of the course to test comprehension and retention of concepts covered in class.

Mini-assignments (30%)

Ten mini-assignments (3% each) will be assigned during the first half of the course to reinforce the learning of concepts and tools covered in class.

class presentation (10%)

Short prepared presentations on Music Information Retrieval (MIR) extractable features or time-frequency representations of sound, professor-assigned.

final project (45%)

An individual project created over the second half of the course created in stages: first a proposal and private meeting with the professor to define the final project goals, several mid-project checks to evaluate progress toward those goals, a presentation of the project, a corpus of music demonstrating/created with the project, and a short technical paper describing the project.

For more details on assignments, see the TECH 350: DSP Assignments page.


CLASSROOM ENVIRONMENT + GENDER PRONOUNS

Make your best effort to arrive on time to class and to not leave early (unless a specific exemption is made with me beforehand).

Lectures are phone-free (at all times).

You’re welcome to take notes on paper or on your laptop.

Do not work on assignments for other classes during our class time.

At all times during this course, the classroom, professor’s office, and TA’s space will be locales where you will be welcomed and treated with dignity and respect. People of all ages, backgrounds, beliefs, ethnicities, genders, gender identities and expressions, sexual orientations, national origins, religious affiliations, abilities, and other visible and nonvisible differences are welcome. All members of this course are expected to behave in a manner that nurtures this environment. The course roster includes student’s full legal names; please let me know your preferred name and/or gender pronouns early in the semester.


INDIVIDUALIZED LEARNING NEEDS

The College makes reasonable accommodations for persons with disabilities. Students should notify the Office of Disability Services located in Peters G-27/G-28 and the instructor of this course of any disability related needs. For more information, see http://new.oberlin.edu/office/disability-services/index.dot.

If you are eligible for and need academic adjustments or accommodations because of a disability (including non-visible disabilities such as chronic diseases, learning disabilities, head injury, attention deficit/hyperactive disorder, or psychiatric disabilities) please speak with me early in the semester.


OBERLIN HONOR CODE

Students are expected to adhere to the Oberlin College Honor Code. Any violations will be reported to the Honor Code Committee.

If you have any questions about what is permitted and what is not, please feel free to ask your TA or myself.

For every assignment, students must indicate whether they followed the Honor Code in completing the assignment. If so, students should end each assignment by writing and signing:

I have adhered to the Honor Code in this assignment.