A MIDI controller is any hardware or software that generates and transmits Musical Instrument Digital Interface (MIDI) data to MIDI-enabled devices, typically to trigger sounds and control parameters of an electronic music performance. MIDI controllers usually do not create or produce musical sounds by themselves. MIDI controllers typically have some type of interface which the performer presses, strikes, blows or touches. This action generates MIDI data (e.g. notes played and their intensity), which can then be transmitted to a MIDI-compatible sound module or synthesizer using a MIDI cable. The sound module or synthesizer in turn produces a sound which is amplified through a loudspeaker.
The most commonly used MIDI controller is the electronic musical keyboard MIDI controller. When the keys are played, the MIDI controller sends MIDI data about the pitch of the note, how hard the note was played and its duration. Other common MIDI controllers are wind controllers, which a musician blows into and presses keys to transmit MIDI data, and electronic drums.