Until now, there has been no easy way to interact with MIDI devices in a Windows Store App. But that changes today. You can install the Windows Runtime API for MIDI Preview Nuget package in your project and start using MIDI in your app.
Unless you are music synthesizer devotee you probably don’t know much about Dave Smith.
He was big force in the early days of digital music, founding the pioneering Sequential Circuits company in 1972. During his tenure at Sequential Circuits he designed and built the first programmable polyphonic synth. He was also responsible for writing the first digital communication protocol specifically targeted at music instruments. That protocol, named MIDI (Musical Instrument Digital Interface) was ratified by the music industry in 1983 and it changed the way musicians, producers and studio engineers worked with their tools.
What is MIDI?
First and foremost it is a serial protocol that defines how to send messages between devices. If you want to explore the geeky details of the specification check out the midi.org site. MIDI also defines what types of messages are allowed. Some common examples are note-on, note-off, note-pitch, pitchbend, volume, controller-info (footswitch, knobs, sliders, pressure, velocity), program-change, time-code and clock.
Nowadays MIDI is built into numerous devices.
- Music Keyboards
- MIDI controllers
- Rack Mounted synthesizers
- Drum machines
- Computer music interfaces
- Electronic drums
- Hardwar Sequencers
- Wind Controllers
- Digital Audio Workstations
This universe of devices is now available from your Windows Store App. Essentially you can find attached devices and then read inbound data from a controller, or send control information back to the device. As a keyboard player I find this very exciting. What do you think?
At the moment, the Windows Runtime API for MIDI Preview is in Beta and Microsoft is actively seeking your input on what enhancements should be added to the API.