Electronic Music and Sound Design 2

  Theory and Practice with Max and MSP
volume 2

by Alessandro Cipriani and Maurizio Giri



Buy now

Foreword by Richard Bolulanger
  • ISBN-10: 8890548444
  • ISBN-13: 978-88-905484-4-4
  • Paperback: 728 pages
  • CONTENTS

    Foreword to the Second Volume by Richard Boulanger
    Translator’s Note by Richard Dudas
    Introduction and dedications


    Chapter 5T - THEORY
    DIGITAL AUDIO AND SAMPLED SOUNDS

    LEARNING AGENDA
    5.1 Digital sound
    5.2 Quantization and decimation
    5.3 Using sampled sounds: samplers and looping techniques
    5.4 Segmentation of sampled sounds: blocks technique and slicing
    5.5 Pitch manipulation in sampled sounds: audio scrubbing
    Glossary

    Chapter 5P - PRACTICE
    DIGITAL AUDIO AND SAMPLED SOUNDS

    LEARNING AGENDA
    5.1 Digital sound
    5.2 Quantization and decimation
    5.3 Using sampled sounds: the sampler and looping
    5.4 The segmentation of sampled sounds: the blocks technique and slicing
    5.5 Pitch manipulation of sampled sounds: audio scrubbing
    List of Max objects, List of attributes and messages for specific Max objects, Glossary

    Interlude C - PRACTICE
    MANAGING TIME, POLYPHONY, ATTRIBUTES AND ARGUMENTS

    LEARNING AGENDA
    IC.1 The passage of time (in Max)
    IC.2 Making a step sequencer
    IC.3 Polyphony
    IC.4 Abstraction and arguments
    List of Max objects, List of attributes, messages and graphical elements for specific Max objects, Glossary

    Chapter 6T - THEORY
    DELAY LINES

    LEARNING AGENDA
    6.1 Delay time: from filters to echoes
    6.2 Echoes
    6.3 Looping using delay lines
    6.4 Flanger
    6.5 Chorus
    6.6 Comb filters
    6.7 Allpass filters
    6.8 Phaser
    6.9 Pitch shifting, reverse and variable delay
    6.10 The Karplus-Strong algorithm
    Fundamental concepts, Glossary, Discography

    Chapter 6P - PRACTICE
    DELAY LINES 
    LEARNING AGENDA
    6.1Delay time: from filters to echoes
    6.2 Echoes
    6.3 Looping using delay lines
    6.4 Flanger
    6.5 Chorus
    6.6 Comb filters
    6.7 Allpass filters
    6.8 Phaser
    6.9 Pitch shifting, reverse and variable delay
    6.10 The Karplus-Strong algorithm
    6.11 Delay lines for Max messages
    List of Max objects, List of attributes, messages and arguments for specific Max objects

    Chapter 7T - THEORY
    DYNAMICS PROCESSORS

    LEARNING AGENDA
    7.1 Envelope followers
    7.2 Compressors and downward compression
    7.3 Limiters and live normalizer
    7.4 Expanders and downward expansion
    7.5 Gates
    7.6 Upward compression and upward expansion
    7.7 External side-chain and ducking
    7.8 Other creative uses of dynamics processors
    Glossary

    Chapter 7P - PRACTICE
    DYNAMICS PROCESSORS

    LEARNING AGENDA 
    7.1 Envelope followers
    7.2 Compressors and downward compression
    7.3 Limiters and live normalizer
    7.4 Expanders and downward expansion
    7.5 Gates
    7.6 Upward compression and upward expansion
    7.7 External side-chain and ducking
    7.8 Other creative uses of dynamics processors
    List of Max objects, List of attributes, messages and arguments for specific Max objects,

    Interlude D – PRACTICE
    ADVANCED PRESET MANAGEMENT, BPATCHER, VARIABLE ARGUMENTS, DATA AND SCORE MANAGEMENT

    LEARNING AGENDA
    ID.1 Advanced preset management
    ID.2 Bpatcher, variable arguments and local arguments
    ID.3 Managing data and scores with Max
    List of Max objects, List of attributes, arguments, messages and commands for specific Max objects, Glossary

    Chapter 8T - THEORY
    THE ART OF ORGANIZING SOUND: MOTION PROCESSES

    LEARNING AGENDA
    8.1 What are motion processes?
    8.2 Simple motion
    8.3 Complex motion
    8.4 Exploring motion within timbre
    8.5 Compound motion
    8.6 Algorithmic control of motion
    8.7 Introduction to motion sequences
    Glossary

    Chapter 8P - PRACTICE
    THE ART OF ORGANIZING SOUND: MOTION PROCESSES
    LEARNING AGENDA
    8.1 Motion processes
    8.2 Simple motion
    8.3 Complex motion
    8.4 Exploring motion within timbre
    8.5 Compound motion
    8.6 Algorithmic control of motion
    8.7 Introduction to motion sequences
    List of Max objects, Glossary

    Chapter 9T - THEORY
    MIDI

    LEARNING AGENDA
    9.1 The MIDI standard
    9.2 MIDI messages
    9.3 MIDI controllers
    Glossary

    Chapter 9P - PRACTICE
    MIDI

    LEARNING AGENDA
    9.1 MIDI and Max
    9.2 MIDI message management
    9.3 MIDI and poliphony
    9.4  Controlling a monophonic synth
    List of Max objects, List of attributes and messages for specific Max objects

    INTERLUDE E
    MAX FOR LIVE

    LEARNING AGENDA
    IE.1 An introduction to MAX for LIVE
    IE.2 Basics – creating an audio effect with M4L
    IE.3 Virtual instruments with M4L
    IE.4 Max MIDI effects
    IE.5 Live API and Live Object Model (LOM)
    List of Max objects, List of Attributes, messages and actions for specific Max objects

  • FOREWORD TO THE SECOND VOLUME

    by Richard Boulanger

    With their Electronic Music and Sound Design: Theory and Practice with Max and MSP the master teachers and composers – Alessandro Cipriani and Maurizio Giri have produced a series of “interactive and enhanced books” that present the student of computer music with the finest and most comprehensive electroacoustic curriculum in the world. By “illustrating” the text with a wealth of figures and clearly explained equations, they take the reader “under the hood” and reveal the algorithms that make our computing machines “sing”. By using David Zicarelli’s incredibly powerful and intuitive media-toolkit – Max to create hundreds of synthesis, signal processing, algorithmic composition, interactive performance, and audio analysis software examples, Cipriani and Giri have provided the means for students to learn by hearing, by touching, by modifying, by designing, by creating, and by composing. On page after page, and with Max patch after Max patch, they brilliantly guide the student to a deeper knowledge and understanding that is guaranteed to release their musical creativity in new and profound ways.

    As we all know, digital cameras are so “smart” today that it is virtually impossible to take a bad picture. But how to frame and freeze a moment in time, and then to have that frozen moment “speak” through time – no camera can do that. A “photographer” does that. And it takes a great teacher, a great mentor to help a student “see” what is right before their eyes. How does a great teacher do this? They practice what they preach, and they teach by example. This is exactly what Cipriani and Giri do in this series. Electronic Music and Sound Design is filled to overflowing with working and teaching examples, models, and code. It is a treasure chest of riches that will enlighten and inspire the 21st century musician, audio artist, and designer to make the most of their “instrument” – the computer itself. They are teaching the next generation how to play it!

    Today, brilliant design provides us with intuitive tools and systems that “anyone” can make work; but understanding how they actually work, and understanding how one might actually work with them – that is the challenge. Innovation doesn’t spring from accidents and good luck. For sure, turning knobs can produce some crazy sounds, but a collection of crazy sounds is far from musical. As Varese would say, “music is organized sound”. I would humbly expand this by saying that “music is structured sound”, “music is sculpted sound”; music is the manifestation and articulation of “thought forms” that we resonate with and share, “mind models” that spring fourth from “sound understanding”. The masterpieces of tomorrow’s Audio Art will reveal a vision that comes into focus as today’s students grow in their appreciation and understanding of how things work and how to work with them, and Cipriani and Giri are paving the way for an age of audio enlightenment.

    I firmly believe that this series by Cipriani and Giri, these “interactive and enhanced books”, in which definition and design, in which theory and practice, in which compositional advice supported by an analysis of historical masterworks are all so tightly coupled with audio examples and editable and working Max and Max for Live patches, set the stage for the next generation of innovators. This book is essential for young and creative computer musician who have the tools and want to know how they work and how to work with them. In Electronic Music and Sound Design, Cipriani and Giri feed the hands, they feed the ears, and they feed the minds of the students in ways and to a degree that no computer music textbook has ever done.

    Volume 1 moved from basic audio to software synthesis, filtering, spatialization, and some MIDI, with a great introduction to Max and a good assortment of Max tricks. Along the way, they introduced and covered a lot of synthesis and signal processing theory. The book is structured with a “theoretical and practical” chapter to be studied in parallel. A unique collection of Max patches is provided, in “presentation” mode, so that the theoretical concepts can be “explored”. There is audio ear training, chapter tests, activities, suggested projects and modifications, and a unique glossary of terms, at the end of each chapter. In fact, each chapter begins with a set of “learning objectives” and “competencies”, and a list of prerequisites (usually the contents of the previous chapters). The chapters are filled with exercises, activities, assignments and end with a quiz. It is a great curricular model. I am a particular fan of Chapter 3 on Noise, Filters, and Subtractive Synthesis as it is a great balance of practical, mathematical and theoretical. The “practical” chapters feature full Max Patches ready to be modified, repaired, expanded, and explored. In addition to the theoretical and practical chapters, there are two “Interludes” that focus on Max programming. In addition to all the patches featured in the “text”, Cipriani and Giri provide a huge library of abstractions (they call them “macros”) that make programming and design even more efficient. There are many solutions, optimizations, and tricks revealed in this collection too, and it is worth some serious study as well. It is truly amazing how much computer music you are learning and how much Max you are learning – at the same time!

    Volume 2 is structured much like Volume 1 – starting each with chapter objectives and outcomes and ending with a quiz and a chapter-specific glossary of terms. In fact, it picks up where the first volume left off – starting with chapter 5! In general it features a more in depth coverage of topics and builds on what was learned in Volume 1. By this point, the student is more advanced in their understanding and skills and so more depth is presented and more difficult challenges are assigned. As might be expected, in this volume three “Interludes” take the reader even deeper into Max with a focus on time and sequencing, advanced preset, data, time, polyphony, and score management and the idiosyncrasies of working with bpatchers, concluding with a major interlude focusing on Max for Live and the Live API that helps the reader to move all their studies into a rich and robust production and performance environment. As in Volume 1, the chapters are again organized in pairs with a theoretical chapter supporting a practical chapter.

    Chapter 5 focuses on Digital Audio and Sampling and features some really exciting “sample-cutters” and “scrubbers”. Chapter 6 focuses on Delay Lines and associated effects such as comb-filtering and pitch shifting and culminating in delay-line based synthesis – the famous Karplus-Strong plucked string algorithm. Lots of great sounds here. Chapter 7 focuses on Dynamic Processors, Envelope Followers, Compressors, Limiters, and their creative use – such as side-chaining. There are a lot of practical and useful performance tools here.

    The game changer in the series, and the masterpiece of this book is what is covered in Chapter 8. Here Cipriani and Giri begin to teach the reader about the world of computer music and how to “speak” the language with some fluency – how to compose Audio Art. It is titled: “The Art of Organizing Sound: Motion Processes”. In it Cipriani and Giri present and analyze a number of masterworks, link to them on their website, and showcase some of the processes that define their uniqueness. Further, the compositional approach, and the aesthetic ideas of a number of innovative composers is cited. This chapter is not only filled with musical models, but also filled with some wonderful role models – including the inspiring compositions of Cipriani and Giri themselves. This chapter is so important at this point in the “course” because it establishes context and sets the stage for more expanded compositional work with the techniques that have been learned and the systems that have been built. This is where Cipriani and Giri teach the student to “see”.

    Finally, Chapter 9 focuses on MIDI and gives us a deeper and more complete review of the MIDI spec and shows the ways that this knowledge and these messages can be applied in Max. This chapter sets the stage for the final Interlude that focuses on the incredibly important Max for Live application of the work thus far.

    And so…

    Volume 1 was fantastic. Volume 2 raises the bar and brings insights into the compositional process, new ideas on working with “time-forms”, and new ways to integrate signal processing and synthesis algorithms into a powerful performance and production tool via Max For Live. I can’t wait for Volume 3! Until then, I will close by saying that I am deeply honored to be associated with this great pedagogical milestone and to write the foreword for Volume 2. Moreover, I am so happy for all the students around the world who will learn so much from working their way through the text, the examples, the music, the quizzes, the projects – all under the guidance of these great teachers – Alessandro Cipriani and Maurizio Giri.

    Max is the brilliant and inspired artistic creation of David Zicarelli and Miller Puckette. This software has revolutionized the field of computer music and made it possible for “musicians” to write software; for “musicians” to develop their own custom interactive systems. As such Max has liberated the artist, and revolutionized the field of computer music, and made possible the most incredible, diverse, and profound musical creations and performances.
    For many years now, the international community of Max users, developers, and teachers has grown. Their numbers are vast, and the work that they have created and shared has been so inspiring; but to date, there has never been a full synthesis, signal processing, composition and production curriculum built on top of Max – not until now. The series of “interactive and enhanced books” under the title Electronic Music and Sound Design: Theory and Practice with Max and MSP clearly establishes Alessandro Cipriani and Maurizio Giri as two of the greatest and most important teachers of computer music in the world.

    Richard Boulanger
    Professor of Electronic Production and Design, Berklee College of Music
    Author and Editor of The Csound Book & The Audio Programming Book – MIT Press


  • TRANSLATOR’S NOTE

    by Richard Dudas

    Back in the days when Max had just a few dozen objects and a relatively restricted range of what it was capable of doing compared with the program today, it nonetheless still seemed like a limitless environment. Its basic object set could be employed, arranged and rearranged in countless ways to build whatever one’s imagination desired. It was an ideal tinkerer’s toolkit – much like the popular crystal radio sets and erector sets of the 50s and 60s, the more modern construction sets made of interlocking plastic pieces which first appeared in the 60s and 70s, or the basic microcomputer systems from the 80s. When Max came along at the dawn of 1990s, its “do it yourself” paradigm was perfectly suited to the creative and eager musician in the MIDI-based home studio in an era when much of the available commercial software had highly limited functionality. Max offered musicians and sound artists the ability to create their own software to “go outside the box” without needing to learn the intricacies of a textual programming language nor the mundane specifics of interfacing with the computer’s operating system.

    Since that time, the Max environment has continued to grow and evolve from a program geared toward interacting with MIDI and simple media to one that encompasses audio and video processing and connections to external software and hardware. But in getting bigger, the sheer magnitude of features available within it has caused it to become rather daunting for many musicians, even though they may actually be keen to discover what it has to offer. Furthermore, the instruments and audio effects that have become prevalent since digital audio workstations moved from the studio to the home studio have become increasingly more complex, so understanding their inner workings has consequently also oftentimes become mystifying. That is where this series of books by Alessandro Cipriani and Maurizio Giri comes to the rescue.

    This series of books provides a straightforward, musically-oriented framework to help new users get into the program and at the same time effortlessly learn the theory behind each of the topics they are studying. It also helps intermediate and advanced level students and professionals better grasp concepts they may already be acquainted with. In addition to presenting a progressive series of compelling musical tools and explaining their theoretical underpinning, it also supplies useful pre-fabricated high-level modules in instances where none readily exist in Max. Since these modules are provided as patches, they can be taken apart, analyzed, modified and learned from, or simply used as-is, depending on the user’s level of familiarity with the program. Most importantly, the books in this series do not attempt to teach every esoteric detail and object that is available in the environment – that is a good thing! – they concentrate on shedding light on those fundamental notions and tools (and some more advanced ones, too) that are immediately necessary to help users understand what they are doing and get started using the program creatively and practically.

    I have been a devoted and passionate user of Max nearly since its inception, was fortunate enough to be a beta-tester of early versions of the program, and later also worked as one of the developers of the software at Cycling ‘74. Max has been an important part of my personal creative musical output (and sometimes also my free time on the weekends!), and has additionally been central to my work as educator in the field of computer music. Now, while working in the rôle of translator for this second volume, I have discovered (via both Cipriani and Giri’s admirable text as well as the Max program itself) that there are still new ideas to contemplate, new information to absorb, new techniques to amass and many alternate ways to design and improve commonly used algorithms for sound processing and synthesis. For me, this is one of the most amazing aspects of Max, and indeed of music and the arts, in general. From my perspective as an educator, this book is everything I would hope for, and more – its very strength is that it offers the reader technical knowledge alongside compelling artistic and creative motivations for using open-ended software such as Max instead of encouraging blind reliance on commonplace off-the-shelf tools, however seductive their sound may initially seem. Thus, I am both happy and proud to have been able to play a part in bringing this excellent series of books, written from a decidedly musical perspective, to a wider audience.

    Richard Dudas
    Assistant Professor of Composition and Computer Music, Hanyang University School of Music

  • INTRODUCTION TO THE SECOND VOLUME

    This book is the second in a series of three volumes dedicated to digital synthesis and sound processing. The first volume of the series covers a variety of topics including additive synthesis, noise generators, filters, subtractive synthesis and control signals. The third volume will cover reverberation and spatialization, various techniques for non-linear synthesis (such as AM, FM, waveshaping and sound distortion techniques), granular synthesis, analysis and resynthesis, physical models, procedural sound design and a second chapter dedicated to the organization of sound.

    PREREQUISITES
    All three volumes consist of chapters containing theoretical background material interleaved with chapters that help guide the user’s practice of that theory via practical computing techniques. Each pair of chapters (theory and practice) work together as a unit and therefore should be studied alongside one another. This second volume has been designed for users with various levels of knowledge and experience, although they should already fully understand the concepts and use of Max which have been outlined in the first volume. The contents of this volume have been designed to be studied either by oneself or under the guidance of an instructor.

    SOUND EXAMPLES AND INTERACTIVE EXAMPLES
    The theoretical chapters of this book are meant to be accompanied throughout by numerous sound examples and interactive examples that can be downloaded from the Virtual Sound website. By referring to these examples, the user can immediately listen to the sound being discussed (in the case of sound examples), or discover and experiment with sound creation and processing techniques (with the interactive examples), without having to spend intervening time on the practical task of programming. In this way, the study of theory is always concretely connected to our experience and perception of both the sounds themselves, and the many possible ways they can be processed and modified.

    MAX
    The practical chapters of this book are based on the software Max 6, although Max 5 users can still use this text. We have made sure that all the patches and activities that are presented here can be realized with both versions. The sole object specific to Max 6 that we have used is scale~. For Max 5 users, we have included an abstraction that reproduces the functionality of scale~ on our support page. The patches, sound files, library extensions and other supporting material for this volume’s practical activities can also be found on that page.

    MAX FOR LIVE
    The final chapter, or rather “interlude,” of this book deals with Max for Live – an application that lets users create plug-ins for Ableton Live using Max. This is decidedly substantial chapter, in which all the knowledge learned over the course of the first two volumes will be put to use to create devices (the term used for plug-ins in the Live environment). Special emphasis has been given to the discussion and study of the “Live API” which allows users to create devices which can be used to control other plug-ins or even the Live application itself.
     
    TEACHING APPROACH AND METHOD OF THIS BOOK
    As with the first volume, this second volume should be studied by reading each theory chapter in alternation with its corresponding practice chapter, in addition to carrying out the recommended computer-based activities. Nonetheless, one major difference, compared to the first volume, is in the type of practice activities which are suggested: the final activities of correcting, analyzing and completing algorithms, as well as substituting parts of algorithms for one another, are no longer present in this volume. Here, throughout each practice chapter, a copious selection of activities is presented to help the reader both test and deepen the various skills and knowledge that he has acquired thus far, in addition to suggesting ways of using them creatively. Throughout this volume the analysis of algorithms and patches is still carried out in detail (as it was in the first volume) when new techniques are being illustrated. However, where older, familiar processes and techniques are concerned, analysis is now left up to the reader. In other words, we have catered the second volume to a different type of reader. When writing the first volume, we were aware that our target reader was someone who, although thoroughly interested in the subject matter, could have been completely devoid of prior experience within the realm of electronic music. In this volume we can now presume that the reader is at an “intermediate” level – someone who has already made sounds with Max and/or with other software, and who knows the basics of synthesis and sound processing: in short, a reader who has already “digested” the material presented in the previous volume. Even those who have not yet read the first volume but possess the aforementioned skills will still be able to greatly benefit from this book, although we should point out that many of the concepts, objects and algorithms presented in the first volume will be referred to throughout the course of this text.

    We would also like to point out the presence of a chapter in this volume titled “The Art of Organizing Sound: Motion Processes” (chapter 8 in both theory and practice). This chapter was designed to give the reader an opportunity to develop his own individual versions of the proposed activities in a more complex and creative way than in the first volume. This means that the reader will be encouraged to use his perception, analysis and critical thinking, in addition to his own experience and ingenuity. The importance of such a section dedicated to the creative use of one’s knowledge and skills should neither be overlooked nor underestimated. Even though the software that we use may continue to evolve and change over time, the skills that we obtain through active personal practice and creation act as a flexible tool which can be applied in different technological contexts. It is our firm belief that a passive and “bookish” approach to learning is sterile and devoid of meaning, therefore our aim is to enable the reader to associate and interconnect his knowledge, skills, perception, analytic ability, ability to ask the right questions and to solve problems, and ability to create original musical forms with sound, in a natural, inventive and personal way. The goal of this section is thus to impart how to work within one’s own area of competence.

    In order to be able to say one is competent in the field of electronic and computer music it is not enough simply to know how to create an LFO, for example, but more importantly how to use it and what to do with it in specific creative contexts. Indeed, simply knowing how to follow a series of steps is not an indication of competence; the expert also needs to know how to interpret those steps. Essentially, knowing how to provide the proper settings for a patch, or how to modify an object’s parameters, not simply as an abstract task, but with the aim of achieving a certain goal for a sound’s motion or evolution over time (or within in the listening space) is an essential ability for sound artists, sound designers and composers.

    The reverse-engineering exercises in the first volume hinted at the possibility that the starting point for being able to use any given synthesis and sound processing system is not so much the theory behind it, as the actual context for which it will be used. In the case of the reverse-engineering exercises, the starting point was a pre-existing sound, specifically selected for the exercise at hand, whose properties and characteristics needed to be recognized in order to be able to simulate its spectrum, envelope, etc….

    In chapter 8 of this second volume, however, the theoretical knowledge and practical abilities that we have thus far developed will be put to use and further strengthened by focusing on the reader’s own original sound processing skills and ability to construct motion processes. Nonetheless, the basic compositional activities that we propose in this chapter should be limited to sound forms not exceeding one minute in duration, and should be designed outside the bounds of a wider formal scope and context, such as that of a larger compositional project. That having been said, exactly what kind of sound creation is being proposed, here?

    The scope of sound creation practices is both immense and diverse. It ranges from algorithmic composition to “laptop orchestras”, from live electronics with human-machine interaction to acousmatic compositions. There are also soundscape compositions, sound installations, audio-visual installations, sound art, sound design work – the list is seemingly endless.
    Not surprisingly, an infinite number of schools of thought have emerged, each with its own unique formal approach, ranging from narrative to abstract, or even in other directions such as forms of an ambient nature, etc…. It is therefore our desire to supply just a few pertinent tools to allow the reader to sharpen his own personal skills. We will also try to avoid providing rules and regulations as much as possible, but rather to try to propose a personalized experience for sonic discovery. Consequently, we have decided to reinterpret and adapt some ideas about spectromorphology, as proposed by Denis Smalley in some of his articles, for creative endeavors. Thus we are introducing the categories of simple motion, complex motion and compound motion. For the interaction between theory and practice, we suggest that each student interpret the type of motion being described, based on both the technical information provided and the specific purpose for which it will be used, in order to be able to make use of it within his personal sounds.

    SUPPORTING MATERIAL
    All the material referenced throughout the course of this book can be downloaded from the Virtual Sound website’s support page.
    In order to begin working with this text, you will first need to download all of the Sound Examples and Interactive Examples located on the support page. Bear in mind that you should constantly refer to these examples while reading through the theory chapters.

    In order to work interactively with the practice chapters of this book, you will first need to install the Max program, which can be obtained at the site: www.cycling74.com. Once Max has been installed, you will also need to download and install the Virtual Sound Macros library from the support page mentioned above. The support page includes detailed instructions concerning the correct installation procedure for the library. Last but not least, the support page also includes the necessary patches (Max programs) related to the practice chapters of this book.

    BIBLIOGRAPHY
    As in the previous volume, the final pages of this book include a list of the most absolutely essential reference works, in addition to the bibliographical references cited throughout the course of the text itself.

    ACKNOWLEDGEMENTS
    The authors would like to thank Vincenzo Core and Salvatore Mudanò for their patience and long hours of work, Lorenzo Seno for his advice about digital audio, and Richard Boulanger, Marco Massimi and David Zicarelli for their generosity.
    We particularly wish to thank Richard Dudas, whose invaluable work on this book went far beyond simply translating it. His constant feedback provided us with some very useful insights.

    DEDICATIONS
    This volume is dedicated to Arianna Giri, Sara Mascherpa and Gian Marco Sandri.