Files
2025-12-03 11:12:34 +08:00

67 lines
1.7 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef _audio_reverb_h__
#define _audio_reverb_h__
#include "effects/reverb_api.h"
struct plate_reverb_update_parm { /*与Plate_reverb_parm结构关联*/
int wet; //0-300%
int dry; //0-200%
int pre_delay; //0-40ms
int highcutoff; //0-20k 高频截止
int diffusion; //0-100%
int decayfactor; //0-100%
int highfrequencydamping; //0-100%
int modulate; // 0或1
int roomsize; //20%-100%
int wet_bit_wide; //016bit 1:24bit 24bit使用多70k ram
};
typedef struct _Plate_reverb_TOOL_SET_ {
int is_bypass; // 1-> byass 0 -> no bypass
struct plate_reverb_update_parm parm;
} plate_reverb_param_tool_set;
struct audio_plate_reverb_parm {
Plate_reverb_parm plate_parm;
EF_REVERB0_FIX_PARM fixparm;
u16 advance;
u16 wet_bit_wide;
};
struct audio_plate_reverb {
void *workbuf;
PLATE_REVERB0_FUNC_API *ops; //函数指针
struct audio_plate_reverb_parm parm;
u8 status;
u8 update;
};
/*
* 打开plate声卡混响模块
*/
struct audio_plate_reverb *audio_plate_reverb_open(struct audio_plate_reverb_parm *parm);
/*
* plate声卡混响处理
*/
int audio_plate_reverb_run(struct audio_plate_reverb *hdl, short *in, short *out, int len);
/*
* 关闭plate声卡混响模块
*/
void audio_plate_reverb_close(struct audio_plate_reverb *hdl);
/*
* plate声卡混响参数更新
*/
void audio_plate_reverb_update_parm(struct audio_plate_reverb *hdl, struct plate_reverb_update_parm *parm);
void audio_plate_reverb_bypass(struct audio_plate_reverb *hdl, u8 bypass);
#endif // reverb_echo_h__