4 releases (2 breaking)
0.3.1 | Aug 25, 2024 |
---|---|
0.3.0 | Aug 23, 2024 |
0.2.0 | Aug 10, 2024 |
0.1.0 | Aug 6, 2024 |
#420 in Audio
Used in 2 crates
255KB
6K
SLoC
XSynth
A fast Rust-based SoundFont synthesizer designed for high voice counts and low latency.
Components
VoiceChannel
Represents a single MIDI channel. Keeps track and manages MIDI events and the active voices of a channel.
Unlike most other MIDI synthesizers that use global voice limits, each XSynth channel limits the spawned voices per-key using "layers". One layer corresponds to one voice per key per channel.
For information about supported events and controllers, please visit the VoiceChannel documentation.
ChannelGroup
Represents a MIDI synthesizer within XSynth.
Manages multiple VoiceChannel
objects at once in an easy to use way.
SampleSoundfont
Represents a sample SoundFont to be used within XSynth. Holds the voice and program data, as well as the samples of a SoundFont.
For information about supported formats, please visit the SampleSoundfont documentation.
Voice
A voice represents a single SoundFont sound. They are usually generated within a VoiceChannel
according to the sent events.
Documentation
You can find all the necessary documentation about the XSynth API here: https://docs.rs/xsynth-core.
Dependencies
~9–18MB
~306K SLoC