流体合成  1.1.11
类型定义 | 职能
audio.h文件参考

音频驱动器输出的功能。 更多...

类型定义

typedef 在t(* fluid_audio_func_t)(无效* 数据,int 伦,int 宁,float ** 在,int 努特,float ** 出)
 用于的回调函数类型 new_fluid_audio_driver2() 以便在将音频发送到驱动程序之前进行自定义用户音频处理。 更多...
 

职能

FLUIDSYNTH_API fluid_audio_driver_tnew_fluid_audio_driver (fluid_settings_t *设置 fluid_synth_t *合成)
 创建一个新的音频驱动程序。 更多...
 
FLUIDSYNTH_API fluid_audio_driver_tnew_fluid_audio_driver2 (fluid_settings_t *设置 fluid_audio_func_t 功能,void * 数据)
 创建一个新的音频驱动程序。 更多...
 
FLUIDSYNTH_API无效 delete_fluid_audio_driver (fluid_audio_driver_t *司机)
 删除音频驱动程序实例。 更多...
 
FLUIDSYNTH_API fluid_file_renderer_tnew_fluid_file_renderer (fluid_synth_t *合成)
 创建一个新的文件渲染器并打开文件。 更多...
 
FLUIDSYNTH_API 在t fluid_file_renderer_process_block (fluid_file_renderer_t * 开发者)
 将period_size样本写入文件。 更多...
 
FLUIDSYNTH_API无效 delete_fluid_file_renderer (fluid_file_renderer_t * 开发者)
 关闭文件并销毁文件渲染器对象。 更多...
 
FLUIDSYNTH_API 在t fluid_file_set_encoding_quality (fluid_file_renderer_t * 开发者,双q)
 设置vbr编码质量(仅在libsndfile支持下可用) 更多...
 
FLUIDSYNTH_API 在t fluid_audio_driver_register (const char ** 驾驶者)
 注册要使用的音频驱动程序。 更多...
 

详细说明

音频驱动器输出的功能。

Typedef文档

◆ fluid_audio_func_t

typedef 在t(* fluid_audio_func_t)(void *数据,int 伦,int 宁,浮点**输入,int 努特,浮点**输出)

用于的回调函数类型 new_fluid_audio_driver2() 以便在将音频发送到驱动程序之前进行自定义用户音频处理。

此功能负责将音频渲染到缓冲区。

参量
数据用户数据参数传递给 new_fluid_audio_driver2().
音频的长度(以帧为单位)。
“ 在”中的缓冲区计数
目前未使用
努特``出''时的数组计数(即通道数)
输出缓冲器,每个通道一个
退货
成功返回0,如果发生错误则返回非零。

功能文件

◆ new_fluid_audio_driver()

FLUIDSYNTH_API fluid_audio_driver_t* new_fluid_audio_driver ( fluid_settings_t 设定,
fluid_synth_t 合成器 
)

创建一个新的音频驱动程序。

参量
设定用于选择和创建音频驱动程序的配置设置。
合成器为其创建音频驱动程序的合成器实例。
退货
新的音频驱动程序实例。

使用定义的一组配置“设置”为给定的“合成”实例创建一个新的音频驱动程序。

例子:
example.c, 流体合成_arpeggio.c, 流体合成_metronome.c, 流体合成_register_adriver.c流体合成_simple.c.

◆ new_fluid_audio_driver2()

FLUIDSYNTH_API fluid_audio_driver_t* new_fluid_audio_driver2 ( fluid_settings_t 设定,
fluid_audio_func_t  功能,
无效*  数据 
)

创建一个新的音频驱动程序。

参量
设定用于选择和创建音频驱动程序的配置设置。
功能调用该函数以填充音频缓冲区以进行音频播放
数据用户定义的数据指针传递给“ 功能”
退货
新的音频驱动程序实例。

喜欢 new_fluid_audio_driver() 但允许在将音频发送到音频驱动程序之前进行自定义音频处理。回调'func'负责将音频呈现到缓冲区中。

注意:效率不如 new_fluid_audio_driver().

例子:
流体合成_fx.c.

参考文献 FLUID_DBG.

◆ delete_fluid_audio_driver()

FLUIDSYNTH_API无效 delete_fluid_audio_driver ( fluid_audio_driver_t 司机)

删除音频驱动程序实例。

参量
司机音频驱动程序实例要删除

关闭音频驱动程序并删除其实例。

例子:
example.c, 流体合成_arpeggio.c, 流体合成_fx.c, 流体合成_metronome.c, 流体合成_register_adriver.c流体合成_simple.c.

◆ new_fluid_file_renderer()

FLUIDSYNTH_API fluid_file_renderer_t* new_fluid_file_renderer ( fluid_synth_t 合成器)

创建一个新的文件渲染器并打开文件。

参量
合成器创建音频数据的合成器。
退货
新对象,失败则为NULL
以来
1.1.0

注意:可用的文件类型和格式取决于libfluidsynth是否使用libsndfile支持构建。如果不是,则仅支持RAW 16位输出。

使用synth对象的以下设置:

  • audio.file.name:输出文件名
  • audio.file.type:文件类型,“自动”会尝试从后缀为“ wav”的文件扩展名确定类型。
  • audio.file.format:音频格式
  • audio.file.endian:字节序字节序,“自动”表示文件类型的默认字节序
  • audio.period-size:要处理的音频块的大小
  • 合成器.sample-rate:要使用的采样率

参考文献 delete_fluid_file_renderer(), FLUID_ERR, fluid_settings_dupstr(), fluid_settings_getint()fluid_settings_getnum().

◆ fluid_file_renderer_process_block()

FLUIDSYNTH_API 在t fluid_file_renderer_process_block ( fluid_file_renderer_t 开发者)

将period_size样本写入文件。

参量
开发者文件渲染器实例
退货
FLUID_OK 要么 FLUID_FAILED 如果发生错误
以来
1.1.0

参考文献 FLUID_ERR, FLUID_FAILED, FLUID_OK, fluid_synth_write_float(), fluid_synth_write_s16()FLUID_WARN.

◆ delete_fluid_file_renderer()

FLUIDSYNTH_API无效 delete_fluid_file_renderer ( fluid_file_renderer_t 开发者)

关闭文件并销毁文件渲染器对象。

参量
开发者文件渲染器对象。
以来
1.1.0

参考文献 FLUID_WARN.

被引用 new_fluid_file_renderer().

◆ fluid_file_set_encoding_quality()

FLUIDSYNTH_API 在t fluid_file_set_encoding_quality ( fluid_file_renderer_t r,
双  q 
)

设置vbr编码质量(仅在libsndfile支持下可用)

参量
开发者文件渲染器对象。
退货
FLUID_OK 如果质量设置成功, FLUID_FAILED 除此以外
以来
1.1.7

参考文献 FLUID_FAILEDFLUID_OK.

◆ fluid_audio_driver_register()

FLUIDSYNTH_API 在t fluid_audio_driver_register ( const char **  驾驶者)

注册要使用的音频驱动程序。

使用创建设置实例时 new_fluid_settings(),所有音频驱动程序都初始化一次。过去,由于声卡驱动程序有问题,这导致了段错误和应用程序崩溃。

This 功能tion enables the user to only 在itialize specific audio 司机s when 设定 在stances are created. Therefore pass a NULL-terminated array of C-strings containing the names of audio 司机s to register for the usage with 流体合成. The names are the same as being used for the audio.driver setting.

默认情况下,已编译所有音频驱动程序fluidsynth都会被注册,因此调用此函数是可选的。

警告
仅当Fluidsynth的API中没有线程且没有任何类型的实例处于活动状态时,才可以调用此函数(例如,在Fluidsynth的初始创建之后就是这种情况)。否则,行为是不确定的。此外,使用未注册的音频驱动程序的任何尝试都是不确定的行为!
参量
驾驶者以NULL终止的音频驱动程序数组进行注册。传递NULL以注册所有可用的驱动程序。
退货
FLUID_OK 如果用户要求的所有音频驱动程序都由Fluidsynth支持并已成功注册。除此以外 FLUID_FAILED 返回,此功能无效。
注意
此函数不是线程安全的,永远不会!
以来
1.1.9
例子:
流体合成_register_adriver.c.

参考文献 FLUID_FAILEDFLUID_OK.