[Book Review]
loadbang: Programming Electronic Music in Pure Data
loadbang: Programming Electronic Music in Pure Data
by Johannes Kreidler
Wolke Verlag, 2009. 287 pp. ISBN 978-3-936000-57-3.
http://publishinghouselink.com
€29,00 (Wolke Verlag)
The German publishing house Wolke Verlag has published their second book dedicated to the programming environment Pure Data (Pd). After the first book bang, a collection of technical and philosophical essays, the series is now continued with loadbang.
As the title suggests (alluding to Pd’s way of triggering a start-up process) this tutorial is targeted at students who want to learn Pd from scratch with little to no prior experience in computer music programming. The author Johannes Kreidler believes in learning by hearing rather than studying dry formulas. Therefore, the reader is advised to use the book besides her/his computer and immediately try anything new they encounter.
Each of the numerous topics is first introduced in theory, defining the technical concepts and introducing new elements of the Pd language needed to deal with these concepts. These are then implemented in a number of small applications, showing the reader how to use the ideas in practice and inviting them to experiment within the new environment. Small exercises with solutions complete each practical part. Each topic is concluded by an appendix that covers general observations the students might have made in the experimentation phase before and eventually introduces more language elements that could be used efficiently in the given context but have not been used in the practical section. For those who are especially interested in a certain topic, a final paragraph gives hints on where to find more information.
loadbang consists of a general introduction and four chapters that build on top of each other. Kreidler starts from scratch, guiding new students to create their very first patch. This is a good investment, since the readers are expected to recreate all programming examples themselves. The book does not include a CD-ROM thus forcing the readers to become fluent with the environment rather than using ready-made demos. For those who don’t want to get their hands dirty, the patches can still be downloaded from the author’s website.
By far the largest part of the book is covered by creating new sounds using various synthesis techniques. Once the reader know how to create interesting sounds, they are taught briefly how these can be controlled interactively, algorithmically and via pre-made scores. The final part of the book gives some ideas about what the author considers “advanced” topics, including structured programming.
Johannes Kreidler explicitly targets the book at composers who want to study Pd themselves. This means that no technical or mathematical background exceeding high school level is required to successfully work through the book. In fact, no musical knowledge nor skills are required either, though it is highly recommended that the reader finds joy in listening and experimenting with sounds.
One shortcoming of the book is that for in-depth discussions of topics not covered by the book (e.g. filter design) the reader is told to consult “leading textbooks” without any suggestions on what these could be. A short bibliography would have helped the here. At times, the text is a bit sloppy with facts: For instance the author suggests that Pd does audio processing at 16 bit. Since all signal processing is done with floating point precision this is simply wrong. While in general patches shown come along with a thorough explanation there are occasional examples that come with no text at all. Most likely these are intended to encourage the readers to find out what is going on by themselves.
loadbang tries to fill a large gap in Pd’s existing documentation in that it allows new users who are unable to attend academic courses or workshops to start to create software. Being an introductory text, the book’s mission is to flatten the steep learning curve of Pd. The text is easy to read and the large amount of examples makes it possible for new users to get interesting and immediate results. After having read the book, the readers will be able to create sounds using a variety of techniques within Pd. Whether this will make them create interesting music as well is certainly beyond the responsibility of this book. As a consequence, the aspects of controlling and programming logic are a bit too neglected in this tutorial. However, readers will find themselves “loadbanged” into a new and fascinating world that is open for exploration in a multitude of aspects.
All in all, I expect loadbang to be successfully used as a textbook for many workshops and introductory courses on Pure Data.
Social top