Contents

About the Author

About the Technical Reviewer

Acknowledgments

Introduction

image Chapter 1: Introduction to Pure Data

Pd Basics: How It Works

Our First Patch

The Control Domain

Execution Order

Bang!

Comments

Getting Help

GUIs

Pd Patches Behave Like Text Files

Making Oscillators in Pd

Making a Triangle Wave Oscillator

Making a Sawtooth Oscillator

Making a Square Wave Oscillator

Using Tables in Pd

Subpatches and Abstractions

Control Domain vs. Signal Domain

Audio Input in Pd

Basic Electronic Music Techniques

Additive Synthesis

Ring Modulation

Amplitude Modulation

Frequency Modulation

Envelopes

Delay Lines in Pd

Reverb

Filters

Making Wireless Connections

Audio and MIDI Settings

Additional Thoughts

Conclusion

image Chapter 2: Introduction to Arduino

Arduino Jump Start

Parts List

The Blink Sketch

Digital Input

Defining Variables in Arduino

Further Explanation of the Code

Classes in Arduino and the Serial Communication

Further Explanation

Building Circuits on a Breadboard

Pull-up vs. Pull-down Resistors

Both Digital Input and Output

Analog Input

Analog Input and Output

Reading More Than One Pin, Arrays, and the for Loop

Explaining the for Loop

Using Arrays in Arduino

Analog and Digital Input

Communicating with Pd

Sending Data from Pd to Arduino

Conclusion

image Chapter 3: Embedded Computers and Going Wireless

Before You Begin

Parts List

Why Use Embedded Computers?

Which Embedded Computer?

Getting Started with the Pi

Getting Your Computer’s IP

Logging in the Pi from OS X and Linux

Logging in from Windows

Configure the Pi

Navigating Through the Linux system

Editing Text Files in Linux

Installing Software

Installing Pd

Launching Pd

Setting up External Libraries in Pd

Installing Arduino

Let’s Talk About Versions

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

Changing the IP of the Pi

Setting a Static IP on Linux

Setting a Static IP on OS X

Setting a Static IP on Windows

Log in to the Pi Without a Router

Shutting Down the Pi

Going Wireless

Bluetooth vs. XBee

Using a Bluetooth Module with Arduino

Using the XBee with Arduino

Conclusion

image Chapter 4: Getting Started with Musical Applications

Parts List

Phase Modulation Interface

How Phase Modulation Works

Making the Pd Patch

Arduino Code for Phase Modulation Patch

Circuit for Arduino Code

A Simple Drum Machine Interface

Building the Pd Patch

Arduino Code for Drum Machine Patch

Drum Machine and Phase Modulation Combination

Arduino Code

Arduino Circuit

Pd Patch for Drum Machine-Phase Modulation Interface

Conclusion

image Chapter 5: A Simple Synthesizer Using a MIDI Keyboard and Arduino

Parts List

What Is MIDI?

Pd and MIDI

How [notein] Works

Using a Different Tuning and an Amplitude Envelope with [notein]

Polyphony with MIDI in Pd

MIDI Control Messages in Pd

Pitch Bend Messages in Pd

Program Change MIDI Messages in Pd

Arduino Code

Explaining the Code

Pd Patch

The arduino_stuff Subpatch

The create_envelope and generic_data Subpatches

The [poly_synth~] Abstraction

The [pd $0-voice_creation_loop] subpatch

How Dollar Signs Work in Pd

The [synth_voice~] Abstraction

The filter~ Subpatch

Done with Patching, Time to Test

Arduino Receiving MIDI Messages from the MIDI Keyboard

Arduino Circuit Additions

Arduino Code Additions

Pd Patch Receiving MIDI Data from Arduino

Running the Pd patch on Raspberry Pi

Launching Pd on Boot with the Raspbian Jessie Image

Launching Pd on Boot with the Raspbian Wheezy Image or with Another Embedded Computer Running Debian Jessie

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

Choosing the Perforated Board

Reducing the Wires of Your Circuit Board

Choosing the Right Power Supply and Getting Access to the Power Pins

Accessing the MIDI Pins

Bringing the Power Input and Audio Output out of the Enclosure

Conclusion

image Chapter 6: An Interactive Bow

Parts List

Writing Custom Functions

A Function of the Data Type void

Actual Code for the Project

The Test Circuit of the Accelerometer

The Test Pd Patch

Building the Pd Patch

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

The Finished Patch

Additions to the Arduino Sketch

Finalizing the Circuit

Using Bluetooth and a Voltage Divider Instead of the XBee

Conclusion

image Chapter 7: An Interactive Drum Set

Parts List

Other Things We’ll Need

First Approach to Detecting Drum Hits

First Version of the Circuit

Read the Drum Hits in Pd

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 Final Pd Patch

Building the Audio File Abstraction

Building the Abstraction to Receive Input from the Arduino

Sending the Threshold and Debounce Values to the Arduino

The Main Patch

Finalizing the Arduino Code

Making the Circuit Enclosure

Conclusion

image Chapter 8: A DIY Theremin

Parts List

Using a Proximity Sensor with the Arduino

Refreshing Our Memory on Serial.write

Proximity Sensor Circuit

Pd Patch That Reads the Proximity Sensor Data

Smoothing out the Sensor Values

Using Two Proximity Sensors and Four Potentiometers

The Arduino Code

The Circuit

The Pd Patch

Building the Oscillators for the Theremin

Creating Band-Limited Waveforms

Reading the Stored Band-Limited Waveforms

Finalizing the Interface

Adding Push Buttons to the Arduino Code to Control the Waveforms of the Oscillators

Making the Circuit

Putting It All Together

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

Loading the Pd Patch on Boot

Conclusion

image Chapter 9: Making a Looper

Parts List

What Is a Looper?

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

Overdubbing

Getting Rid of Clipping

Getting the Start Position of the Overdubbing

Knowing When to Stop Overdubbing

Synchronizing End of Recording with Beginning of Playback

Start Building the Interface

Writing the Arduino Code

Building the Circuit on a Breadboard

Working Further on the Pd Patch

The Recording Module

The Phase Module

The Playback Module

The Overdub Module

The Overdub Position Module

The Arduino Module

The Table Copying Module

Putting It All Together

Making Some Final Improvements

Modifying the Arduino Code

Modifying the Pd Patch

Enclosing the Circuit in a Box

Conclusion

image Chapter 10: A Patch-Bay Matrix Synthesizer

Parts List

What We Want to Achieve in this Chapter

Extending the Arduino Analog Pins

How a Multiplexer Works

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

Making a Patch-Bay Matrix

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

A Signal Matrix in Pd

Building the Modules for the Synthesizer

The Final Patch

The arduino_stuff Subpatch

The Final Arduino Code

Using Binary Numbers for Masking

The check_connections Function

The Main loop Function

Controlling the LEDs with the Switches of the Shift Registers

The Final Circuit

Making an Enclosure

Shutting down the Embedded Computer

Conclusion

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.170.27