mat logo

MAT-240A: Digital Audio Programming: Sound I/O, Streaming and Plug-in APIs

    UCSB, Fall 2008 core audio

Contacts

Instructor: Stephen Pope

Time/Place

Lectures: Tues/Thurs. 10:00 - 12:00
Discussion Group/Lab: TBD
All are held in Music 2215 (CREATE class room)

Downloads


Course Abstract

This course is a practical introduction to modern digital audio programming; it is the first part of the six-quarter MAT 240 Digital Audio Programming course sequence. In MAT 240A, we focus on applications development tools, libraries, and interfaces for (1) sound and event I/O and streaming, and (2) plug-in architectures for web browsers and media processing software. We will not deal with signal synthesis or processing, but rather focus on I/O,  distribution, and processing software.

Students will read the seminal papers from the literature, as well as tutorials on recent industry standards, and will learn to use the current programming APIs and tools in several languages on a number of development platforms. The course reader will be available at the UCSB book store, and the course web site will include web references and code examples. Programming assignments will be given in the C, C++, Java, Smalltalk and/or SuperCollider programming languages, and will involve basic digital audio code development tasks on Linux, MS-Windows, Macintosh, and possibly other platforms.

Students are expected to know the basics of digital audio signal representation and processing, and to be proficient in C, C++, or Java (Smalltalk, SuperCollider, LISP, and/or XML are a plus). Grading will be on the basis of in-class participation and programming projects.


Course Outline

JACK

Introduction

Topic 1: Sound IO APIs

Topic 2: Sound Storage Formats

Topic 3: Audio Compression Formats

Topic 4: Plug-in Architectures


Web Links

mat logo