32 #include "opus_private.h"
36 #define ANALYSIS_BUF_SIZE 720
39 #define ANALYSIS_COUNT_MAX 10000
41 #define DETECT_SIZE 100
50 #define TONALITY_ANALYSIS_RESET_START angle
54 opus_val32 inmem[ANALYSIS_BUF_SIZE];
56 float prev_band_tonality[NB_TBANDS];
59 float E[NB_FRAMES][NB_TBANDS];
60 float logE[NB_FRAMES][NB_TBANDS];
61 float lowE[NB_TBANDS];
62 float highE[NB_TBANDS];
63 float meanE[NB_TBANDS+1];
77 float pspeech[DETECT_SIZE];
80 float pmusic[DETECT_SIZE];
81 float speech_confidence;
82 float music_confidence;
83 int speech_confidence_count;
84 int music_confidence_count;
89 opus_val32 downmix_state[3];
90 AnalysisInfo info[DETECT_SIZE];
91 } TonalityAnalysisState;
99 void tonality_analysis_init(TonalityAnalysisState *analysis, opus_int32 Fs);
105 void tonality_analysis_reset(TonalityAnalysisState *analysis);
107 void tonality_get_info(TonalityAnalysisState *tonal, AnalysisInfo *info_out,
int len);
109 void run_analysis(TonalityAnalysisState *analysis,
const CELTMode *celt_mode,
const void *analysis_pcm,
110 int analysis_frame_size,
int frame_size,
int c1,
int c2,
int C, opus_int32 Fs,
111 int lsb_depth, downmix_func downmix, AnalysisInfo *analysis_info);