diff --git a/src/lpcnet_quant.c b/src/lpcnet_quant.c index 1b6f67f..11b40f2 100644 --- a/src/lpcnet_quant.c +++ b/src/lpcnet_quant.c @@ -136,7 +136,8 @@ void quant_pred_mbest(float vec_out[], int num_stages, float vq[], int m[], int k, - int mbest_survivors) + int mbest_survivors, + float ber) { float err[k], w[k], se1; int i,j,s,s1,ind; @@ -205,15 +206,16 @@ void quant_pred_mbest(float vec_out[], if (lpcnet_fsv != NULL) fprintf(lpcnet_fsv, "%f\t%f\t", vec_in[0],sqrt(se1)); if (lpcnet_verbose) fprintf(stderr, " se1: %f\n", se1); -//#define INSERT_ERROR -#ifdef INSERT_ERROR - /* insert random errors in bits of first stage to test index optimisation */ - for (s=0; s 0.0) { + /* optionally insert random errors in indexes to test index optimisation */ + for (s=0; sfeatures_quant, indexes, features, q->pred, q->num_stages, q->vq, q->m, k, q->mbest); + quant_pred_mbest(q->features_quant, indexes, features, q->pred, q->num_stages, q->vq, q->m, k, q->mbest, 0.0); pitch_ind = pitch_encode(features[2*NB_BANDS], q->pitch_bits); pitch_gain_ind = pitch_gain_encode(features[2*NB_BANDS+1]); pack_frame(q->num_stages, q->m, indexes, q->pitch_bits, pitch_ind, pitch_gain_ind, frame); diff --git a/src/lpcnet_quant.h b/src/lpcnet_quant.h index f55b8bc..6a43519 100644 --- a/src/lpcnet_quant.h +++ b/src/lpcnet_quant.h @@ -67,7 +67,8 @@ void quant_pred_mbest(float vec_out[], /* prev quant vector, and output, need t int num_stages, float vq[], int m[], int k, - int mbest_survivors); + int mbest_survivors, + float ber); void quant_pred_output(float vec_out[], int indexes[], diff --git a/src/quant_feat.c b/src/quant_feat.c index 7c8c1c0..6b3530d 100644 --- a/src/quant_feat.c +++ b/src/quant_feat.c @@ -64,11 +64,13 @@ int main(int argc, char *argv[]) { int pitch_bits = 0; int small_vec = 0; int logmag = 0; + float ber = 0.0; for(i=0; i