流体合成
1.1.11
|
SoundFont插件。 更多...
数据结构 | |
结构 | _fluid_sfloader_t |
SoundFont加载器结构。 更多... | |
结构 | _fluid_sfont_t |
虚拟SoundFont实例结构。 更多... | |
结构 | _fluid_preset_t |
虚拟SoundFont预设。 更多... | |
结构 | _fluid_sample_t |
虚拟SoundFont示例。 更多... | |
巨集 | |
#define | fluid_sample_refcount(_样品) ((_sample)->refcount) |
获取样品的参考计数。 更多... | |
#define | FLUID_SAMPLETYPE_MONO 1 |
标记为 fluid_sample_t 样本类型 单样本的字段。 | |
#define | FLUID_SAMPLETYPE_RIGHT 2 |
标记为 fluid_sample_t 样本类型 立体声对的正确样本的字段。 | |
#define | FLUID_SAMPLETYPE_LEFT 4 |
标记为 fluid_sample_t 样本类型 立体声对的左采样的字段。 | |
#define | FLUID_SAMPLETYPE_LINKED 8 |
标记为 fluid_sample_t 样本类型 字段,当前未使用。 | |
#define | FLUID_SAMPLETYPE_OGG_VORBIS 0x10 |
标记为 fluid_sample_t 样本类型 Ogg Vorbis压缩样本的字段。 更多... | |
#define | FLUID_SAMPLETYPE_ROM 0x8000 |
标记为 fluid_sample_t 样本类型 ROM样本字段使样本被忽略。 | |
枚举 | |
枚举 | { FLUID_PRESET_SELECTED, FLUID_PRESET_UNSELECTED, FLUID_SAMPLE_DONE } |
一些用于预设和样本的通知枚举。 更多... | |
SoundFont插件。
可以将新的SoundFont加载器添加到合成器。该API使用几个“接口”(具有回调函数的结构): fluid_sfloader_t, fluid_sfont_t和 fluid_preset_t。此API允许加载和合成虚拟SoundFont文件,只要它们可以由SoundFont合成模型表示,它们实际上可能不是SoundFont文件。
要将新的SoundFont加载器添加到合成器,请调用 fluid_synth_add_sfloader() 并将一个指针传递给fluid_sfloader_t结构。此结构中重要的回调函数是“加载”,应尝试加载文件并返回 fluid_sfont_t 结构,如果失败则为NULL。
的 fluid_sfont_t 结构包含一个获取SoundFont名称的回调。它包含两个功能,可循环访问所包含的预设,另一个功能是获取与库和预设编号相对应的预设。这个函数应该返回一个 fluid_preset_t 结构体。
的 fluid_preset_t 结构包含一些从预设中获取信息的功能(名称,库,编号)。最重要的回调是noteon函数。 noteon函数应调用 fluid_synth_alloc_voice() 每个必须演奏的样本。 fluid_synth_alloc_voice() 需要一个指向 fluid_sample_t 结构并返回不透明指针 fluid_voice_t 结构体。要设置或增加生成器的值,请使用 fluid_voice_gen_set() 要么 fluid_voice_gen_incr()。完成初始化语音呼叫后,fluid_voice_start()开始播放合成语音。
#define fluid_sample_refcount | ( | _样品 | ) | ((_sample)->refcount) |
#定义FLUID_SAMPLETYPE_OGG_VORBIS 0x10 |
标记为 fluid_sample_t 样本类型 Ogg Vorbis压缩样本的字段。