Skip to content

Commit 78abb35

Browse files
committed
Adding the 'cb' model, and some fixes to make model files work.
1 parent 997f12f commit 78abb35

File tree

7 files changed

+11227
-5
lines changed

7 files changed

+11227
-5
lines changed

Makefile.am

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ACLOCAL_AMFLAGS = -I m4
22

3-
AM_CFLAGS = -I$(top_srcdir)/include $(DEPS_CFLAGS)
3+
AM_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src $(DEPS_CFLAGS)
44

55
dist_doc_DATA = COPYING AUTHORS README
66

@@ -22,7 +22,9 @@ librnnoise_la_SOURCES = \
2222
src/denoise.c \
2323
src/rnn.c \
2424
src/rnn_data.c \
25+
src/models/cb.c \
2526
src/rnn_reader.c \
27+
src/models.c \
2628
src/pitch.c \
2729
src/kiss_fft.c \
2830
src/celt_lpc.c

include/rnnoise.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,8 @@ RNNOISE_EXPORT RNNModel *rnnoise_model_from_file(FILE *f);
6161

6262
RNNOISE_EXPORT void rnnoise_model_free(RNNModel *model);
6363

64+
RNNOISE_EXPORT const char **rnnoise_models(void);
65+
66+
RNNOISE_EXPORT RNNModel *rnnoise_get_model(const char *name);
67+
6468
#endif

src/models.c

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/* Copyright (c) Gregor Richards */
2+
/*
3+
Redistribution and use in source and binary forms, with or without
4+
modification, are permitted provided that the following conditions
5+
are met:
6+
7+
- Redistributions of source code must retain the above copyright
8+
notice, this list of conditions and the following disclaimer.
9+
10+
- Redistributions in binary form must reproduce the above copyright
11+
notice, this list of conditions and the following disclaimer in the
12+
documentation and/or other materials provided with the distribution.
13+
14+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15+
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
18+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
22+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
23+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25+
*/
26+
27+
#ifdef HAVE_CONFIG_H
28+
#include "config.h"
29+
#endif
30+
31+
#include <string.h>
32+
33+
#include "rnnoise.h"
34+
35+
/* This file is just a list of the built-in models and a way of fetching them.
36+
* Nothing fancy. */
37+
38+
static const char *model_names[] = {
39+
"orig",
40+
"cb",
41+
NULL
42+
};
43+
44+
extern const struct RNNModel model_orig, model_cb;
45+
46+
static const struct RNNModel *models[] = {
47+
&model_orig,
48+
&model_cb
49+
};
50+
51+
const char **rnnoise_models()
52+
{
53+
return model_names;
54+
}
55+
56+
RNNModel *rnnoise_get_model(const char *name)
57+
{
58+
int i;
59+
for (i = 0; model_names[i]; i++) {
60+
if (!strcmp(name, model_names[i]))
61+
return (RNNModel *) models[i];
62+
}
63+
return NULL;
64+
}

0 commit comments

Comments
 (0)