diff options
Diffstat (limited to 'src/rnn_vad_weights.h')
-rw-r--r-- | src/rnn_vad_weights.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/rnn_vad_weights.h b/src/rnn_vad_weights.h new file mode 100644 index 0000000..d55e33d --- /dev/null +++ b/src/rnn_vad_weights.h @@ -0,0 +1,37 @@ +#ifndef THIRD_PARTY_RNNOISE_SRC_RNN_VAD_WEIGHTS_H_ +#define THIRD_PARTY_RNNOISE_SRC_RNN_VAD_WEIGHTS_H_ + +#include <cstdint> +#include <cstring> + +namespace rnnoise { + +// Weights scaling factor. +const float kWeightsScale = 1.f / 256.f; + +// Input layer (dense). +const size_t kInputLayerInputSize = 42; +const size_t kInputLayerOutputSize = 24; +const size_t kInputLayerWeights = kInputLayerInputSize * kInputLayerOutputSize; +extern const int8_t kInputDenseWeights[kInputLayerWeights]; +extern const int8_t kInputDenseBias[kInputLayerOutputSize]; + +// Hidden layer (GRU). +const size_t kHiddenLayerOutputSize = 24; +const size_t kHiddenLayerWeights = + 3 * kInputLayerOutputSize * kHiddenLayerOutputSize; +const size_t kHiddenLayerBiases = 3 * kHiddenLayerOutputSize; +extern const int8_t kHiddenGruWeights[kHiddenLayerWeights]; +extern const int8_t kHiddenGruRecurrentWeights[kHiddenLayerWeights]; +extern const int8_t kHiddenGruBias[kHiddenLayerBiases]; + +// Output layer (dense). +const size_t kOutputLayerOutputSize = 1; +const size_t kOutputLayerWeights = + kHiddenLayerOutputSize * kOutputLayerOutputSize; +extern const int8_t kOutputDenseWeights[kOutputLayerWeights]; +extern const int8_t kOutputDenseBias[kOutputLayerOutputSize]; + +} // namespace rnnoise + +#endif // THIRD_PARTY_RNNOISE_SRC_RNN_VAD_WEIGHTS_H_ |