Feed on

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.

Instrument Explosion

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?

Beta API

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.

One Response to “Communicate with music devices with the new Windows Runtime MIDI API”

  1. [...] /* 0) { ratingctl00_cphMiddle_cphContent_tr3w45fwwvre_itemRating = result['Rating']; SetCurrentRating('ctl00_cphMiddle_cphContent_tr3w45fwwvre_itemRating_pnlHolder', result['Rating'], "disabled fullStar", "disabled emptyStar", true); if(votesCountctl00_cphMiddle_cphContent_tr3w45fwwvre_itemRating!=null) { votesCountctl00_cphMiddle_cphContent_tr3w45fwwvre_itemRating ++; SetVotesCount('ctl00_cphMiddle_cphContent_tr3w45fwwvre_itemRating_lblUsersRated', '(' + votesCountctl00_cphMiddle_cphContent_tr3w45fwwvre_itemRating + ' votes)'); } SetRatingCookie('r', 'i35418', '1'); } else if (result['Status'] == 1) { alert('The session has expired. Please refresh the page to be able to vote!'); } } /* ]]> */ (0 votes) 0 comments   /   posted by Silverlight Show on Apr 15, 2014 Tags:   windows-store , winrt , walt-ritscher Read original post by Walt Ritscher at XAML Wonderland [...]