From 6cba42f999866b614c0d70b09b603c175fbdbc4d Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin <jmvalin@amazon.com> Date: Fri, 4 Aug 2023 16:16:58 -0400 Subject: [PATCH] Add fwgan_load_model() --- dnn/fwgan.c | 11 +++++++++++ dnn/fwgan.h | 1 + 2 files changed, 12 insertions(+) diff --git a/dnn/fwgan.c b/dnn/fwgan.c index b349fe208..562ffe93a 100644 --- a/dnn/fwgan.c +++ b/dnn/fwgan.c @@ -35,6 +35,7 @@ #include "lpcnet.h" #include "pitch.h" #include "nnet.h" +#include "lpcnet_private.h" #define FEAT_IN_SIZE (BFCC_WITH_CORR_UPSAMPLER_FC_OUT_SIZE/4 + FWGAN_FRAME_SIZE/2) @@ -269,6 +270,16 @@ void fwgan_init(FWGANState *st) /* FIXME: perform arch detection. */ } +int fwgan_load_model(FWGANState *st, const unsigned char *data, int len) { + WeightArray *list; + int ret; + parse_weights(&list, data, len); + ret = init_fwgan(&st->model, list); + free(list); + if (ret == 0) return 0; + else return -1; +} + static void fwgan_synthesize_impl(FWGANState *st, float *pcm, const float *lpc, const float *features) { int subframe; diff --git a/dnn/fwgan.h b/dnn/fwgan.h index b7fe28c0d..acb7014d7 100644 --- a/dnn/fwgan.h +++ b/dnn/fwgan.h @@ -72,6 +72,7 @@ typedef struct { } FWGANState; void fwgan_init(FWGANState *st); +int fwgan_load_model(FWGANState *st, const unsigned char *data, int len); void fwgan_cont(FWGANState *st, const float *pcm0, const float *features0); -- GitLab