PXR MIDI Player Wiki
Download
Contents

Development

James Woodcock, the creator of PXR MIDI Player, smiling at the camera. He has short hair and wears a dark hoodie over a light blue top, with a podcast microphone just in view, against a dark background patterned with a purple and cyan diagonal grid.

A short, honest look behind the curtain at how PXR MIDI Player gets made, for the curious. It is a solo project, built and maintained by James Woodcock of Pixel Refresh in his spare time.

Where it began#

My love of MIDI goes back to a Yamaha SW60XG ISA based sound card, tucked inside my very first PC, a 486 DX-2 running at 66MHz. Suddenly games had, dare I say, proper music and I could not get enough of it. Compared to the FM of the Sound Blaster 16 (charming in its own right of course!), it was a revolution for my ears.

The point and click adventure titles though were the ones that really sold it to me. Now the soundtracks were an absolute blast to listen to. I replayed intros over and over again and before long I was not just listening, but also dabbling in a little composition of my own (nothing fancy!). PXR MIDI Player is, in many ways, my love letter to that era and that sound.

By the numbers#

  • Work began on 28 December 2025, and has carried on near-daily ever since: many months of steady work.
  • More than 2,300 commits.
  • 76 beta releases on the road to version 1.0, with the running history on the What's New page.
  • More than 170,000 lines of Swift, across 370-plus source files.
  • A native macOS app, built entirely from Apple's own frameworks with no third-party libraries; even SoundFont playback runs on an SF2 synthesizer engine written in-house for PXR MIDI Player.

Research, not guesswork#

A lot of PXR is about getting the small details right, and that takes real digging:

  • Capturing how genuine Roland Sound Canvas, Yamaha MU, and PLG hardware actually respond, by recording their behaviour, so the monitors and the decoding match the real thing rather than the manual's best guess.
  • Building the instrument and drum-name libraries from the published MIDI specifications.
  • Working through the quirks of older formats like the MT-32 and the PLG daughterboards, where the documentation is thin and the hardware always has the final say.

Tested by ear and on real gear#

PXR is tested against the genuine hardware I own, not just emulators, and across thousands of MIDI files. That hardware includes:

  • Yamaha XG: MU80 and MU2000
  • Roland GS: SC-55, SC-88 Pro, and SC-8850 Sound Canvas modules
  • Roland MT-32

Software emulators play a big part too, and MUNT in particular is superb in its own right, a remarkable recreation of the MT-32. Testing across both the real hardware and the emulators is how I make sure the sounds, the SysEx, and the timing all behave as they should. A heartfelt thank you, as well, to the testers who lend their ears.

A note on AI assistance#

In the interest of being open: like most modern software, PXR is built with the help of various tools, and AI is one of them. It has been a genuinely useful one, and has helped greatly with the development process. The direction, the decisions, the research, and the testing are still mine, and PXR remains hand-crafted software shaped by a person who cares about it, rather than an "AI-generated app".

Keeping it going#

PXR is actively developed, and updates arrive often. See What's New for the running log of changes, and Support the Project if you would like to help keep it moving.

Last updated: 2026-07-16