From 022f2b7ebc603a02a1bba75a64a5cf25d4dab420 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin <jmvalin@amazon.com> Date: Fri, 4 Aug 2023 14:34:09 -0400 Subject: [PATCH] int version for convenience --- dnn/fwgan.c | 8 ++++++++ dnn/fwgan.h | 1 + 2 files changed, 9 insertions(+) diff --git a/dnn/fwgan.c b/dnn/fwgan.c index cd64d8217..b349fe208 100644 --- a/dnn/fwgan.c +++ b/dnn/fwgan.c @@ -301,3 +301,11 @@ void fwgan_synthesize(FWGANState *st, float *pcm, const float *features) OPUS_COPY(&pcm[FWGAN_FRAME_SIZE-SUBFRAME_SIZE], new_pcm, SUBFRAME_SIZE); OPUS_COPY(st->pcm_buf, &new_pcm[SUBFRAME_SIZE], FWGAN_FRAME_SIZE-SUBFRAME_SIZE); } + +void fwgan_synthesize_int(FWGANState *st, opus_int16 *pcm, const float *features) +{ + int i; + float fpcm[FWGAN_FRAME_SIZE]; + fwgan_synthesize(st, fpcm, features); + for (i=0;i<LPCNET_FRAME_SIZE;i++) pcm[i] = (int)floor(.5 + MIN32(32767, MAX32(-32767, 32768.f*fpcm[i]))); +} diff --git a/dnn/fwgan.h b/dnn/fwgan.h index 4f33ddbe5..b7fe28c0d 100644 --- a/dnn/fwgan.h +++ b/dnn/fwgan.h @@ -76,6 +76,7 @@ void fwgan_init(FWGANState *st); void fwgan_cont(FWGANState *st, const float *pcm0, const float *features0); void fwgan_synthesize(FWGANState *st, float *pcm, const float *features); +void fwgan_synthesize_int(FWGANState *st, opus_int16 *pcm, const float *features); #endif /* FWGAN_H */ -- GitLab