<div dir="ltr">Some might remember me asking about music packages a while back... An update:<div><br></div><div>I ended up using Euterpea, which in turn uses both Codec.Midi and Sound.PortMidi. My working environment was to have my code loaded up in ghci, play MIDI into a software MIDI bus, and pipe that into MainStage 3 which ran the synths.</div>

<div><br></div><div>The piece I was working on premiered last night at a concert in Wellington, NZ. The live recording will take a while, but you can hear a studio synth recording (from the above setup) here:</div><div><br>

</div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><a href="https://soundcloud.com/mtnviewmark/plain-changes-2-all-synth-mix">https://soundcloud.com/mtnviewmark/plain-changes-2-all-synth-mix</a></div>

</blockquote><div><br></div><div>The code for the piece is all open source: <a href="https://github.com/mzero/PlainChanges2">https://github.com/mzero/PlainChanges2</a>. In particular, there is a somewhat improved <a href="https://github.com/mzero/PlainChanges2/blob/master/src/Sound/MidiPlayer.hs">MIDI player</a> in there.</div>

<div><br></div><div>Enjoy!</div><div><br></div><div>- Mark</div><div><br></div><div>P.S.: Yes, and now that that&#39;s done with, I can get on with the next Haskell Platform release!</div><div><br></div></div>