Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Game Audio Middleware
  3. Second Music System

Second Music System

On the record

Adaptive soundtracks
Compositions can shift and branch in response to game conditions and events, with little programmer or scripter support.github.com · read 4 Oct 2026
Audio handling
SMS handles fades, crossfades, branches, and multithreaded loading so the engine integration mainly provides the required plumbing.github.com · read 8 Oct 2026
Audio limitations
It cannot do complicated filters or real-time synthesis such as speed or tempo changes, and pausing and resuming a flow is not yet supported.github.com · read 4 Oct 2026
Bindings
The library is written in Rust and provides a C binding for nearly all features; a C++ binding is planned but not yet written.github.com · read 4 Oct 2026
Composer controls
Compositions can shift and branch in response to game conditions and events, using the SMS soundtrack language.github.com · read 8 Oct 2026
Composer workflow
Composers currently create soundtracks directly in SMS's soundtrack language, which requires some programming.github.com · read 4 Oct 2026
Dependency license
By default it uses libsoxr, which is LGPL 2.1 or later, and static linking requires an LGPL-compatible overall license situation.github.com · read 8 Oct 2026
Development status
The project describes itself as early in development, with sparse documentation and tooling and an API and soundtrack format that may change.github.com · read 8 Oct 2026
Dynamic playback
It supports crossfading related sounds, branching between movements, overlapping independent flows, and weaving sounds of varying lengths and repetitions.github.com · read 8 Oct 2026
Engine integration
The engine supplies music-file loading, accepts samples from the SMS Engine, and sends commands to load soundtracks and control flows and mixes.github.com · read 8 Oct 2026
Language bindings
It is written in Rust and has a nearly complete C binding; a C++ binding is planned but not yet written.github.com · read 8 Oct 2026
License
The project is dual licensed under Apache License 2.0 or MIT, at the user's option.github.com · read 8 Oct 2026
Limitations
It cannot apply complicated filters or realtime synthesis such as speed and tempo changes, and pausing and resuming a flow is not yet supported.github.com · read 8 Oct 2026
Loading behavior
Flows begin playback after required components are loaded; precaching can keep flows ready for time-sensitive playback.github.com · read 4 Oct 2026
Maturity
The project describes itself as early in development, with sparse documentation and tooling, performance that could improve, and an API and soundtrack format that may change.github.com · read 4 Oct 2026
Memory
Sounds are preloaded and fully decoded by default, while individual sounds can instead be streamed to save memory.github.com · read 8 Oct 2026
Memory and streaming
Sounds are preloaded and decoded in full by default, while individual sounds can instead be streamed to save memory.github.com · read 4 Oct 2026
Mixing features
It supports crossfading related sounds, branching between movements, overlapping independent flows, and combining sounds of varying lengths and repetitions.github.com · read 4 Oct 2026

Alternatives to Second Music System

Every alternative, ranked