57 lines
1.8 KiB
C
57 lines
1.8 KiB
C
#ifndef _CVP_NS_H_
|
|
#define _CVP_NS_H_
|
|
|
|
#include "generic/typedef.h"
|
|
|
|
/******************************* ANS ***************************/
|
|
/*ans参数*/
|
|
typedef struct {
|
|
char wideband;
|
|
char mode;
|
|
float AggressFactor;
|
|
float MinSuppress;
|
|
float NoiseLevel;
|
|
} noise_suppress_param;
|
|
|
|
int noise_suppress_frame_point_query(noise_suppress_param *param);
|
|
int noise_suppress_mem_query(noise_suppress_param *param);
|
|
int noise_suppress_open(noise_suppress_param *param);
|
|
int noise_suppress_close(void);
|
|
int noise_suppress_run(short *in, short *out, int npoint);
|
|
|
|
enum {
|
|
NS_CMD_NOISE_FLOOR = 1,
|
|
NS_CMD_LOWCUTTHR,
|
|
NS_CMD_AGGRESSFACTOR,
|
|
NS_CMD_MINSUPPRESS,
|
|
};
|
|
/*
|
|
* (1)NOISEFLOOR : 设定噪声估计的最小阈值,低于阈值的信号不会被估计。
|
|
* 主要为了应对手机处理过的信号中无声段的幅度很低,
|
|
* 语音段又抬高导致的噪声估计失效问题。
|
|
* (2)LOWCUTTHR : 设定经过降噪后的信号清0阈值,低于此阈值的信号会被清0。
|
|
* 主要为了应对硬件FFT精度不够,反变换太小的值时会出现噪声。
|
|
*/
|
|
int noise_suppress_config(u32 cmd, int arg, void *priv);
|
|
|
|
|
|
/******************************* DNS ***************************/
|
|
/*dns参数*/
|
|
typedef struct {
|
|
float DNS_OverDrive; //降噪强度 range[0:6.0]
|
|
float DNS_GainFloor; //最小压制 range[0:1.00]
|
|
float DNS_NoiseLevel;
|
|
float DNS_highGain; //EQ强度 range[1.0:3.5]
|
|
float DNS_rbRate; //混响强度 range[0:0.9]
|
|
int sample_rate;
|
|
} dns_param_t;
|
|
|
|
int audio_dns_run(void *hdl, short *in, short *out, int len);
|
|
void *audio_dns_open(dns_param_t *param);
|
|
int audio_dns_close(void *hdl);
|
|
/*在线更新参数*/
|
|
int audio_dns_updata_param(void *hdl, float DNS_GainFloor, float DNS_OverDrive);
|
|
|
|
|
|
#endif/*_CVP_NS_H_*/
|