Contents
Chapter 1: Introduction to Pure Data
Pd Patches Behave Like Text Files
Making a Triangle Wave Oscillator
Making a Square Wave Oscillator
Control Domain vs. Signal Domain
Basic Electronic Music Techniques
Chapter 2: Introduction to Arduino
Further Explanation of the Code
Classes in Arduino and the Serial Communication
Building Circuits on a Breadboard
Pull-up vs. Pull-down Resistors
Reading More Than One Pin, Arrays, and the for Loop
Sending Data from Pd to Arduino
Chapter 3: Embedded Computers and Going Wireless
Logging in the Pi from OS X and Linux
Navigating Through the Linux system
Setting up External Libraries in Pd
Exchanging Files Between Your Computer and the Pi
Transfer Files from OS X and Linux to the Pi, and Vice Versa
Transfer Files from Windows to the Pi and Vice Versa
Setting a Static IP on Windows
Log in to the Pi Without a Router
Using a Bluetooth Module with Arduino
Chapter 4: Getting Started with Musical Applications
Arduino Code for Phase Modulation Patch
A Simple Drum Machine Interface
Arduino Code for Drum Machine Patch
Drum Machine and Phase Modulation Combination
Pd Patch for Drum Machine-Phase Modulation Interface
Chapter 5: A Simple Synthesizer Using a MIDI Keyboard and Arduino
Using a Different Tuning and an Amplitude Envelope with [notein]
Program Change MIDI Messages in Pd
The create_envelope and generic_data Subpatches
The [pd $0-voice_creation_loop] subpatch
The [synth_voice~] Abstraction
Done with Patching, Time to Test
Arduino Receiving MIDI Messages from the MIDI Keyboard
Pd Patch Receiving MIDI Data from Arduino
Running the Pd patch on Raspberry Pi
Launching Pd on Boot with the Raspbian Jessie Image
Shutting Down the Pi (or Any Embedded Computer) While Running Headless
A Small Caveat for the Raspbian and Debian Wheezy Images
Using an External Sound Card with the Pi
Editing the Pd Patch When Pd is Running on Boot
Enclosing the Pi in the Keyboard
Reducing the Wires of Your Circuit Board
Choosing the Right Power Supply and Getting Access to the Power Pins
Bringing the Power Input and Audio Output out of the Enclosure
A Function of the Data Type void
The Test Circuit of the Accelerometer
How to Use the Graph-On-Parent Feature
Setting the Properties of the GOP GUIs
What We Have Achieved So Far in this Project’s Pd Patch
Using the Canvas to Create Visual Feedback
Building the Audio Processing Part of the Patch
Additions to the Arduino Sketch
Using Bluetooth and a Voltage Divider Instead of the XBee
Chapter 7: An Interactive Drum Set
First Approach to Detecting Drum Hits
Getting the Maximum Value in Arduino
Getting the Maximum Value in Pd
Having Some Fun Before We Finalize
Working Further with the Circuit and Arduino Code
Adding Switches and LEDs to the Circuit and Code
Building the Audio File Abstraction
Building the Abstraction to Receive Input from the Arduino
Sending the Threshold and Debounce Values to the Arduino
Using a Proximity Sensor with the Arduino
Refreshing Our Memory on Serial.write
Pd Patch That Reads the Proximity Sensor Data
Smoothing out the Sensor Values
Using Two Proximity Sensors and Four Potentiometers
Building the Oscillators for the Theremin
Creating Band-Limited Waveforms
Reading the Stored Band-Limited Waveforms
Adding Push Buttons to the Arduino Code to Control the Waveforms of the Oscillators
Enclosing the Project with an Embedded Computer
Adding a Push Button for Switching off the Embedded Computer
Reading the Extra Push Button in Pd
Writing the Script to Shut the Embedded Computer Down
Recording Our First Sounds in Pd
Playing Back the Recorded Sound
Changing the Direction of the Playback
Making Recordings of Arbitrary Lengths
Retrieving the Length of the Recording
Getting the Start Position of the Overdubbing
Knowing When to Stop Overdubbing
Synchronizing End of Recording with Beginning of Playback
Building the Circuit on a Breadboard
Working Further on the Pd Patch
Making Some Final Improvements
Enclosing the Circuit in a Box
Chapter 10: A Patch-Bay Matrix Synthesizer
What We Want to Achieve in this Chapter
Extending the Arduino Analog Pins
Writing Code to Control a Multiplexer
Wiring 16 Potentiometers to the Multiplexer
Reading the 16 Potentiometers in Pd
Extending the Arduino Digital Pins
Using the Input Shift Register
Using the Output Shift Register
Combining the Input and Output Shift Registers
Implementing a Patch-Bay Matrix with the Arduino
Making the Pd Patch That Reads the Connections
Making the Patch-Bay Matrix Circuit
Start Building the Audio Part of the Pd Patch
Building the Modules for the Synthesizer
Using Binary Numbers for Masking
The check_connections Function
Controlling the LEDs with the Switches of the Shift Registers
3.128.170.27