MIDI CONTROLLERS AND DECODERS USING THE ARDUINO



Description:

This 259 page PDF book contains designs for MIDI controller and decoder projects using the Arduino. The paperback version of the book is available at Amazon, ISBN 979-8819478868.

This PDF book provides a practical guide to learn and build MIDI controller and decoder projects using the Arduino. The designs include the use of keyboards, potentiometers, sliders, switches, rotary encoders, foot pedals, ribbon controllers and breath control sensors. The book provides all the required information for the MIDI Instrument Digital Interface (MIDI), the Arduino Microcontroller source code and the inter-connecting hardware.

All the project software source code is supplied (by email) with every PDF book purchased.

TABLE OF CONTENTS

An Introduction to MIDI Controllers and Decoders 1
1.1 What is a MIDI Controller? 1
1.2 What is a MIDI Decoder? 2
An Introduction to MIDI 3
2.1 What is MIDI ? 3
2.2 MIDI Channel and MIDI System Messages 4
2.3 MIDI Note On Messages 6
2.4 MIDI Note Off Messages 8
2.5 MIDI Control Change Messages 10
2.6 Channel Mode Messages 14
2.7 MIDI Pitch Bend 16
2.8 MIDI Note Numbers for Different Octaves 18
2.9 MIDI Note Numbers 19
MIDI Hardware 21
3.1 MIDI Hardware 21
3.2 The MIDI IN Port 21
3.3 MIDI IN and MIDI THRU Ports 23
3.4 MIDI OUT Port wiring 25
3.5 The Arduino MIDI IN/OUT Board 27
3.6 Arduino MIDI IN/OUT Library Installation 33
3.7 MIDI/USB Installation by Updating the Atmega16U2 using Device Firmware Update (DFU) 33
3.8 Download the Flexible In-system Programmer (FLIP) 35
3.9 The Dual Moco LUFA Project 35
3.10 Uploading the hex file dualMOCO.hex to the Arduino board using FLIP 36
3.11 Programming the Uno or Mega2560 containing MIDI MOCO/LUFA Firmware 37
An Introduction to the Arduino 39
4.1 What is the Arduino? 39
4.2 Arduino Board Types 39
4.3 Arduino Board Description 39
4.4 Arduino Installation 41
4.5 The Arduino UNO Rev 3 45
4.6 The Arduino MEGA 2560 47
4.7 Power Supply for the Arduino Uno and Mega 2560 49
Arduino Testing 50
5.1 Arduino Software and Hardware Testing 50
5.2 Arduino LED Test Blink program 50
5.3 Read Potentiometer and output Serial data to screen 51
Arduino MIDI Programs 54
6.1 MIDI Software and Hardware Requirements 54
6.2 MIDI Monitoring 56
6.4 MIDI IN to OUT Activity Detector LED 58
MIDI Keyboard Encoder Designs 61
7.1 A Fixed Velocity Sensitive Matrix Encoder 62
7.2 Velocity Sensitive Keyboards 63
7.3 A MIDI Velocity Sensitive Algorithm 63
7.4 A Matrix Keyboard Scanning Algorithm for Arduino 65
7.5 Velocity Sensitive Keyboard Details 67
A MIDI 25 Note Velocity Sensitive Keyboard Encoder 72
8.1 Operation 72
8.2 Features 73
8.3 Source code for the MIDI 25 way Velocity Sensitive Keyboard Encoder 73
8.4 Explanation of the source code 81
8.5 Keyboard Layout and Wiring 89
8.6 Circuit Schematic diagrams for the 25 Note Velocity Sensitive MIDI Encoder 92
8.7 Pin Wiring for the Fatar 25 Note Velocity Sensitive Keyboard Encoder 96
A MIDI 32 (8x4) Note Keyboard Encoder with MIDI Channel and Octave Selections 98
9.1 Operation 99
9.2 Features 99
9.3 Source Code for the 32 (8x4) Note MIDI Keyboard Encoder with MIDI Channel and Octave Selections 100
9.4 Explanation of the Source Code 105
9.5 The Octave and MIDI Channel selection using the EEPROM 106
9.6 The 32 (8x4) Note MIDI Keyboard Circuit Schematic Diagram 110
A 61 Note MIDI Keyboard Encoder 114
10.1 Operation 115
10.2 Features 115
10.3 Source Code for the 61 (61x1) Note Keyboard MIDI Encoder 115
10.4 Explanation of the Source Code 119
10.5 The 61 (61x1) Note Keyboard Schematic Diagram 121
A MIDI Foot Pedal Controller with MIDI IN/OUT 125
11.1 Operation 125
11.2 Features 132
11.3 Source Code for the MIDI Foot Pedal Controller 132
11.4 Explanation of the Source Code 139
11.5 The MIDI Foot Pedal Controller Circuit Schematic Diagram 142
11.6 Wiring for Mono and Stereo Input Sockets 146
Rotary Encoder Designs 149
12.1 How Incremental Rotary Encoders Work 149
12.2 Source code for an Incremental Rotary Encoder to Serial Out 153
12.3 Source code for an Incremental Rotary Encoder to MIDI Volume Out 154
12.4 Source code for 6 Incremental Rotary Encoders to MIDI Control Change Out 155
A 16 Channel MIDI Mixer Controller 159
13.1 Operation 159
13.2 Features 160
13.3 Source Code for the 16 Channel MIDI Mixer 160
13.4 Explanation of the Source Code 163
13.6 Circuit Schematic for MIDI IN/OUT Board 167
A MIDI Pitch Bend Ribbon Controller 168
14.1 Operation 168
14.2 Features 168
14.3 Source Code for the MIDI Pitch Bend Ribbon Controller 169
14.4 Explanation of the Source Code 172
14.5 Layout and Wiring for a Ribbon/Softpot Controller 174
A MIDI Note On/Off Ribbon Controller 175
15.1 Operation 175
15.2 Features 176
15.3 Source Code for the MIDI Note On/Off Ribbon Controller 176
15.4 Explanation of the Source Code 180
15.5 Layout and Wiring for a Ribbon/Softpot Controller 182
A MIDI Wind Controller 183
16.1 A Piezoelectric Buzzer Design 183
16.2 A Wind Controller Piezoelectric Buzzer Layout 184
16.3 Source Code for Breath Controller to Serial Out 185
16.4 Source Code for Breath Controller to Serial Out with Smoothing 188
16.5 Source Code for Breath Controller to MIDI Expression 191
16.6 Breath Controller Piezoelectric Interface Circuit 194
A MIDI Trumpet Wind Controller 195
17.1 Trumpet Operation 195
17.2 Features 196
17.3 MIDI Trumpet Mapping to 5 Switches 197
17.4 Source Code for MIDI Trumpet Wind Controller 199
17.5 Explanation of the Source Code 208
17.6 MIDI Trumpet Wind Controller Piezoelectric Interface Circuit 211
MIDI Drum Inputs to Light Emitting Diodes (LEDs) Out 212
18.1 Operation 213
18.2 Features 213
18.3 Circuit Schematic 214
18.4 Output Current Drive 214
18.5 MIDI Channel Selection 216
18.6 Source Code for the MIDI Drum Inputs to LEDs Out 217
18.7 Explanation of source code 225
18.8 Output wiring schematic for LEDs 229
18.9 Typical Drum Setup 230
18.10 MIDI Drums to Arduino Output Pins 231
A MIDI IN to 61 Note Keyboard Light Emitting Diodes (LEDs) Out 232
19 1 Operation 233
19.2 Circuit Schematic 233
19.3 Output Current Drive 234
19.3 MIDI Channel Selection 236
19.4 MIDI In Note On/Off TO 61 Outputs Mapping 237
19.5 Source Code for the MIDI IN to 61 Note Keyboard Light Emitting Diodes (LEDs) Out 240
19.6 Explanation of Source Code 243
About the Author 245


Resources:

These MIDI Projects use the Arduino Uno and the Arduino Mega 2560 boards:
MIDI CONTROLLERS AND DECODERS USING THE ARDUINO (PDF BOOK)

ITEM#: MIDI CONTROLLERS AND DECODERS USING THE ARDUINO (PDF BOOK)

PRICE:  €14.75

After clicking on the 'Add to Cart' button, just complete your order on the Paypal site, where you can select the required quantity. Also the appropriate shipping cost is calculated and added. However you may still cancel or adjust your order, at this point.