libmidi
libmidi copied to clipboard
midi player base on timidity and imgui
News
- 2023/12/21 Publish libmidi on Gitee!
- 2022/9/22 Update libmidi version to 2.15.3, we support very large midi file playing such as millions voices midi files
millions voices midi demo
Introduction
MIDI player base on timidity and imgui, support soundfont(SF2) and software MIDI keyboard.
-
App main window with paino keyboard view

-
App main window with event rolling

-
Soundfont Select

-
Software MIDI keyboard

Software MIDI keyboard mapping

-
Software MIDI keyboard instrument

-
Console demo

Getting the Source
git clone --recurse-submodules https://github.com/opencodewin/libmidi
Building
This project supports CMake out of the box.
- Linux
Install dependence library ncurses with apt
- MacOS
Install dependence library ncurses with homebrew
- Windows
Using MSYS64 + Mingw64 + Clang/GCC Install dependence library with pacman
- imgui build
See imgui document imgui
Quick start:
- download soundfont file GoogleDrive. BaiduYun code: 901u.
Copy soundfont files into soundfont folder, then you can using extra soundfont(GM best). if you have SF2 format soundfont files, also put them into folder.
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .
./build/immidi
./build/timidity
LICENSE
This project is released under The MIT License。