This 121 page PDF book provides all the required information for the MIDI Instrument Digital Interface (MIDI), the associated Arduino Microcontroller project source code and the inter-connecting hardware to build and enjoy making your own musical MIDI interfaces. The paperback version of the book is available at Amazon ISBN 979-8455207792.
All the project software source code is supplied (by email) with every PDF book purchased.
An Introduction to MIDI 1
1.1 What is MIDI ? 1
1.2 A Brief History of MIDI 1
1.3 The advantages of MIDI: 2
1.4 Communication by Message 2
1.5 How does MIDI work 3
1.6 MIDI Messages 4
1.7 MIDI Standard Message Timing 5
1.8 MIDI Channel and MIDI System Messages 8
1.9 MIDI SYSTEM Message 10
1.10 Note On Messages 11
1.11 Note Off Messages 14
1.12 MIDI Note Numbers for Different Octaves 16
1.13 MIDI Note Numbers 17
1.14 Note Number to Frequency Conversion 17
1.15 MIDI Note Names 20
1.16 MIDI Control Change Messages 20
1.17 Channel Mode Messages 21
1.18 Aftertouch 22
1.19 Channel Pressure 22
1.20 Program Change 22
1.21 Pitch Bend 24
1.22 Running Status 25
1.23 System Messages 28
1.24 System Common Messages 29
1.25 System Real Time Messages 29
1.26 System Exclusive Messages 31
MIDI Hardware 32
2.1 MIDI Hardware 32
2.2 The MIDI IN Port 32
2.3 MIDI IN and MIDI THRU Ports 34
2.4 MIDI OUT Port wiring 36
An Introduction to the Arduino 38
3.1 What is the Arduino? 38
3.2 Why use the Arduino? 38
3.3 History of the Arduino 39
3.4 Arduino Board Key Features 40
3.5 Arduino Board Types 40
3.6 Arduino Board Description 41
3.7 Some initial requirements 43
3.8 Arduino Installation 43
3.9 Arduino program structure 45
3.10 The Arduino UNO Rev 3 47
ARDUINO TESTING 49
4.1 Arduino Software and Hardware Testing 49
4.2 Arduino LED Test Blink program 49
4.3 Arduino Serial Test Program 53
4.4 Read Potentiometer and output Serial data to screen 55
ARDUINO MIDI PROGRAMS 57
5.1 MIDI Software and Hardware Requirements 57
5.2 MIDI Monitoring 59
5.3 MIDI IN to OUT Activity Detector LED 62
5.4 MIDI Out 88 Note Grand Piano Player 64
5.5 MIDI Out 88 Note Grand Piano Player with MIDI Volume Control 66
5.6 Read a switch and output a MIDI Note of Middle C 69
5.7 A 6-Way MIDI Drum Encoder 71
5.8 Operation of Piezoelectric Sensors: 73
5.9 Ultrasonic Sensor HC-SR04 to Serial Out 83
5.10 Ultrasonic Sensor HC-SR04 to MIDI Out 87
5.11 MIDI Channel Changer/Combiner 90
5.12 Arduino MIDI Library Installation 95
5.13 The Arduino MIDI IN/OUT Board 96
5.14 MIDI Channel Filter 101
5.15 MIDI Channel Duplicator 105
About the Author 111