Reply To: First long phrase missed

Home Forums OpenEars First long phrase missed Reply To: First long phrase missed

#1022338
giebler
Participant

I determined that the following condition occurs twice during the first long phrase:

// Expand the backpointer tables if necessary.
if (ngs->bpidx >= ngs->bp_table_size) {

excessive_length_notification(); // HLW this has been added since no one ever wants this to go on for more than one round on an iPhone.

ngs->bp_table_size *= 2;
ngs->bp_table = ckd_realloc(ngs->bp_table,
ngs->bp_table_size
* sizeof(*ngs->bp_table));
E_INFO(“Resized backpointer table to %d entries\n”, ngs->bp_table_size);

}

This one doesn’t happen at all:

if (ngs->bss_head >= ngs->bscore_stack_size
– bin_mdef_n_ciphone(ps_search_acmod(ngs)->mdef)) {

excessive_length_notification(); // HLW this has been added since no one ever wants this to go on for more than one round on an iPhone.

ngs->bscore_stack_size *= 2;
ngs->bscore_stack = ckd_realloc(ngs->bscore_stack,
ngs->bscore_stack_size
* sizeof(*ngs->bscore_stack));
E_INFO(“Resized score stack to %d entries\n”, ngs->bscore_stack_size);
}

Is there an easy way to start with ngs->bp_table_size four times the normal size so that we never hit that code?

That would solve the problem for our application while leaving the LongRecognition and kExcessiveUtterancePeriod code intact.

Thanks again for the excellent support.