流体合成  1.1.11
数据结构 | 巨集 | 枚举
sfont.h文件参考

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_tfluid_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()开始播放合成语音。

宏定义文档

◆ fluid_sample_refcount

#define fluid_sample_refcount (   _样品)    ((_sample)->refcount)

获取样品的参考计数。

仅应在综合上下文中调用(例如,noteon方法)

被引用 fluid_ramsfont_create_sfont().

◆ FLUID_SAMPLETYPE_OGG_VORBIS

#定义FLUID_SAMPLETYPE_OGG_VORBIS   0x10

标记为 fluid_sample_t 样本类型 Ogg Vorbis压缩样本的字段。

以来
1.1.7

枚举类型文档

◆ 匿名枚举

匿名枚举

一些用于预设和样本的通知枚举。

枚举器
FLUID_PRESET_SELECTED 

预设选择通知。

FLUID_PRESET_UNSELECTED 

预设未选择的通知。

FLUID_SAMPLE_DONE 

样品不再需要通知。