Simple SoundFont MIDI player.
Based on the following projects:
- TinySoundFont and TinyMidiLoader (MIT License)
- PortAudio (MIT License)
- Qt 6 (Widgets) (LGPLv3 License)
stb_vorbis.c
from stb (Public Domain or MIT License)dr_wav.h
from dr_libs (Public Domain or MIT License)opl.h
from dos-like (BSD 3-Clause License)- (optional) KIO (LGPLv2+ License)
Ensure CMake, Qt 6 (at least 6.4) and PortAudio are available, then regular cmake building steps applies:
$ mkdir build && cd build
$ cmake ..
$ cmake --build . # or simply using `make` if you are using Makefile as the cmake generator.
This method is a little bit tedious so...
Conan can be used to build this project as well, but PortAudio is still not available from Conan Center, so you will need to deal with the PortAudio dependency by yourself. You can either write a recipe/build the PortAudio Conan package by yourself, or use other method to ensure PortAudio can be found by CMake.
The following content can be saved to conanfile.txt
for you to use:
[requires]
qt/6.7.1
portaudio/master
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
[options]
qt*:qttools=True
...and use the following commands to build it:
$ conan install . --build=missing
$ cmake . --preset conan-default -DCONAN2_STATIC_QT_BUG=ON
$ cmake --build --preset conan-release
The CONAN2_STATIC_QT_BUG
option is required for Conan 2 build due to this bug.
Copyright © 2025 Gary Wang
Available under Expat/MIT License