Synthesizer
SoundFont synthesizer.
You create a new synthesizer with new_fluid_synth() and you destroy it with delete_fluid_synth(). Use the fluid_settings_t structure to specify the synthesizer characteristics.
You have to load a SoundFont in order to hear any sound. For that you use the fluid_synth_sfload() function.
You can use the audio driver functions to open the audio device and create a background audio thread.
The API for sending MIDI events is probably what you expect: fluid_synth_noteon(), fluid_synth_noteoff(), ...
Subgroups
- Audio Rendering
- Effect - Chorus
- Effect - IIR Filter
- Effect - LADSPA
- Effect - Reverb
- MIDI Channel Messages
- MIDI Channel Setup
- MIDI Tuning
- SoundFont Management
- Synthesis Parameters
- Synthesis Voice Control
Lifecycle Functions for Synthesizer
new_fluid_synth()
Create new FluidSynth instance.
Parameters:
| Name | Description |
|---|---|
settings |
Configuration parameters to use (used directly). |
Returns: New FluidSynth instance or NULL on error
Note
The settings parameter is used directly, but the synth does not take ownership of it. Hence, the caller is responsible for freeing it, when no longer needed. Further note that you may modify FluidSettings of the settings instance. However, only synth settings marked as realtime in Settings Reference will affect the synth at runtime. fluid_settings_is_realtime() can be used to check this.
Warning
The settings object should only be used by a single synth at a time. I.e. creating multiple synth instances with a single settings object causes undefined behavior. Once the "single synth" has been deleted, you may use the settings object again for another synth.
delete_fluid_synth()
Delete a FluidSynth instance.
Parameters:
| Name | Description |
|---|---|
synth |
FluidSynth instance to delete |
Note
Other users of a synthesizer instance, such as audio and MIDI drivers, should be deleted prior to freeing the FluidSynth instance.
Functions
fluid_synth_error()
Get a textual representation of the last error.
Parameters:
| Name | Description |
|---|---|
synth |
FluidSynth instance |
Returns: Pointer to string of last error message. Valid until the same calling thread calls another FluidSynth function which fails. String is internal and should not be modified or freed.
Deprecated
This function is not thread-safe and does not work with multiple synths. It has been deprecated. It may return "" in a future release and will eventually be removed.
fluid_synth_get_cpu_load()
Get the synth CPU load value.
Parameters:
| Name | Description |
|---|---|
synth |
FluidSynth instance |
Returns: Estimated CPU load value in percent (0-100)