[opus] Silk CNG

Mertama Markus EXT markus.mertama at digia.com
Thu Nov 3 14:25:13 UTC 2016

I have difficulties to understand how to use Silk GNC. 

I have enabled GNC (and VAD) something like this:

param.setting.vad = 1;
param.setting.cng = 1;
param.setting.plc = 1;
param.setting.penh = 1;
status = pjmedia_codec_opus_set_default_param(&config, &param);

I used debugger and printf to see that code executes in Opus CNG.c silk_CNG function noise generation loop. But still I cannot hear nothing when I get all input voice silent.  I have applied the recent bugfix 2349213003, but that didn't help. 

I tried windows and android build, both ends keep quiet even both builds happily seems to generate silence there. 

There is a line:    frame[ i ] = (opus_int16)silk_ADD_SAT16( frame[ i ], silk_SAT16( silk_RSHIFT_ROUND( silk_SMULWW( CNG_sig_Q14[ MAX_LPC_ORDER + i ], gain_Q10 ), 8 ) ) );

When I mute both ends, the frame[i] is 0 before and after that line.

Opus 1.1.3 used with PJSip 2.5.5. Windows 7 desktop, Android 5 phone

Any help what is the trick to get Comfort Noise to be generated?


More information about the opus mailing list