aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2020-07-27 12:21:19 +0200
committerpetterreinholdtsen <pere-github@hungry.com>2021-01-22 21:17:01 +0100
commit085d8f484af6141b1b88281a4043fb9215cead01 (patch)
tree36d8a901290356feff06da3aa49a32f4dc0a3e00
parenteca42a4b9035a9fd66095183cc195a9f488c3e12 (diff)
downloadrnnoise-085d8f484af6141b1b88281a4043fb9215cead01.tar.gz
Document the API
-rw-r--r--include/rnnoise.h40
1 files changed, 40 insertions, 0 deletions
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