diff --git a/dnn/dump_lpcnet_tables.c b/dnn/dump_lpcnet_tables.c index 85eb00c63cafb805a13d5a11ba2dc7f7f79efecd..95084d6e1e63fb19bf3b998b56f8b43fde9042f0 100644 --- a/dnn/dump_lpcnet_tables.c +++ b/dnn/dump_lpcnet_tables.c @@ -25,6 +25,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <math.h> #include <stdio.h> #include "freq.h" @@ -40,6 +44,10 @@ int main(void) { file=fopen("lpcnet_tables.c", "wb"); fprintf(file, "/* The contents of this file was automatically generated by dump_lpcnet_tables.c*/\n\n"); + fprintf(file, "#ifdef HAVE_CONFIG_H\n"); + fprintf(file, "#include \"config.h\"\n"); + fprintf(file, "#endif\n"); + fprintf(file, "#include \"kiss_fft.h\"\n\n"); kfft = opus_fft_alloc_twiddles(WINDOW_SIZE, NULL, NULL, NULL, 0); @@ -93,4 +101,4 @@ int main(void) { fclose(file); return 0; -} \ No newline at end of file +} diff --git a/dnn/freq.c b/dnn/freq.c index 055af6d9cff405952e0d38e17a88d438737c7530..4aa8267a64d5294cff261d034923cdb4867d3ea9 100644 --- a/dnn/freq.c +++ b/dnn/freq.c @@ -162,20 +162,19 @@ void compute_burg_cepstrum(const float *pcm, float *burg_cepstrum, int len, int float g; kiss_fft_cpx LPC[FREQ_SIZE]; float Ly[NB_BANDS]; + float logMax = -2; + float follow = -2; assert(order <= LPC_ORDER); assert(len <= FRAME_SIZE); for (i=0;i<len-1;i++) burg_in[i] = pcm[i+1] - PREEMPHASIS*pcm[i]; g = silk_burg_analysis(burg_lpc, burg_in, 1e-3, len-1, 1, order); g /= len - 2*(order-1); - //printf("%g\n", g); RNN_CLEAR(x, WINDOW_SIZE); x[0] = 1; for (i=0;i<order;i++) x[i+1] = -burg_lpc[i]*pow(.995, i+1); forward_transform(LPC, x); compute_band_energy_inverse(Eburg, LPC); for (i=0;i<NB_BANDS;i++) Eburg[i] *= .45*g*(1.f/((float)WINDOW_SIZE*WINDOW_SIZE*WINDOW_SIZE)); - float logMax = -2; - float follow = -2; for (i=0;i<NB_BANDS;i++) { Ly[i] = log10(1e-2+Eburg[i]); Ly[i] = MAX16(logMax-8, MAX16(follow-2.5, Ly[i])); diff --git a/dnn/kiss_fft.h b/dnn/kiss_fft.h index dc37dc2ab50fbd8950a9c7f897587617dacbbad4..acbc1927bbc74d0e84c414b2923dc21cf2c9b89c 100644 --- a/dnn/kiss_fft.h +++ b/dnn/kiss_fft.h @@ -35,7 +35,6 @@ #include <stdlib.h> #define lpcnet_alloc(x) malloc(x) -//#define opus_free(x) free(x) #ifdef __cplusplus extern "C" { diff --git a/dnn/lpcnet.c b/dnn/lpcnet.c index 4f6a93a461602de9581e3c4b4dca54763b594dcf..86429e5d756792eac348a4c256de7a266e3e66ee 100644 --- a/dnn/lpcnet.c +++ b/dnn/lpcnet.c @@ -89,8 +89,6 @@ void run_frame_network(LPCNetState *lpcnet, float *gru_a_condition, float *gru_b float dense1_out[FEATURE_DENSE1_OUT_SIZE]; int pitch; float rc[LPC_ORDER]; - //static float features[NB_FEATURES]; - //RNN_COPY(features, lpcnet->last_features, NB_FEATURES); /* Matches the Python code -- the 0.1 avoids rounding issues. */ pitch = (int)floor(.1 + 50*features[NB_BANDS]+100); pitch = IMIN(255, IMAX(33, pitch)); @@ -118,7 +116,6 @@ void run_frame_network(LPCNetState *lpcnet, float *gru_a_condition, float *gru_b #ifdef LPC_GAMMA lpc_weighting(lpc, LPC_GAMMA); #endif - //RNN_COPY(lpcnet->last_features, _features, NB_FEATURES); if (lpcnet->frame_count < 1000) lpcnet->frame_count++; } diff --git a/dnn/lpcnet_demo.c b/dnn/lpcnet_demo.c index 816eb7f5935a35e594cfe3035f2bf56a2377675a..3fd6993e14003c1f89e07a52b1ff78ce62be534f 100644 --- a/dnn/lpcnet_demo.c +++ b/dnn/lpcnet_demo.c @@ -169,8 +169,8 @@ int main(int argc, char **argv) { int count=0; int loss=0; int skip=0, extra=0; - if ((plc_flags&0x3) == LPCNET_PLC_NONCAUSAL) skip=extra=80; LPCNetPLCState *net; + if ((plc_flags&0x3) == LPCNET_PLC_NONCAUSAL) skip=extra=80; net = lpcnet_plc_create(plc_flags); while (1) { size_t ret; diff --git a/dnn/lpcnet_tables.c b/dnn/lpcnet_tables.c index d17d52cf4e6a96781ea2d64dcefce2694233ce00..467cb4730349ea75b408311f705b079afda7441a 100644 --- a/dnn/lpcnet_tables.c +++ b/dnn/lpcnet_tables.c @@ -1,5 +1,8 @@ /* The contents of this file was automatically generated by dump_lpcnet_tables.c*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include "kiss_fft.h" static const arch_fft_state arch_fft = {0, NULL}; diff --git a/dnn/parse_lpcnet_weights.c b/dnn/parse_lpcnet_weights.c index 4f2eb682884b85d9dfd53d3936a28254cd5bf42b..e5c956001a206fd2d8da195a2c78f1b9c1e6d9cb 100644 --- a/dnn/parse_lpcnet_weights.c +++ b/dnn/parse_lpcnet_weights.c @@ -33,8 +33,8 @@ extern const WeightArray lpcnet_arrays[]; int parse_record(const unsigned char **data, int *len, WeightArray *array) { - if (*len < WEIGHT_BLOCK_SIZE) return -1; WeightHead *h = (WeightHead *)*data; + if (*len < WEIGHT_BLOCK_SIZE) return -1; if (h->block_size < h->size) return -1; if (*len < h->block_size+WEIGHT_BLOCK_SIZE) return -1; if (h->name[sizeof(h->name)-1] != 0) return -1;