DEPARTMENT OF COMPUTER SCIENCE
Course number: 15-392
Instructor: Dr. Mira Balaban and Dr. Roger Dannenberg.
Office: WeH 3709
Office hours: Mon. 1-3 pm.
Phone: 268-7661.
Assistant: Ulas Bardak
Office: NSH 3612, Tel: 268-4083.
Office hours: TBA
Email: cyprus@cmu.edu
Time: 3:30 to 4:50 pm on Monday and Wednesday.
Place: BH237.
Goal: Music has a long tradition
of formal representations, descriptions, and analysis. In this course, students
will construct computational frameworks for the specification of music theories.
Topics of study include procedural abstraction, data abstraction, models of
music cognition, grammar and language models, tonal systems and structure,
constraint systems, and temporal ontologies.
The course takes a constructive approach in which students build computational models of music theories. Through this process, students will learn how various disciplines contribute theories of music, including psychology, musicology, computer music, artificial intelligence, and linguistics.
Students will use the Scheme programming language (which is a small kernel of LISP), and language extensions will allow student to generate music directly from their programs.
Course plan:
The
planned course is in three parts that will be inter-related during the course.
Part I -- Introductory computational notions:
1. Discussion of the variety of aspects, view-points, and approaches in the study of music. The need to develop/agree on a basic music ontology. Discussion of the components of knowledge representation. Discussion of the need to agree on primitives. What are primitives. Discussion of the need in abstraction of operations and concepts. Introduction to the basic notion of a formal language: Primitive expressions, combined expressions, abstraction expressions. The discussion will be motivated by music description languages such as MIDI and Csound.
2.
Naming as a first step towards
abstraction. Construction of an initial music "lexicon". Meter and
Pitch as abstractions of the Duration and Frequency sound parameters.
3.
Procedural abstraction. Primitive operations. Composite abstracted operations.
4. Music data abstraction: Music abstract data
types.
5. Experimental music tasks.
Part II -- Investigation of models in cognitive music
1.
Descriptive models
a. Models with psychology
orientation (music perception, melody understanding and remembering -- Doutch,
Krumhansl, Handel, Bregman).
b. Algebraic models for the tonal music and sound system
(Agmon, Brinker, Balaban).
c. Models for concrete music forms and processes (Narmour).
2.
Linguistic and Natural language
processing models (Winograd, Lerdhal & Jackendorff, functional unification
grammars).
Part III -- investigation of artificial intelligence motivated models:
a. Principals
of knowledge Representation.
b. Application of
Problem Solving approaches to creative music tasks.
c.
Constraint languages -- Temporal
constraints, Constraint based MIDI: In music activity and theory, constraints
appear in the physical, perceptual and cognitive levels. Constraints are used
to define the stylistic ideals of periods in music history (D. Cohen). Constraints
can be shared by a composer and a listener. They can be used in a passive
way to test the “validity” of a music piece, or can be used in an active way
to produce a process for music creation.
d.
Description logics for music.
Course organization:
1. There is a web site for the course: http://www.cs.cmu.edu/~music/392/
2. All class notes are availbale, online, in that directory, under the sub-directory course-material/lecture-notes.
3. It is recommended that students
come to class with hard copies of the class notes.
4. Homework: There are "small" weekly
assignments. All are mandatory. The assignments
are given online, in sub-directory course-material/homework. The assignments
are handed-in by the students following the instructions that will be given
by the assistant.
There is a small final project.
5. The DrScheme system is available for downloading by following
the links from the webpage.
6. The midi-lib extension is also available there.
Course grading:
Homework – 35 -- 40%.
Final project --
65-60%.
Text books:
===========
H. Abelson and G.J. Sussman: Structure and Interpretation
of Computer Programs. The MIT Press. 2nd edition. 1996.
Reference books:
1. P. norvig: Paradigms of Artificial intelligence Programming:
Case studies in Common LISP. Morgan Kaufmann Publishers. 1992.
2. D.P. Friedman, M. Wand, C.T. Haynes: Essentials of Programming Languages. MIT Press/McGraw-Hill, 1992.