53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
|
|
#ifndef _AUDIO_PITCH_API_H_
|
|
#define _AUDIO_PITCH_API_H_
|
|
|
|
#include "media/voiceChanger_api.h"
|
|
#include "media/audio_stream.h"
|
|
typedef struct _autotune_hdl {
|
|
AUTOTUNE_FUNC_API *ops;
|
|
void *workbuf;
|
|
AUTOTUNE_PARM parm;
|
|
struct audio_stream_entry entry; // 音频流入口
|
|
struct list_head hentry; //
|
|
u32 sample_rate;
|
|
u32 autotune_name;
|
|
u8 update;
|
|
u8 status;
|
|
} autotune_hdl;
|
|
|
|
extern AUTOTUNE_FUNC_API *get_autotune_func_api();
|
|
/*
|
|
* 电子音打开
|
|
*/
|
|
autotune_hdl *audio_autotune_open(u32 autotune_name, AUTOTUNE_PARM *param, u32 sample_rate);
|
|
/*
|
|
* 电子音关闭
|
|
*/
|
|
void audio_autotune_close(autotune_hdl *hdl);
|
|
/*
|
|
* 电子音参数更新
|
|
*/
|
|
void audio_autotune_update_parm(u32 autotune_name, AUTOTUNE_PARM *parm);
|
|
/*
|
|
* 电子音数据处理
|
|
*/
|
|
int audio_autotune_run(autotune_hdl *hdl, s16 *indata, s16 *outdata, int len, u8 ch_num);
|
|
/*
|
|
* 电子音暂停处理
|
|
*/
|
|
|
|
void audio_autotune_bypass(u32 autotune_name, u8 bypass);
|
|
|
|
autotune_hdl *get_cur_autotune_hdl_by_name(u32 autotune_name);
|
|
#endif
|
|
|
|
#ifndef RUN_NORMAL
|
|
#define RUN_NORMAL 0
|
|
#endif
|
|
|
|
#ifndef RUN_BYPASS
|
|
#define RUN_BYPASS 1
|
|
#endif
|
|
|