ref: d75a4aec7218239aa41fb265f58dba5e58e40113
parent: 293f76ee3389962d8f933c6cbc6ddd09f21db3d2
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Thu Dec 27 20:19:56 EST 2018
refactoring
--- a/dnn/common.h
+++ b/dnn/common.h
@@ -3,13 +3,37 @@
#ifndef COMMON_H
#define COMMON_H
-#include "stdlib.h"
-#include "string.h"
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
#define RNN_INLINE inline
#define OPUS_INLINE inline
float lpc_from_cepstrum(float *lpc, const float *cepstrum);
+
+static RNN_INLINE float ulaw2lin(float u)
+{+ float s;
+ float scale_1 = 32768.f/255.f;
+ u = u - 128;
+ s = u >= 0 ? 1 : -1;
+ u = fabs(u);
+ return s*scale_1*(exp(u/128.*log(256))-1);
+}
+
+static RNN_INLINE int lin2ulaw(float x)
+{+ float u;
+ float scale = 255.f/32768.f;
+ int s = x >= 0 ? 1 : -1;
+ x = fabs(x);
+ u = (s*(128*log(1+scale*x)/log(256)));
+ u = 128 + u;
+ if (u < 0) u = 0;
+ if (u > 255) u = 255;
+ return (int)floor(.5 + u);
+}
/** RNNoise wrapper for malloc(). To do your own dynamic allocation, all you need t
--- a/dnn/dump_data.c
+++ b/dnn/dump_data.c
@@ -55,13 +55,9 @@
typedef struct {float analysis_mem[OVERLAP_SIZE];
float cepstral_mem[CEPS_MEM][NB_BANDS];
- int memid;
float pitch_buf[PITCH_BUF_SIZE];
- float pitch_enh_buf[PITCH_BUF_SIZE];
float last_gain;
int last_period;
- float mem_hp_x[2];
- float lastg[NB_BANDS];
} DenoiseState;
static int rnnoise_get_size() {--- a/dnn/lpcnet.c
+++ b/dnn/lpcnet.c
@@ -56,29 +56,6 @@
};
-static float ulaw2lin(float u)
-{- float s;
- float scale_1 = 32768.f/255.f;
- u = u - 128;
- s = u >= 0 ? 1 : -1;
- u = fabs(u);
- return s*scale_1*(exp(u/128.*log(256))-1);
-}
-
-static int lin2ulaw(float x)
-{- float u;
- float scale = 255.f/32768.f;
- int s = x >= 0 ? 1 : -1;
- x = fabs(x);
- u = (s*(128*log(1+scale*x)/log(256)));
- u = 128 + u;
- if (u < 0) u = 0;
- if (u > 255) u = 255;
- return (int)floor(.5 + u);
-}
-
#if 0
static void print_vector(float *x, int N)
{--
⑨