diff --git a/dnn/nnet.c b/dnn/nnet.c
index 179e706330ea5e988f119d6acf260e49a9f15145..05d125887ed71b4280e404b9179bf4df198822ea 100644
--- a/dnn/nnet.c
+++ b/dnn/nnet.c
@@ -69,7 +69,7 @@ static OPUS_INLINE float relu(float x)
    return x < 0 ? 0 : x;
 }
 
-void compute_linear(const LinearLayer *linear, float *out, const float *in)
+static void compute_linear(const LinearLayer *linear, float *out, const float *in)
 {
    int i, M, N;
    const float *bias;
@@ -158,18 +158,6 @@ void compute_glu(const LinearLayer *layer, float *output, const float *input)
    }
 }
 
-void compute_gated_activation(const LinearLayer *layer, float *output, const float *input, int activation)
-{
-   int i;
-   float act1[MAX_INPUTS];
-   float act2[MAX_INPUTS];
-   celt_assert(layer->nb_inputs == layer->nb_outputs);
-   compute_activation(act1, input, layer->nb_outputs, activation);
-   compute_linear(layer, act2, input);
-   compute_activation(act2, act2, layer->nb_outputs, ACTIVATION_SIGMOID);
-   for (i=0;i<layer->nb_outputs;i++) output[i] = act1[i]*act2[i];
-}
-
 void compute_activation(float *output, const float *input, int N, int activation)
 {
    int i;
@@ -277,42 +265,6 @@ void compute_gruB(const GRULayer *gru, const float* gru_b_condition, float *stat
   compute_generic_gru(&in_matrix, &rec_matrix, state, input);
 }
 
-/* The input of this GRU is after the input matrix multiply. */
-void compute_sparse_gru(const SparseGRULayer *gru, float *state, const float *input)
-{
-  LinearLayer in_matrix, rec_matrix;
-  int i, N;
-  float scale[3*MAX_RNN_NEURONS_ALL];
-  N = gru->nb_neurons;
-
-  in_matrix.bias = input;
-  in_matrix.diag = NULL;
-  in_matrix.nb_inputs = N;
-  in_matrix.nb_outputs = 3*N;
-  in_matrix.subias = input;
-  in_matrix.scale = NULL;
-  in_matrix.float_weights = NULL;
-  in_matrix.weights = NULL;
-  in_matrix.weights_idx = NULL;
-
-  rec_matrix.bias = &gru->bias[3*N];
-  rec_matrix.diag = gru->diag_weights;
-  rec_matrix.nb_inputs = N;
-  rec_matrix.nb_outputs = 3*N;
-  rec_matrix.subias = &gru->subias[3*N];
-#ifdef DISABLE_DOT_PROD
-  rec_matrix.scale = NULL;
-  rec_matrix.float_weights = gru->recurrent_weights;
-  rec_matrix.weights = NULL;
-#else
-  for (i=0;i<3*N;i++) scale[i] = SCALE_1;
-  rec_matrix.scale = scale;
-  rec_matrix.weights = gru->recurrent_weights;
-  rec_matrix.float_weights = NULL;
-#endif
-  rec_matrix.weights_idx = gru->idx;
-  compute_generic_gru(&in_matrix, &rec_matrix, state, input);
-}
 
 #define MAX_CONV_INPUTS_ALL DRED_MAX_CONV_INPUTS
 
@@ -347,30 +299,13 @@ void compute_generic_conv1d_dilation(const LinearLayer *layer, float *output, fl
    }
 }
 
-void compute_conv1d(const Conv1DLayer *layer, float *output, float *mem, const float *input)
-{
-   LinearLayer matrix;
-   int N, M;
-   M = layer->nb_inputs*layer->kernel_size;
-   N = layer->nb_neurons;
-   matrix.bias = layer->bias;
-   matrix.subias = NULL;
-   matrix.float_weights = layer->input_weights;
-   matrix.weights = NULL;
-   matrix.weights_idx = NULL;
-   matrix.diag = NULL;
-   matrix.nb_inputs = M;
-   matrix.nb_outputs = N;
-   matrix.scale = NULL;
-   compute_generic_conv1d(&matrix, output, mem, input, layer->nb_inputs, layer->activation);
-}
 
 /* Computes non-padded convolution for input [ ksize1 x in_channels x (len2+ksize2) ],
    kernel [ out_channels x in_channels x ksize1 x ksize2 ],
    storing the output as [ out_channels x len2 ].
    We assume that the output dimension along the ksize1 axis is 1,
    i.e. processing one frame at a time. */
-void conv2d_float(float *out, const float *weights, int in_channels, int out_channels, int ktime, int kheight, const float *in, int height, int hstride)
+static void conv2d_float(float *out, const float *weights, int in_channels, int out_channels, int ktime, int kheight, const float *in, int height, int hstride)
 {
    int i;
    int in_stride;
@@ -394,7 +329,7 @@ void conv2d_float(float *out, const float *weights, int in_channels, int out_cha
    }
 }
 
-void conv2d_3x3_float(float *out, const float *weights, int in_channels, int out_channels, const float *in, int height, int hstride)
+static void conv2d_3x3_float(float *out, const float *weights, int in_channels, int out_channels, const float *in, int height, int hstride)
 {
    int i;
    int in_stride;
@@ -451,37 +386,3 @@ void compute_conv2d(const Conv2dLayer *conv, float *out, float *mem, const float
      compute_activation(&out[i*hstride], &out[i*hstride], height, activation);
    }
 }
-
-
-void compute_embedding(const EmbeddingLayer *layer, float *output, int input)
-{
-   int i;
-   celt_assert(input >= 0);
-   celt_assert(input < layer->nb_inputs);
-   /*if (layer->dim == 64) printf("%d\n", input);*/
-   for (i=0;i<layer->dim;i++)
-   {
-      output[i] = layer->embedding_weights[input*layer->dim + i];
-   }
-}
-
-void compute_gru_a_input(float *output, const float *input, int N, const EmbeddingLayer *layer1, int val1, const EmbeddingLayer *layer2, int val2, const EmbeddingLayer *layer3, int val3) {
-   int i;
-   for (i=0;i<3*N;i++) {
-      output[i] = input[i] + layer1->embedding_weights[val1*layer1->dim + i]
-                           + layer2->embedding_weights[val2*layer2->dim + i]
-                           + layer3->embedding_weights[val3*layer3->dim + i];
-   }
-}
-
-void accum_embedding(const EmbeddingLayer *layer, float *output, int input)
-{
-   int i;
-   celt_assert(input >= 0);
-   celt_assert(input < layer->nb_inputs);
-   /*if (layer->dim == 64) printf("%d\n", input);*/
-   for (i=0;i<layer->dim;i++)
-   {
-      output[i] += layer->embedding_weights[input*layer->dim + i];
-   }
-}
diff --git a/dnn/nnet.h b/dnn/nnet.h
index c02711a246be335e40b17ec2b83fd93eba810ec8..e385663a833dd1cb93f74932fc1ac0a57e976ab0 100644
--- a/dnn/nnet.h
+++ b/dnn/nnet.h
@@ -140,7 +140,6 @@ typedef struct {
   int dim;
 } EmbeddingLayer;
 
-void compute_linear(const LinearLayer *linear, float *out, const float *in);
 void compute_generic_dense(const LinearLayer *layer, float *output, const float *input, int activation);
 void compute_generic_gru(const LinearLayer *input_weights, const LinearLayer *recurrent_weights, float *state, const float *in);
 void compute_generic_conv1d(const LinearLayer *layer, float *output, float *mem, const float *input, int input_size, int activation);
@@ -156,17 +155,6 @@ void compute_mdense(const MDenseLayer *layer, float *output, const float *input)
 
 void compute_gruB(const GRULayer *gru, const float* gru_b_condition, float *state, const float *input);
 
-void compute_sparse_gru(const SparseGRULayer *gru, float *state, const float *input);
-
-void compute_conv1d(const Conv1DLayer *layer, float *output, float *mem, const float *input);
-
-void compute_embedding(const EmbeddingLayer *layer, float *output, int input);
-
-void accum_embedding(const EmbeddingLayer *layer, float *output, int input);
-
-void compute_gru_a_input(float *output, const float *input, int N, const EmbeddingLayer *layer1, int val1, const EmbeddingLayer *layer2, int val2, const EmbeddingLayer *layer3, int val3);
-
-int sample_from_pdf(const float *pdf, int N, float exp_boost, float pdf_floor);
 
 
 extern const WeightArray lpcnet_arrays[];