This is an excerpt from
Alessandro Cipriani - Maurizio Giri
ELECTRONIC MUSIC AND SOUND DESIGN
Theory and Practice with Max/MSP - Vol. I
Foreword by David Zicarelli
548 pages - ISBN 978-88-905484-0-6
||You can find this book also at:|
Amazon - Barnes and Noble - CdeMusic.org
by David Zicarelli
It might seem odd to you, but many years ago, I spent a lot of time
learning about making sound with a computer by reading books and
articles while trying to imagine what the synthesis techniques being
described would actually sound like. While I suppose my imagination
might have been stimulated by this practice, I am happy that real-time
synthesis has progressed to the point where you no longer have to be
deprived of the perceptual experience that is such an important part
of learning the techniques of digital synthesis.
Alessandro Cipriani and Maurizio Giri's book is one of the first
courses on electronic sound that explicitly integrates perception,
theory, and practice using examples of real-time sound synthesis you
can manipulate and experience for yourself. In my view, the
manipulation aspect of learning about sound is critically important.
It helps lead you to what Joel Chadabe terms "predictive knowledge" --
the ability to intuit what will happen to a sound before you take an
action to change it. We all have some level of predictive knowledge.
For example, most of us know that by turning a volume knob
clockwise, the sound coming from our amplifier will get louder.
Once we enter the realm of digital sound synthesis, things quickly get
more complicated than a volume knob, and we need the first-hand
experience of manipulation and perception in order to deepen our
However, to educate ourselves fully about digitally produced sound, we
need more than predictive knowledge. We need to know why our
manipulations make the perceptual changes we experience. This
theoretical knowledge reinforces our intuitive experiential knowledge,
and at the same time, our experience gives perceptual meaning to
In my opinion, Cipriani and Giri have done a masterful job of allowing
experiential and theoretical knowledge to reinforce each other. This
book will work either as a textbook or as a vehicle for the
independent learner. As a bonus, the book includes a thorough
introduction to digital signal processing with Max/MSP and serves as a
wonderful introduction to the programming concepts in that software.
As you will see, the theoretical chapters are the "T" chapters, while
practical and experiential knowledge is imparted by the "P" chapters.
These chapters alternate, in the form of a ladder, refining the
concepts at ever higher levels of sophistication.
I hope you will take advantage of the excellent Max/MSP examples the
authors have created. They are simultaneously fun and enlightening,
and they sound good enough to use on stage. They are also worth
examining as models for your own Max/MSP patches, or for extending in
new ways. But a few minutes of messing around with the examples is not
the same thing as studying the concepts in the book. The book provides
the language for expressing the concepts in terms of the underlying
theory. Knowing the theory is essential, because presumably you're
reading this book because you want to be more than someone who can
turn a volume knob.
That is the authors' wish for you, and mine as well. I want to wish
you good luck on this new adventure, and also thank my two Italian
friends for creating such a comprehensive resource for learning about
digital music -- the one I wish existed when I was a student!
David Zicarelli, publisher of Max/MSP
This is the first of a series of three volumes dedicated to digital synthesis and sound design. The second volume will cover a range of additional topics in the realm of sound synthesis and signal processing, including dynamics processing, delay lines, reverberation and spatialization, digital audio and sampled sounds, MIDI, OSC and realtime synthesis. The third volume will be concerned with non-linear techniques (such as AM and FM synthesis), granular synthesis, analysis and resynthesis, convolution, physical modeling, micromontage, and computer-aided composition.
This first volume will be useful to several levels of reader. Prerequisites for its study are minimal, and include nothing more than rudimentary musical knowledge such as an understanding of notes, scales, and chords, as well as basic computer skills such as saving files, copying and pasting text.
The volume should be equally useful for self-learners and for those studying under the guidance of a teacher. It is laid out as chapters of theoretical background material that are interleaved with chapters that contain practical computer techniques. Each pair of chapters stands together as a unit. We suggest that curricula follow this structure, first touching on theory, then following up with hands-on material, including computer activities. The theoretical chapters are not intended to substitute for more expansive texts about synthesis; they provide, instead, an organic framework for learning the theory that is needed to invent sounds on the computer and to write signal processing programs.
TIME NEEDED FOR STUDY
The time needed for this material will, of course, vary from person to person. Nonetheless, here are two estimates to help in planning, one for learning under the guidance of an expert teacher, and the other for self-learners:
(300 total hours of individual study)
|Chapters ||Topic ||Total hours
|1T+1P+IA ||Sound synthesis ||100
|2T+2A ||Additive Synthesis || 60
|3T+3P+IB ||Subtractive Synthesis and Filtering ||110
|4T+4P ||Control Signals ||30 |
(60 hours of classroom-based learning + 120 hours of individual study)
|Chapters ||Topic ||Lessons/Feedback/Studio time/Total hours
|1T+1P+IA ||Sound synthesis ||16 / 4 / 40 / 60
|2T+2A ||Additive Synthesis || 10 / 2 / 24 / 36
|3T+3P+IB ||Subtractive Synthesis and Filtering ||18 / 4 / 44 / 66
|4T+4P ||Control Signals ||5 / 1 / 12 / 18 |
THE INTERACTIVE EXAMPLES
The path laid out in the theoretical sections of this book is meant to be accompanied by numerous interactive examples, which are available on the website. Using these examples, the reader can immediately refer to the example sounds being discussed, as well as their design and elaboration, without having to spend intervening time on the practical work of programming. In this way, the study of theory can be immediately connected to the concrete experience of sounds. The integration of understanding and experience in the study of sound design and electronic music is our objective. This principle is the basis for the entire set of three volumes, as well as for future online materials that will help to update, broaden, and clarify the existing text.
THEORY AND PRACTICE
As we just said, the teaching approach for this book is based, first and foremost, upon an interplay between theory and practice, which we believe is indispensable. One of the glaring problems in the field of digital sound processing is the knowledge gap that exists between experts in theory (who often have neither the time nor the need to tackle concrete technical problems that are so relevant to the actual practice of creating sound) and those enthusiasts, much more numerous, who love to invent and modify sounds using their computers. These enthusiasts persevere, despite gaps in their theoretical awareness and/or in their understanding of how sounds may be modified within the rigid confines forced upon them by their specific software. It is our intention help these users of music software to acquire the deeper understanding that will take them beyond the confines of specific software to access the profound power inherent in the medium.
Teaching approach and method of this book
On the basis of the problems and concepts described above, we have tried to fill the information gap by continuing in the direction already begun with the book titled “Virtual Sound” (Cipriani and Bianchini), also dedicated to sound synthesis and signal processing. The innovations in this new text are substantial, with regard to both the examples provided and a completely different teaching approach. Because very little academic literature is available concerning methods for teaching electronic music, we have approached the problem directly, considering various promising ways to plumb the depths of the subject material. This exercise has led us to an organic teaching method, in which we adopt various ideas and techniques from foreign language textbooks in order to develop a more context-based, open-ended and interactive concept of teaching and learning.
In addition to interactive examples, we have included “learning agendas” that detail the specific objectives for each chapter, that include listening and analysis activities, exercises and tests, glossaries, and suggestions for recordings to which to listen. The practical chapters of the book also include many other new features and activities, including the correction, completion, implementation, debugging, testing and analysis of algorithms, the construction of new algorithms from scratch, the replacement of parts of pre-built algorithms, and reverse engineering (in which the reader listens to a sound and then tries to invent an algorithm to create a similar sound).
These activities and tasks are intended to activate the knowledge and practical skills of the reader. When learning a foreign language, there is a gap between what one knows and what one is able to use in practice. It is common for a student’s passive vocabulary (the total number of terms that the student can recognize) to be much larger than the active vocabulary that he or she can actually use while speaking or writing. The same is true of a programming language: a student can understand how algorithms work without being able to build them from scratch. The activities in this book that concentrate on replacing parts of algorithms, completing unfinished algorithms, correcting algorithms with bugs, and reverse engineering, have been included in order to pose problems to which the reader is encouraged to find his or her own solutions, causing the learning process to become more active and creative.
When learning a foreign language, students are given replacement exercises (e.g. "replace the underlined verb in the following phrase: I wish I could go out"), correction exercises (e.g. "correct the following phrase: I want to went home”), and sentences to be completed (e.g. “I'd like to ... home”). In this context, it is vitally important for the student to work at these activities in order to avoid an excessively passive approach to learning. Our approach, likewise, not only involves interactions between the perception of sounds and the knowledge deriving from reading the book and doing the practical activities, but also interactions between these two factors and the user’s own skills and creativity.
This method is not based on a rigidly linear progression, but is rather a network that enables the reader to acquire knowledge and practical skills through an interaction of four separate dimensions: learning of the theoretical concepts, learning to use the MaxMSP program, interacting with example material, and constructing algorithms.
The practical parts of this book are based on the software MaxMSP. This program, written originally by Miller Puckette, was extensively revised and expanded by David Zicarelli, and is published as a supported product by Cycling ’74 (www.cycling74.com). MaxMSP is an interactive graphic environment for music, audio processing, and multimedia. It is used throughout the world by musicians, composers, sound designers, visual artists, and multimedia artists, and it has become a de facto standard for modern technologically-enabled creative projects in both the musical and in the visual spheres.
It is a graphic programming language, and is therefore relatively easy to learn, especially given its great power and expressivity. In MaxMSP one creates programs by connecting onscreen graphic objects with virtual cables. These objects can perform calculations, produce or process sounds, render visuals, or be configured as a graphical user interface. Using its sound synthesis and signal processing capabilities, one can fashion soft-synths, samplers, reverbs, signal-processing effects, and many other things.
In practice, MaxMSP adopts the metaphor of the modular synthesizer: each module handles a particular function, exchanging data with the modules to which it is connected. The difference between a traditional modular synthesizer and MaxMSP is that with MaxMSP, one can access and control a level of detail that would be inconceivable in a preconfigured synthesizer or extension module (whether hardware or software).
Many indispensable materials accompany this book, among them, interactive examples, patches (programs written in MaxMSP), sound files, programming libraries, and other materials. These can be found at the book web site.
During the study of a theory chapter, before moving on to the related practical chapter, it will help to use the interactive examples. Working with these examples will aid in the assimilation of the concepts raised by the theory.
The example files (patches), are created to be used with MaxMSP version 5 or higher, which is downloadable from the official Cycling ‘74 website, www.cycling74.com.
Alternating Theory and Practice
In this book, theoretical chapters alternate with chapters which are geared towards programming practice. Because of this, the reader will find himself taking on all of the theory for a given chapter before passing to the corresponding practical chapter. An alternative to this approach would be to read a single section from the theory, and then go directly to the corresponding section of the practical chapter. (For example, 1.1T and 1.1P, then 1.2T and 1.2P, etc.
Note that there are two “technical interludes”, the first between the first and second chapters, and the second between the third and fourth chapters. These interludes, named respectively “Interlude A” and “Interlude B”, are dedicated specifically to the MaxMSP language. They don’t relate directly to any of the theoretical discussions, but they are very necessary for following the code traced out in the book. After having tackled the theory and practice of the first chapter, before moving on to the second chapter, it will benefit the reader to study Interlude A. Likewise, Interlude B is meant to be studied between Chapters 3 and 4.
Learning MaxMSP (and, in general, learning synthesis and sound processing) requires effort and concentration. In contrast to much commercial music software, MaxMSP provides flexibility to the programmer, and this design choice provides those programming with MaxMSP many alternative ways to build a given algorithm. To benefit from this freedom, however, it is advisable to consider the recommendations of the book and to code in a systematic way. MaxMSP is a true musical instrument, and learning to play it should be approached as one would approach the study of a traditional instrument (such as a violin). As with any instrument, the reader will find it necessary to practice regularly, and to stay sharp on basics while gradually acquiring more complex techniques. By approaching the software in this way, fundamental techniques and technical insights can be retained once they have been acquired.
The decision was made to limit the bibliography in this book to a list of only the most absolutely essential reference works, and, of course, a list of the books and articles cited in the text. A more comprehensive bibliography is available online.
To begin working with this book, you will need to download the interactive programming examples, which you will find at the support page for this text. While reading the theory chapters, you will find constant references to the examples contained in this downloadable archive.
To work interactively with the programming chapters of the book, you will need to download the Virtual Sound Macro Library from the support page mentioned above. It will also be necessary to install MaxMSP, which is available at the Cycling74 website: www.cycling74.com. The same web page contains detailed instructions regarding how to install MaxMSP and the macro library correctly; look for the document entitled “How to Install and Configure MaxMSP”.
Always check the support page for patches (MaxMSP programs) related to the practice chapters of this book, as well as the audio files for the reverse engineering exercises.
We wish to thank Gabriele Cappellani, Salvatore Mudanò and Francesco “Franz” Rosati for their patience and long hours of work, and Dario Amoroso, Joel Chadabe, Mirko Ettore D’Agostino, Luca De Siena, Eugenio Giordani, Gabriele Paolozzi, Giuseppe Emanuele Rapisarda, Fausto Sebastiani, Alvise Vidolin and David Zicarelli for their generosity.
This text is dedicated to Riccardo Bianchini, who would have wanted to participate in the production of this teaching text, but who, unfortunately, passed away before the work began. We have collected some of his materials, revised them, and cited them in a few of the sections on theory. This seemed to be a way to have Riccardo still with us. A particular thanks goes to Ambretta Bianchini for her great generosity and sensitivity during these years of work.
Alessandro Cipriani and Maurizio Giri
from “Electronic Music and Sound Design” Vol. 1 by Alessandro Cipriani and Maurizio Giri
© ConTempoNet 2010
All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.