From 085d8f484af6141b1b88281a4043fb9215cead01 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Mon, 27 Jul 2020 12:21:19 +0200 Subject: [PATCH] Document the API --- include/rnnoise.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/include/rnnoise.h b/include/rnnoise.h index f7f5007..c4215d9 100644 --- a/include/rnnoise.h +++ b/include/rnnoise.h @@ -51,20 +51,60 @@ extern "C" { typedef struct DenoiseState DenoiseState; typedef struct RNNModel RNNModel; +/** + * Return the size of DenoiseState + */ RNNOISE_EXPORT int rnnoise_get_size(); +/** + * Return the number of samples processed by rnnoise_process_frame at a time + */ RNNOISE_EXPORT int rnnoise_get_frame_size(); +/** + * Initializes a pre-allocated DenoiseState + * + * If model is NULL the default model is used. + * + * See: rnnoise_create() and rnnoise_model_from_file() + */ RNNOISE_EXPORT int rnnoise_init(DenoiseState *st, RNNModel *model); +/** + * Allocate and initialize a DenoiseState + * + * If model is NULL the default model is used. + * + * The returned pointer MUST be freed with rnnoise_destroy(). + */ RNNOISE_EXPORT DenoiseState *rnnoise_create(RNNModel *model); +/** + * Free a DenoiseState produced by rnnoise_create. + * + * The optional custom model must be freed by rnnoise_model_free() after. + */ RNNOISE_EXPORT void rnnoise_destroy(DenoiseState *st); +/** + * Denoise a frame of samples + * + * in and out must be at least rnnoise_get_frame_size() large. + */ RNNOISE_EXPORT float rnnoise_process_frame(DenoiseState *st, float *out, const float *in); +/** + * Load a model from a file + * + * It must be deallocated with rnnoise_model_free() + */ RNNOISE_EXPORT RNNModel *rnnoise_model_from_file(FILE *f); +/** + * Free a custom model + * + * It must be called after all the DenoiseStates referring to it are freed. + */ RNNOISE_EXPORT void rnnoise_model_free(RNNModel *model); #ifdef __cplusplus -- 2.7.4