blob: f2186fe076a02aebdd9c4ee0cb05d07370c9c461 [file] [log] [blame]
Jean-Marc Valin54eeea72017-08-08 11:20:29 -04001#ifndef RNN_DATA_H
2#define RNN_DATA_H
3
4#include "rnn.h"
5
Gregor Richards231b9c02018-09-20 21:44:49 -04006struct RNNModel {
7 int input_dense_size;
Gregor Richardsbfba2ad2018-09-20 21:47:08 -04008 const DenseLayer *input_dense;
Jean-Marc Valin54eeea72017-08-08 11:20:29 -04009
Gregor Richards231b9c02018-09-20 21:44:49 -040010 int vad_gru_size;
Gregor Richardsbfba2ad2018-09-20 21:47:08 -040011 const GRULayer *vad_gru;
Jean-Marc Valin54eeea72017-08-08 11:20:29 -040012
Gregor Richards231b9c02018-09-20 21:44:49 -040013 int noise_gru_size;
Gregor Richardsbfba2ad2018-09-20 21:47:08 -040014 const GRULayer *noise_gru;
Jean-Marc Valin54eeea72017-08-08 11:20:29 -040015
Gregor Richards231b9c02018-09-20 21:44:49 -040016 int denoise_gru_size;
Gregor Richardsbfba2ad2018-09-20 21:47:08 -040017 const GRULayer *denoise_gru;
Jean-Marc Valin54eeea72017-08-08 11:20:29 -040018
Gregor Richards231b9c02018-09-20 21:44:49 -040019 int denoise_output_size;
Gregor Richardsbfba2ad2018-09-20 21:47:08 -040020 const DenseLayer *denoise_output;
Jean-Marc Valin54eeea72017-08-08 11:20:29 -040021
Gregor Richards231b9c02018-09-20 21:44:49 -040022 int vad_output_size;
Gregor Richardsbfba2ad2018-09-20 21:47:08 -040023 const DenseLayer *vad_output;
Gregor Richards231b9c02018-09-20 21:44:49 -040024};
Jean-Marc Valin54eeea72017-08-08 11:20:29 -040025
26struct RNNState {
Gregor Richards231b9c02018-09-20 21:44:49 -040027 const RNNModel *model;
28 float *vad_gru_state;
29 float *noise_gru_state;
30 float *denoise_gru_state;
Jean-Marc Valin54eeea72017-08-08 11:20:29 -040031};
32
33
34#endif