This library can read SF2 SoundFont files and render audio samples from them in real-time. It properly reads in a compliant SF2 file and can be used to obtain meta data such as preset names. It also has an audio rendering engine that can generate audio samples for key events that come from (say) a MIDI keyboard. This library is currently being used by my SoundFonts and SoundFontsPlus applications for SF2 file parsing and, in the latter app, as the sample generating engine.
Although most of the library code is generic C++17/23, there are a few bits that expect an Apple platform that has the AudioToolbox and Accelerate frameworks available. The goal is to be a simple library for reading SF2 files as well as a competent SF2 audio renderer whose output can be fed to any sort of audio processing chain, but it would probably take some effort to remove it from the Apple ecosystem.
github.com/bradhowes/SF2Lib
swiftpackageindex.com/bradhowes/SF2Lib
Tag Archives: C++
Halcyon ~ Minimalistic Music Player
This is a minimalistic Music Player written in Java & native C++. The engine framework is written mainly in Java with C++ used to back any other
native functionalities.
Currently this project is under heavy development and not for general consumer usage.
Features:
- audio
- music-player
- audio-player
- minimalistic-music-player

sourceforge.net/projects/halcyon4j
March 2004
Humdrum Toolkit ~ Music Analysis & Research
David Huron created Humdrum in the 1980s, and it has been used steadily for decades. Humdrum is a set of command-line tools that facilitates musical analysis, as well as a generalized syntax for representing sequential streams of data. Because it’s a set of command-line tools, it’s program-language agnostic. Many have employed Humdrum tools in larger scripts that use PERL, Ruby, Python, Bash, LISP, and C++.
Humdrum Labs ~ wiki.ccarh.org/wiki/Humdrum_Lab_1
Humdrum music encoding tutorial ~ doc.verovio.humdrum.org/humdrum/getting_started
Humdrum Resources ~ github.com/humdrum-tools
