Com Sci 295
Digital Sound Modelling: course information
Goals of the Course
In this course we learn how the basic structure of sound perception
affects the useful ways of processing sound through digital
computations. The focus is on basic synthesis techniques, rather than
on signal analysis, or on special applications of synthesis such as
music or speech. The text title is misleading---it is not as closely
oriented to music as it seems.
Prerequisites
Introductory computer programming (ComSci 105/106 or 110/111 or
115/116), basic knowledge of trigonometry, calculus, and complex
numbers.
Electronic Communications
We make crucial use of three forms of electronic communication in CS221:
shared files, the World Wide Web (WWW), and electronic mail.
- You must provide a publicly readable directory named
CS295 in your home directory on the
CS computer file system. I will
collect links to these in my own public class directory:
/stage/current/CS295/Class_members. Store all online
materials
that you develop for this class in your public directory, so
that we can share work. I also encourage you to develop your
own WWWeb materials.
- I will also provide course materials in a form accessible
through WWW, at the URL
http://www.classes.cs.uchicago.edu/classes/current/CS295/.
The recommended tools for viewing this material are Mosaic
and NetScape from graphics terminals and Lynx from
character terminals.
- There is a public
class discussion,
consisting of comments attached by students and the instructor to
various online course materials. All questions and
comments that are not personal or confidential should be added to
this discussion, so that everyone can benefit from them.
- Personal discussions, particularly about grading, and requests
for appointments, may be addressed to me by electronic mail at
odonnell@cs. These will normally be the only types of
correspondence that should be made by electronic mail.
You must check for new information in the WWW materials at least three
times a week: on Tuesday, Thursday, and the weekend. I recommend that
you check it daily, particularly the class discussion.
Topics
The sequence of topics in this course is organized around different
techniques for synthesizing and/or manipulating sound, roughly
increasing in sophistication and power.
- Continuous sound, sampling, and quantization. Sound is
naturally represented as a continuous function from a real number
representing time, to a real number representing the
pressure of the air at a certain point, or perhaps the
displacement. For some purposes, it seems better to regard sound as
a continous function from time to a complex number, whose real part
is some physical value such as pressure and whose imaginary part is
a related value such as displacement. In either case, computer
models of sound digitize the continuous function in two crucial
ways: (1) they sample the function at a discrete set of
input time values, and (2) they quantize the output
pressure/displacement values into fixed-point or floating-point
approximations. Each of these forms of digitization limits the
fidelity with which we can represent a given sound.
- Naive sound processing An obvious approach to sound synthesis
is to record real sounds, and manipulate them computationally. We
study some simple computational ways of manipulating the speed,
duration, and pitch of recorded sounds, and discover their
limitations.
- Additive synthesis with enveloping Steady sounds may be
constructed by adding simple periodic components, usually sine
waves. Then, these steady sounds may be shaped by amplitude
modulation with envelope functions that control the attack and
decay. We discover what sorts of sounds can and cannot be
constructed conveniently in this way.
- Filtering A filter is a sound transducer. We explore the
control of sound by applying different sorts of excitation to a
variety of filters.
- Special topics. If time permits, which it probably won't,
we will explore some more specialized topics, such as frequency
modulation, reverberation, or sonic imaging.
Each of the topics above involves three different types of material.
This material will be spread across the quarter as it becomes relevant
to a given topic.
- [A.]Sound perception. We develop an abstract and approximate
understanding of the way the ear analyzes vibrations of the air into
component frequencies. We discover the shortcomings of overly
simplistic descriptions of sound perception.
- [B.]Transform theory. We review the Fourier Transform as a
mathematical tool for analyzing sound into component frequencies. We
see how some of the shortcomings of the Fourier Transform are
corrected in the Z Transform and the Wavelet Transform.
- [C.]Experiment. We make a lot of noises and listen to them.
This is the fun part.
Class Work and Grading
I last taught this course in Spring 1999, but due to the unforseen,
there may be some adjustment to the plans. I anticipate a modest amount
of pencil-and-paper homework to exercise mathematical tools. There will
probably be a midterm and final exam, but these will test only basic
knowledge and skill, not creative problem solving. The main work for
the course will be a project, involving the creation of interesting
sounds such as a violin tone, a piano tone, or a sung vowel (one of
the above, not all three). All project work will be shared around
cooperatively among all students. I will grade your project, not on
the grounds of the program(s) that you write, but on a 1-hour private
interview in which you demonstrate and explain the results of the
project. You may use anyone's results in your interview (with
attribution, of course), but I will grade you on how well you explain
the results in terms of the ideas discussed in class.
The course grade will be determined mainly by the project interview
and participation in the project. Homeworks and exams may count up to
40%, depending on how extensive and significant they turn out to
be. I strongly recommend that you do a practice interview well before
the end of the quarter. I will be available for practice interviews
every week, but you must take the initiative to schedule one.
Maintained by Michael J. O'Donnell, email:
odonnell@cs.uchicago.edu