This application is a multiplatform MIDI file player for Linux, Windows and macOS. It reads .MID (Standard MIDI Files), .KAR (Karaoke), .RMI (RIFF MIDI), and .WRK (Cakewalk) file formats, and outputs MIDI events to hardware MIDI ports and also software synths.

Drumstick is a set of GPLv3 licensed C++/Qt libraries for MIDI applications. The project includes several tools as examples, and among them is the drumstick-guiplayer utility that leverages the Drumstick::ALSA library, so it is available only for Linux (because the ALSA sequencer is a linux only technology). Some people have requested a program with the same functionalities on Windows and macOS, and here it is. But this program is much more than that, and also works on Linux ...

screenshot

Release v1.6.0 was dedicated to the Galician Literature Day, May 17th.

Some key features:

  • MIDI Output to hardware MIDI ports, or any other Drumstick backend like soft synths
  • Transpose song tonality between -12 and +12 semitones
  • Change MIDI volume level (using MIDI CC7)
  • Scale song speed between half and double tempo
  • Lyrics, Piano Player and MIDI Channels views
  • Supports MID/KAR (Standard MIDI Files) and WRK (Cakewalk) file formats

This multiplatform application offers functionality equivalent to drumstick-guiplayer replacing the Drumstick::ALSA library by Drumstick::RT. The MIDI events scheduling/timing is performed inside the program with the only help of the C++ standard library (threads and chrono). The MIDI output still has access to each operating system's MIDI infrastructure, but also to additional backends like ipMidi and soft synths.

Alright, these are the build requirements:

Build and deployment commands (for Linux)

$ tar -xvzf dmidiplayer-x.y.z.tar.gz
$ cd dmidiplayer-x.y.z
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_PREFIX_PATH="$HOME/Qt5;$HOME/drumstick2;$HOME/uchardet"
$ make
$ make install

You probably don't need to use the CMake variable CMAKE_PREFIX_PATH at all, if all your dependencies are installed on some standard prefix like "/usr" on Linux. Otherwise, you need to replace the contents of the parameter CMAKE_PREFIX_PATH with the actual paths in your system (in the example, each dependency was installed on a subdirectory under the $HOME directory). If you don't want to compile the program yourself, there are x86_64 precompiled packages for Linux, Windows and macOS in the downloads area.

Copyright (C) 2021-2023 Pedro Lopez-Cabanillas
License: GPL v3 or later

Resources at GitHub

Mirror Git Repository at GitHub

Releases at GitHub

 

Downloads

Source packages are available here.

 
Download Drumstick MIDI FIle Player Multiplatform
 

Packaging status

This page was modified on October 14, 2023

program logo

Communities

Mirror at GitHub