title: Playing MIDI-files and synchronizing time with visuals with WPF
body: <p>I'm writing an application using C#/Windows Presentation Foundation.
  It is visualizing the steps of a dance with foot shapes.
  Currently I'm playing the music as WAV-file and timing the steps with a Timer.</p>
  
  <p>Because of the irregularities of a <strong>Timer</strong> the music is <strong>not in sync</strong> with the steps.
  I need some kind of <strong>synchronization</strong>, this is why I wanted to use <strong>MIDI-files</strong>. </p>
  
  <p>To sync the steps I need an <strong>event for each time</strong> in the music and would then show the next step. In this case I wouldn't use the Timer anymore.</p>
  
  <p>I already looked at <strong>NAudio</strong>. I found tutorials for playing MP3-files which don't help me. I created a <strong>MidiFile-object</strong> but I don't know how to play it. I know that a MIDI-file contains information on how to play the music (for synthesizers) but I don't want to implement my own player.</p>
  
  <ol>
  <li><p>What is a <strong>simple</strong> way to <strong>play</strong> a MIDI-file with NAudio?</p></li>
  <li><p>How can I <strong>receive Events</strong> in each time of the music?</p></li>
  <li><p>Is there an <strong>alternative</strong> to NAudio that can probably help me better?</p></li>
  <li><p>Is there an alternative to MIDI that can sync to my visualization?</p></li>
  </ol>
  
  <p>I am thankful for every kind of help. I've been searching for a while and think that I am maybe looking in the wrong direction.</p>