1. Function call structure - main() - SamsungDiamondVoiceTxEngineInit() - DiamondVoiceEngineTxECNSINIT(): Initialize config parameters and frame status here - SamsungDiamondVoiceTxEngineModeConfig(): Set turn on/off mode - SamsungDiamondVoiceTxEngineMode() - SamsungTxECNSModeConfig() - SamsungDiamondVoiceTxEngineECNSConfig(): Not used (will be used to input tuning parameter later) - SamsungTxECNSReserved1Config() - SamsungTxECNSReserved2Config() - SamsungTxECNSReserved3Config() - SamsungDiamondVoiceTxEngineExe() - SamsungDiamondVoiceTxEngineInOutConfig(): Set input/output buffer - SamsungTxECNSState(): Call mode (turn on/off) - SamsungTxECNSExe() - SamsungTxECNS_NS(): NS main module function 2. Input argument is used for Acoustic Echo Cancellation and it is not implemented yet. So, you can use any pcm file with same length of . (Even it is okay to use ) 3. Instruction for SRC-B To Add config parameters (not modified with respect to frame index), - Definitions are added in struct DiamondVoiceTxEngine_ECNS_Cfg_t (samsungDiamondVoiceECNSTx.h) - Initialization are done in DiamondVoiceEngineTxECNSINIT() (SamsungTxECNS.c) To Add frame status (such as buffers and information of current and previous frames), - Definitions are added in struct ECNSStatus (samsungDiamondVoiceECNSTx.h) - Initialization are done in DiamondVoiceEngineTxECNSINIT() (SamsungTxECNS.c) To Add DNN NS regression function, - Add DNN NS at Fx_DNN_regression() (SamsungTxECNSRegression.c) - Call Fx_DNN_regression() at Fx_SpeechRegression() (SamsungTxECNSAlg.c) - To add/modify prototypes, refer to samsungTxECNSInt.h