void init(){ number_of_contexts = ca.numberOfStates(); sigma = ca.alphabetSize();//this takes into account also the terminator character TERMINATOR = 0; initStructures(); build(); ulint sum_of_heights=0; ulint sum_of_lenghts=0; for(ulint i=0;i<number_of_contexts;i++){ sum_of_lenghts += dynStrings[i].numberOfBits(); } }
INT32 Module3(INT16 *speech_samples, const UINT32 file_length, INT32 *hosm_Nparams, FLOAT *hosm_params, FLOAT SubjectiveMOS) { typInputParameter InParameter; typChannel channel; INT32 RetVal=0; FLOAT *ReferenceData=NULL; FLOAT fHOSM_params[NR_OF_RESULTS]; SubjectiveMOS = 0; ReferenceData = (FLOAT *)calloc(file_length, sizeof(FLOAT)); if(ReferenceData == 0) return -1; channel.file[REFER_FILE].Fptr = 0; InParameter.MOS = MAX_MOS_VALUE; vfloat(speech_samples, 1,ReferenceData, 1, file_length); InParameter.ReferData = ReferenceData; InParameter.Frequency = 8; channel.file[REFER_FILE].filetype = 3; RetVal = initStructures(&InParameter, &channel); channel.file[REFER_FILE].FileSize = file_length*2; channel.file[REFER_FILE].start = 0; channel.file[REFER_FILE].stop = channel.file[REFER_FILE].FileSize; RetVal = hosm (&InParameter, &channel, fHOSM_params); vmov(fHOSM_params, 1, hosm_params, 1, NR_OF_RESULTS); *hosm_Nparams = (INT32) NR_OF_RESULTS; free(ReferenceData); return RetVal; }