summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2017-07-14 15:46:35 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2017-07-14 15:46:35 -0400
commitdac3cf312471782418e5e2bdb38a7c4269ba9cee (patch)
tree61082ffedd80af5a6261ad4a6b97a857220d1dec
parenta628dd5ea79469893a187a80939382f59fe398a9 (diff)
downloadopus-dac3cf312471782418e5e2bdb38a7c4269ba9cee.tar.gz
Compensate for probability bias from the RNN
-rw-r--r--src/analysis.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/analysis.c b/src/analysis.c
index 64292205..eb7b1afe 100644
--- a/src/analysis.c
+++ b/src/analysis.c
@@ -829,9 +829,11 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
/* Probability of speech or music vs noise */
info->activity_probability = frame_probs[1];
- info->music_prob = frame_probs[0];
+ /* It seems like the RNN tends to have a bias towards speech and this
+ warping of the probabilities compensates for it. */
+ info->music_prob = frame_probs[0] * (2 - frame_probs[0]);
- /*printf("%f %f\n", frame_probs[0], frame_probs[1]);*/
+ /*printf("%f %f %f\n", frame_probs[0], frame_probs[1], info->music_prob);*/
#ifdef MLP_TRAINING
for (i=0;i<25;i++)
printf("%f ", features[i]);