From 40a38162a43384d53e4cd81ae3f96fbaa723da55 Mon Sep 17 00:00:00 2001 From: Danielius Visockas Date: Fri, 22 Jan 2021 16:22:28 +0200 Subject: Drop unused arguments from README (#103) Match wording given by usage. --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index da30b69..4158a9b 100644 --- a/README +++ b/README @@ -12,7 +12,7 @@ While it is meant to be used as a library, a simple command-line tool is provided as an example. It operates on RAW 16-bit (machine endian) mono PCM files sampled at 48 kHz. It can be used as: -./examples/rnnoise_demo < input.raw > output.raw +./examples/rnnoise_demo The output is also a 16-bit raw PCM file. -- cgit v1.2.3 From eca42a4b9035a9fd66095183cc195a9f488c3e12 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Mon, 27 Jul 2020 12:11:20 +0200 Subject: Add rnnoise_get_frame_size() It provides a mean to know how many samples are processed at time. --- include/rnnoise.h | 2 ++ src/denoise.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/include/rnnoise.h b/include/rnnoise.h index 511a976..f7f5007 100644 --- a/include/rnnoise.h +++ b/include/rnnoise.h @@ -53,6 +53,8 @@ typedef struct RNNModel RNNModel; RNNOISE_EXPORT int rnnoise_get_size(); +RNNOISE_EXPORT int rnnoise_get_frame_size(); + RNNOISE_EXPORT int rnnoise_init(DenoiseState *st, RNNModel *model); RNNOISE_EXPORT DenoiseState *rnnoise_create(RNNModel *model); diff --git a/src/denoise.c b/src/denoise.c index d1c21dc..5a62844 100644 --- a/src/denoise.c +++ b/src/denoise.c @@ -257,6 +257,10 @@ int rnnoise_get_size() { return sizeof(DenoiseState); } +int rnnoise_get_frame_size() { + return FRAME_SIZE; +} + int rnnoise_init(DenoiseState *st, RNNModel *model) { memset(st, 0, sizeof(*st)); if (model) -- cgit v1.2.3 From 085d8f484af6141b1b88281a4043fb9215cead01 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Mon, 27 Jul 2020 12:21:19 +0200 Subject: 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 -- cgit v1.2.3 From 1cbdbcf1283499bbb2230a6b0f126eb9b236defd Mon Sep 17 00:00:00 2001 From: Petter Reinholdtsen Date: Fri, 22 Jan 2021 21:44:33 +0100 Subject: Correct #endif in rnn.h. --- src/rnn.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rnn.h b/src/rnn.h index 10329f5..31b962f 100644 --- a/src/rnn.h +++ b/src/rnn.h @@ -66,4 +66,4 @@ void compute_gru(const GRULayer *gru, float *state, const float *input); void compute_rnn(RNNState *rnn, float *gains, float *vad, const float *input); -#endif /* _MLP_H_ */ +#endif /* RNN_H_ */ -- cgit v1.2.3