Programming Electronic Music in Pd

Johannes Kreidler


Revision History
Revision 0.71e27-01-2009JK


Pd was initiated by American software engineer Miller Puckette, who previous co-developed the well known and similarly structured software Max/Msp. Pd is not commercial software; i.e., it was not developed by a corporation and is not for sale. Instead, it is “open source”: its source code is not the (patented) property of a corporation, but is rather freely available to all. One drawback to this is that a detailed operating manual for users who lack programming experience has not existed until now. In contrast to a corporation— which has a monetary interest in ensuring that first-time users can easily operate new software—the open source movement lacks such a driving force to make itself accessible. This book is an attempt to fill that gap.

This tutorial is designed for self-study, principally for composers. It begins with explanations of basic programming and acoustic principles then gradually builds up to the most advanced electronic music processing techniques. The book’s teaching approach is focused primarily on hearing, which we consider a faster and more enjoyable way to absorb new concepts than through abstract formulas.

The patches described are available for download.

Table of Contents

Introduction to this book's methodology
1. Introduction to Pd
1.1 General remarks
1.2 Installing and setting up Pd
2. Programming with Pd for the first time
2.1 Introduction
2.1.1 A simple example
2.1.2 Surface elements in Pd
2.1.3 Summary
2.1.4 Appendix
2.1.5 For those especially interested: Atoms
2.2 The control level
2.2.1 Mathematical operations and order
2.2.2 Different types of data
2.2.3 Time operations
2.2.4 Miscellaneous
3. Audio
3.1 Basics
3.1.1 Pitch
3.1.2 Volume
3.2 Additive Synthesis
3.2.1 Theory
3.2.2 Applications
3.2.3 Appendix
3.2.4 For those especially interested
3.3 Subtractive synthesis
3.3.1 Theory
3.3.2 Applications
3.3.3 Appendix
3.3.4 For those especially interested
3.4 Sampling
3.4.1 Theory
3.4.2 Applications
3.4.3 Appendix
3.4.4 For especially interested
3.5 Wave shaping
3.5.1 Theory
3.5.2 Applications
3.5.3 Appendix
3.5.4 For those especially interested
3.6 Modulation synthesis
3.6.1 Theory
3.6.2 Applications
3.6.3 Appendix
3.7 Granular synthesis
3.7.1 Theory
3.7.2 Applications
3.7.3 Appendix
3.8 Fourier analysis
3.8.1 Theory
3.8.2 Applications
3.8.3 Appendix
3.9 Amplitude corrections
3.9.1 Theory
3.9.2 Applications
3.9.3 Appendix
3.9.4 For those especially interested
4. Controlling sound
4.1 Algorithms
4.1.1 Theory
4.1.2 Applications
4.1.3 Appendix
4.1.4 For those especially interested
4.2 Sequencer
4.2.1 Theory
4.2.2 Applications
4.2.3 Appendix
4.2.4 For those especially interested
4.3 HIDs
4.3.1 Theory
4.3.2 Applications
4.3.3 Appendix
4.3.4 For those especially interested
4.4 Network
4.4.1 Netsend / Netreceive
4.4.2 OSC
5. Miscellaneous
5.1 Streamlining
5.1.1 Theory
5.1.2 Applications
5.1.3 Appendix
5.1.4 For those especially interested
5.2 Visuals
5.2.1 Theory
5.2.2 Applications
5.2.3 Appendix
5.2.4 For those especially interested
A. Solutions