libfluidsynth
1.1.2
|
Embeddable SoundFont synthesizer. More...
Data Structures | |
struct | _fluid_synth_channel_info_t |
Channel information structure for fluid_synth_get_channel_info(). More... | |
Defines | |
#define | FLUID_SYNTH_CHANNEL_INFO_NAME_SIZE 32 |
Length of channel info name field (including zero terminator) | |
#define | FLUID_REVERB_DEFAULT_ROOMSIZE 0.2f |
Default reverb room size. | |
#define | FLUID_REVERB_DEFAULT_DAMP 0.0f |
Default reverb damping. | |
#define | FLUID_REVERB_DEFAULT_WIDTH 0.5f |
Default reverb width. | |
#define | FLUID_REVERB_DEFAULT_LEVEL 0.9f |
Default reverb level. | |
#define | FLUID_CHORUS_DEFAULT_N 3 |
Default chorus voice count. | |
#define | FLUID_CHORUS_DEFAULT_LEVEL 2.0f |
Default chorus level. | |
#define | FLUID_CHORUS_DEFAULT_SPEED 0.3f |
Default chorus speed. | |
#define | FLUID_CHORUS_DEFAULT_DEPTH 8.0f |
Default chorus depth. | |
#define | FLUID_CHORUS_DEFAULT_TYPE FLUID_CHORUS_MOD_SINE |
Default chorus waveform type. | |
#define | FLUID_INTERP_DEFAULT FLUID_INTERP_4THORDER |
Default interpolation method from fluid_interp. | |
#define | FLUID_INTERP_HIGHEST FLUID_INTERP_7THORDER |
Highest interpolation method from fluid_interp. | |
Typedefs | |
typedef int(* | fluid_audio_callback_t )(fluid_synth_t *synth, int len, void *out1, int loff, int lincr, void *out2, int roff, int rincr) |
Type definition of the synthesizer's audio callback function. | |
Enumerations | |
enum | fluid_chorus_mod { FLUID_CHORUS_MOD_SINE = 0, FLUID_CHORUS_MOD_TRIANGLE = 1 } |
Chorus modulation waveform type. More... | |
enum | fluid_interp { FLUID_INTERP_NONE = 0, FLUID_INTERP_LINEAR = 1, FLUID_INTERP_4THORDER = 4, FLUID_INTERP_7THORDER = 7 } |
Synthesis interpolation method. More... |
Embeddable SoundFont synthesizer.
You create a new synthesizer with new_fluid_synth() and you destroy if with delete_fluid_synth(). Use the settings 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 described below 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(), ...
Default interpolation method from fluid_interp.
Highest interpolation method from fluid_interp.
typedef int(* fluid_audio_callback_t)(fluid_synth_t *synth, int len, void *out1, int loff, int lincr, void *out2, int roff, int rincr) |
Type definition of the synthesizer's audio callback function.
synth | FluidSynth instance |
len | Count of audio frames to synthesize |
out1 | Array to store left channel of audio to |
loff | Offset index in 'out1' for first sample |
lincr | Increment between samples stored to 'out1' |
out2 | Array to store right channel of audio to |
roff | Offset index in 'out2' for first sample |
rincr | Increment between samples stored to 'out2' |
enum fluid_chorus_mod |
enum fluid_interp |
Synthesis interpolation method.