This
book is for musical makers and artists who want to gain knowledge and
inspiration for your own amazing creations. “Grumpy Mike” Cook,
co-author of several books on the Raspberry Pi
and frequent answerer of questions of the Arduino forums, brings you a
fun and instructive mix and simple and complex projects to help you
understand how the Arduino can work with the MIDI system to create
musical instruments and manipulate sound.
In
Part I you’ll find a set of projects to show you the possibilities of
MIDI plus Arduino, covering both the hardware and software aspects of
creating musical instruments. In Part II, you learn how to directly
synthesize a wave form to create your own sounds with Arduino and
concludes with another instrument project: the SpoonDuino. Finally, in
Part III, you’ll learn about signal processing with the Arduino Uno and
the Due ― how to create effects like delay, echo, pitch changes, and
realtime backwards audio output.
If you want to learn
more about how to create music, instruments, and sound effects with
Arduino, then get on board for Grumpy Mike’s grand tour with Arduino Music and Sound Projects.
Chapter 1: Basic Arduino
About this Book
The Arduino
Arduino Architecture
The Processor Block
The Communications Block
The User I/O Pins
The Power Supply Control Block
The Onboard Peripherals Block
Arduino Ripoffs, Clones, and Compatibles
Ripoffs
Clones
Arduino Certified Boards
Compatibles
Roll Your Own
Arduino for Audio
The Arduino Due
The Arduino Uno
Schematics
What a Schematic Is and Isn’t
Symbols
Layout
Constructional Techniques
Boards
Hand Tools
Soldering
Supply Decoupling
Adding Extra Parts to an Arduino
The I2C Bus
The Nature of a Bus
Signal Lines
The SPI Bus
Roll Your Own
Chapter 2: Basic MIDI
What Is MIDI?
The Electrical Signal
MIDI Messages
Note On
Note Off
Hexadecimal Notation
MIDI Connections
Arduino Implementation
MIDI OUT
MIDI IN
MIDI Shield
Construction
Software MIDI Output
Software MIDI Input
Chapter 3: More MIDI
More MIDI Messages
Controller Change (CC) MIDI Messages
Program Change MIDI Messages
Pitch Bend MIDI Messages
Aftertouch MIDI Messages
System MIDI Messages
System Real-Time Messages
System Common Messages
System Exclusive Messages
MIDI Direct to USB
MIDI Through a Serial to USB Converter
MIDI Through a HID USB
Chapter 4: MIDI Manipulation
The MIDI Setup
Double Tracking
Basic Double Tracking
Analogue Double Tracking
Triple Tracking
Bonus: Doubling a Note with Triple Tracking
The One Finger Wonder
Triad Chord Basics
Creating a Triad Chord with Arduino
The Arpeggiator
Building a Simple Arpeggiator
Building an Enhanced Arpeggiator
Echo and Delays
The Single Echo
The Multi-Echo
MIDI Looper
Chapter 5: MIDI Instruments
Sensors and I/O
Port Expander
Analogue Multiplexer
Sensors
Force Sensors
Piezo Electric Sensors
Flex Sensors
The Soft Pot
The Touch Pad
The Nunchuck
The Distance Sensor
MIDI Instruments
The Spoon-o-Phone
The Theremin
MIDI Air Drums
MIDI Light Show
Chapter 6: MIDI Harp Player
The Mechanical Design
Building the Harp Clamp
The Plucking Mechanism
Building the Staircase Drive Mounts
Fitting Limit Switches on the CD Drives
Mounting the Motors
The Electronic Design
Block Diagram of the System
The Trigger
The Limit Switch Select Circuit
The Motor Control Block
The Delay Block
The Flip-Flop
Assigning Gates and Packages
The Arduino Controller
Power Distribution
The Firmware
Test Software
The Working Software
Controlling the Harp Player
Chapter 7: The DunoCaster
The Concept
Guitar Chords
Picking
Other Controls
Indicators
The Circuit Parts
The Port Expanders
Switches
Rotary Encoder
The Schematic
The Processor
The Port Expanders
The String Touch Sensors
The Rotary Encoder
Constructing the Circuit
Building the Case
Constructing the Circuit
The Software
The Header Files
The Main Code
The Finished Instrument
Things to Do
Chapter 8: OSC and Friends
The Concept
The Message
Adding Data
Sending a Message
SLIP Protocol
UDP Protocol
OSC Bundles
Practical OSC
The Other End of the Link
Using PD
Using MAX
OSC Theremin
OSC Going Wireless
Touch OSC
The Arduino Code
OSC Keyboard
Touch OSC Screen
Touch OSC Screen
The Monome
The Monome API
Monome Variants
Chapter 9: Some More Projects
The MIDI Pendulum
The Sensor
The Pendulum Support
The Pendulum Schematic
The Pendulum Software
MIDI Footsteps
Foot Switches
Footsteps Schematic
Footsteps Software
Tripping the Light Fantastic
MIDI Glockenspiel
Solenoids
MIDI Glockenspiel Schematic
MIDI Glockenspiel Software
MIDI Beater
Servos
MIDI Beater Schematic
MIDI Beater Software
MIDI Beater In Action
Part II: Generating waveforms
Chapter 10: The Anatomy of a Sound
What Makes Sound?
Timbre: a Sound’s Individuality
Amplitude
One More Thing
Chapter 11: Square Waves
Starting Off Simply
Something More Interesting
Making a Tune
A Better Way to Generate a Tone
The Tone Function
Polyphonic Tones
Theory
Optimization
Implementation
Woops and Loops
Chapter 12: Other Wave Shapes
Not a High or a Low
PWM
Resistor Tap
The Binary-Weighted D/A
The R-2R Ladder
The D/A Interface
Generating a Waveform
Sawtooth Example
Triangle Wave Example
Wave Table Output
Chapter 13: The SpoonDuino
What Is a SpoonDuino?
SpoonDuino Building Blocks
Playing Modes
The Menu
The Schematic
Arduino and Power
I2C Bus
SPI Bus
Mopping Up
Construction
The Software
iPad/Android App
Wave Calculating Software
The Arduino Code
Techniques
Final Thoughts
Part III: Signal Processing
Chapter 14: Sampling
Breaking Up a Sound into Chunks
Sample Rate
Quantization Error
Playing Samples
Getting the Sample
Creating Arduino Code
Arduino Sample Player
More Samples
Even More Samples
Chapter 15: Audio Effects
First Build Your Sound Card
Amplifiers
The Digital Circuit
Construction
Using the Sound Card
Exterminate
More Effects
Delay
Echo
Pitch Up
Pitch Down
Speaking Backward
Putting It All Together
Finale
Chapter 16: Digital Filters
Types of Filter
Low Pass Filter
Notch Filter
Frequency Response
Fourier Transform
A First Look at the FFT
Chapter 17: DSP Projects
Understanding the Processor
Processor Peripherals
Using the Due
Physical Modeling
The Karplus Strong Algorithm
Audio Excitation
What Transfer Function to Use?
Music Light Show
No comments:
Post a Comment