summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2017-06-04 02:59:33 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2017-06-04 03:04:52 -0400
commit15a30e282586f9c88784975944daf9e6c44aa72a (patch)
tree06a31a4b4839dd5118279286b55f8bf30067b13c
parentf3390cdf732d7f51264c6f869fe41955f511de3d (diff)
downloadopus-15a30e282586f9c88784975944daf9e6c44aa72a.tar.gz
Properly init speech/music confidence values
This was sometimes causing the music probability to be stuck at zero at the beginning of files
-rw-r--r--src/analysis.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/analysis.c b/src/analysis.c
index f0a04dc6..8f13d93b 100644
--- a/src/analysis.c
+++ b/src/analysis.c
@@ -224,6 +224,8 @@ void tonality_analysis_reset(TonalityAnalysisState *tonal)
/* Clear non-reusable fields. */
char *start = (char*)&tonal->TONALITY_ANALYSIS_RESET_START;
OPUS_CLEAR(start, sizeof(TonalityAnalysisState) - (start - (char*)tonal));
+ tonal->music_confidence = .9f;
+ tonal->speech_confidence = .1f;
}
void tonality_get_info(TonalityAnalysisState *tonal, AnalysisInfo *info_out, int len)
@@ -869,11 +871,6 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
tonal->speech_confidence_count = IMIN(tonal->speech_confidence_count, 500);
tonal->speech_confidence += adapt*MIN16(.2f,frame_probs[0]-tonal->speech_confidence);
}
- } else {
- if (tonal->music_confidence_count==0)
- tonal->music_confidence = .9f;
- if (tonal->speech_confidence_count==0)
- tonal->speech_confidence = .1f;
}
}
tonal->last_music = tonal->music_prob>.5f;