Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>MIDI RealPlayerNew to Visual Studio Code? Get it now.
MIDI RealPlayer

MIDI RealPlayer

vaclis

|
233 installs
| (1) | Free
A real multi-track MIDI player for VS Code with SoundFont playback, piano-roll and track views, mixer controls, and WAV export.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MIDI RealPlayer

Hear the MIDI you are looking at.

An open-source multi-track MIDI player and visual workspace for VS Code. It preserves note duration, velocity, tempo, program changes, and channel performance data, then plays them through real SoundFont instruments.

Install from VS Marketplace GitHub release License: MIT

Watch MIDI RealPlayer in action

Why MIDI RealPlayer?

Many MIDI previewers draw the right notes but play every event as the same short sound. MIDI RealPlayer keeps playback and visualization synchronized:

  • Notes play for their encoded duration and velocity.
  • General MIDI programs and drums use SoundFont instruments, with per-track preset selection when you want a different sound.
  • Track Mute, Solo, and volume controls affect both what you see and hear.
  • Piano Roll and Tracks views reveal both note detail and song structure.
  • Seeking into a sustained note reconstructs the active sound correctly.
  • Tempo, sustain, pitch bend, controllers, banks, and program changes survive playback.
  • The current mix can be rendered directly to WAV without FFmpeg.

Highlights

  • Instrument-colored Piano Roll and DAW-style Tracks views for .mid and .midi
  • Original track names and multiple channels from combined MIDI tracks
  • Per-track Mute, multi-track Solo, and volume controls up to +6 dB, remembered for each MIDI file
  • Stable piano-roll framing when tracks are muted or soloed
  • Per-track SoundFont preset picker with the original MIDI program always one click away
  • Click-to-seek, transport scrubbing, horizontal pan, and pointer-based zoom
  • Adjustable pitch-row and arrangement-lane heights
  • Adaptive musical ruler with bar, beat, and subdivision marks
  • Optional playhead following with Fit-to-song view
  • Bundled GeneralUser GS SoundFont, ready on first launch
  • Custom .sf2, .sf3, and .dls SoundFont support
  • Offline WAV export of the enabled tracks and current volume mix
  • Source-safe workflow that never modifies the MIDI file

Install

Install from the Visual Studio Marketplace, or search for MIDI RealPlayer in VS Code.

To install a GitHub release, download its .vsix, run Extensions: Install from VSIX..., and select the file.

Use

  1. Open a .mid or .midi file.
  2. Press Play or Space.
  3. Seek, zoom, switch views, change a track's SoundFont preset, mute tracks, or adjust their volume directly in the viewer.

No SoundFont setup is required.

Controls

Action Control
Play / Pause Transport button or Space
Stop / Go to start Transport controls
Seek Piano roll, transport scrubber, or Left / Right
Zoom +, −, Fit, or Ctrl/Cmd + mouse wheel
Pan Shift + mouse wheel or horizontal trackpad gesture
Switch view Roll / Tracks above the timeline
Vertical scale ↕ slider above the timeline
Track preset Sound menu beneath the track name
Track mix M (Mute), S (Solo), and Vol slider
Follow playback Follow control beside the transport
Export current mix Export WAV

SoundFonts

The bundled GeneralUser GS bank provides ready-to-play General MIDI instruments. Use the SoundFont selector to switch between Default and a local .sf2, .sf3, or .dls bank.

Each track's sound label is also a preset menu. Choose another sound from the same General MIDI instrument family in the active bank, or choose MIDI to restore the file's original program. The choice is remembered per MIDI file and is applied consistently to playback, seeking, Solo, and WAV export. The bundled Concert Choir remains the default choir sound and follows the MIDI's original timing without an automatic offset.

Sound quality and preset coverage depend on the selected bank. If a requested preset is unavailable, the track displays the actual fallback sound.

Development

Requires Node.js 22 and VS Code 1.100 or newer.

git clone https://github.com/vaclisinc/midi-realplayer-vscode.git
cd midi-realplayer-vscode
npm install
npm run typecheck
npm test
npm run build

Press F5 to launch an Extension Development Host. Run npm run package to build a .vsix.

Contributing

Issues and pull requests are welcome. For playback bugs, include a minimal MIDI file when its license permits redistribution.

  • Open an issue
  • View the changelog

License and credits

MIDI RealPlayer is available under the MIT License.

Playback uses SpessaSynth and the bundled GeneralUser GS SoundFont by S. Christian Collins. The SoundFont license is included in media/GeneralUser-GS-LICENSE.txt.

Built by vaclis for musicians, researchers, and anyone tired of inaccurate MIDI previews.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft