Music 120

Weekly Schedule

Introduction to Audio/Multimedia Application Programming


Announcements  |  Course Info  |  Weekly Schedule  |  Tutorials  |  Links

Lecture 1 (9/25/06): Introduction

Topics

  • Course overview
  • Application demos
  • Survey

Handouts

  • Syllabus
  • Preliminary information survey

Readings

Lecture 2 (10/2/06): Audio Programming (1)

Topics

  • Digital audio basics
  • Overview of audio APIs
  • Stk (and RtAudio)
  • Optional: PortAudio and CoreAudio

Assignment 1 (due 10/18/06)

Handouts

Readings

Lecture 3 (10/9/06): Audio Programming (2)

  • Callback function
  • Duplex mode
  • Audio effect & DSP basics
  • Stk effect/instrument classes
  • Error handling
  • Optional: FFTW

Handouts

Readings

Lecture 4 (10/16/06): Plug-ins

  • IDEs (Xcode)
  • VST Plug-in
  • Optional: Pd / Max/MSP extern programming

Handouts

Downloads

Readings

Lecture 5 (10/23/06): GUI (1) - Cocoa

  • Cocoa overview
  • OOP & Objective-C
  • Xcode & Interface Builder
  • StkX & GUI

Assignment 2 (due in three weeks)

Handouts

Downloads

Readings

Lecture 6 (10/30/06): GUI (2) - Qt

  • Qt API
  • Qt designer on Linux
  • Stk & Qt

Handouts

Downloads

Readings: Qt 3.3.6.

Lecture 7 (Friday, 11/3/06): GUI Programming and MVC

  • Event (NSEvent)
  • View (NSView)
  • Model, View, & Controller (MVC) model

Handouts

Downloads

Xcode project & files

Readings

Lecture 8 (11/13/06): Image and Graphics with Sound

  • Review of Cocoa View programming: NSView
  • Images and OpenGL with Cocoa
  • MVC

Final project proposal due

Handouts

  • Lecture slides
  • Connection diagrams
      - ColorProbe
      - StkOpenGLTeapot

Downloads

Xcode project & files
  • ColorProbe.zip
  • StkOpenGLTeapot.zip

Readings

Lecture 9 (Friday, 11/17/06): Network Communications

  • Audio streaming over network:
    InetWvIn/InetWvOut classes (Stk)
  • Open Sound Control (OSC)
  • MIDI

Week 10 (12/?/06): Final Project Presentation

Announcements  |  Course Info  |  Weekly Schedule  |  Tutorials  |  Links

Music 120 / Fall 2006 / CCRMA, Stanford University
Woon Seung Yeo
Last updated: Mon, 30 Oct 2006 17:06:25 -0800