foobar2000

MIDI Player

By: pqyt

foo_midi is a foobar2000 component that adds playback of MIDI files to foobar2000.
It is based on MIDI Player by kode54.

Features
  • Decodes General MIDI files (.MID, .MIDI, .RMI, .KAR) and several MIDI based formats. (.MIDS, .MDS, .HMI, .HMP, .MUS, .XMI, .LDS).
  • Supports several synthesizers, several of which do not require any additional files to play back music. The bundled synthesizers which do not require additional files may sound rather basic, though.
  • Supports FluidSynth SoundFont (.sf2) based synthesizer, including support for the newer compressed format. (.sf3). SoundFonts may be loaded in a simple, or even complex setup, using either basic .sflist text files encoded in UTF-8 format, but for now, it only supports a bare list of files.
  • Supports 32 and 64-bit VST instruments.
  • Supports dark mode.
Requirements
  • Tested with Microsoft Windows 10 or later.
  • foobar2000 v2.0 or later (32 or 64-bit version).

Current version: 2.11.0.0, released on 2024-06-23

Change log:

  • New: Recomposer support (.RCP, .R36, .G18, .G36). Some files may still have issues.
  • New: Preferences page to configure Recomposer and HMI/HMP settings. (alpha7)
  • New: HMI/HMP default tempo can be configured. (alpha7)
  • New: Support for LeapFrog loop markers (CC 110 and 111). (alpha8)
  • Improved: Added support for Unicode paths to RCP converter (alpha3)
  • Improved: Detection of mixed-encoding text in metadata (alpha5)
  • Fixed: RPG Maker loops should work again.
  • Fixed: Recomposer files with strange tempo changes crashed the component. (alpha4)
  • Fixed: HMI conversion added a second Note On event after every note instead of a Note Off event. (alpha7)
  • Fixed: Apply button remained active even if nothing was changed. (alpha7)

Supported processor architectures: x86 32-bit, x86 64-bit.

Links

Download
View version history
Home page
Documentation
Discussion
Source code

More components

Browse all
Browse by author: pqyt
Tags: decoder, MIDI, synthesizer, VST

How to install a component?