Arduino controlled Analog Synthesizer

MIDI - Musical Instrument Digital Interface

Today modular synthesizers are controlled by keyboards that output a MIDI signal. To make playback possible, often the MIDI keyboard will first feed into a laptop computer. There, the Digital Audio Workstation software on the PC or Laptop, may allow a user to record and edit the stream of MIDI signals from a keyboard, and can be stored on the laptop for later playback. The Laptop has a second set of MIDI outputs, that can feed physical devices (synthesizer instruments). To generate music, the source of the MIDI stream sends commands to the synthesizer, and the synth can create the live sound and tone in real time.

MIDI article on Wikipedia



Ableton - Understanding-MIDI-files

MIDI Keyboard

The MIDI compatable Keyboard has all the keys of a regular piano keyboard, but there is no sound generation. An embedded microprocessor and firmware scan the keyboard for action and events, then decide on what MIDI commands will be sent out the MIDI controller port. The MIDI signals can be recorded on a PC or sent directly to a MIDI device, like an organ or synthesizer.



Learn to play a piano style keyboard.

synthesiagame
Melodics MIDI Keyboard
Learn to Read Sheet Music - YTV

MIDI Controller

The MIDI controller does not have to be a traditional piano like keyboard. Practically any type of control surface or discrete analog controls can be used to generate MIDI commands. Think of a set of drum pads, every time you strike the drum pad, a command is sent, and a Drum Machine can generate the sounds of a real drum kit.

Adafruit Macro PAD
Custom MIDI Controller - Youtube


MIDI device - MIDI protocol to Control voltage and gate output

MIDI to CV interface.
MIDI controller project on Youtube.

Music Sequencer - Both Hardware and Software sequencers

Lots of options to create a sequencer. The hardware sequencer allows imeadiate change in control of the step parameters as the unit is played. A software implementation allows more complex and multi-parameter outputs, as well as storage and playback