locked
Noise reduction function seems not to work RRS feed

  • Question

  • I am capturing voice from mic using DMO.

    I coded as follows to use noise reduction function.  But no difference about noise even pvNS.lVal =1 or 0.

    It seems noise reduction function is not working.
    How can I suppress noise ?

    PROPVARIANT pvNS;
    PropVariantInit(&pvNS);
    pvNS.vt = VT_I4;
    pvNS.lVal = 1;
    m_miscF.DisplayResult(hr = pPS->SetValue(MFPKEY_WMAAECMA_FEATR_NS, pvNS));
    m_miscF.DisplayResult(hr = pPS->GetValue(MFPKEY_WMAAECMA_FEATR_NS, &pvNS));
    PropVariantClear(&pvNS);

    I already turned the feature mode on by following coding and AEC is working with following coding.

    BOOL bFeatrModeOn = TRUE;
    PROPVARIANT pvFeatrModeOn;
    PropVariantInit(&pvFeatrModeOn);
    pvFeatrModeOn.vt = VT_BOOL;
    pvFeatrModeOn.boolVal = VARIANT_TRUE;
    m_miscF.DisplayResult(hr=pPS->SetValue(MFPKEY_WMAAECMA_FEATURE_MODE, pvFeatrModeOn));
    m_miscF.DisplayResult(hr=pPS->GetValue(MFPKEY_WMAAECMA_FEATURE_MODE, &pvFeatrModeOn));
    PropVariantClear(&pvFeatrModeOn);

    PROPVARIANT pvAES;
    PropVariantInit(&pvAES);
    pvAES.vt = VT_I4;
    pvAES.lVal = 1;
    m_miscF.DisplayResult(hr = pPS->SetValue(MFPKEY_WMAAECMA_FEATR_AES, pvAES));
    m_miscF.DisplayResult(hr = pPS->GetValue(MFPKEY_WMAAECMA_FEATR_AES, &pvAES));
    PropVariantClear(&pvAES);

    Regards

    Tuesday, April 17, 2012 12:58 PM

All replies

  • I do not really know much about these older DMOs.  The only thing I can suggest is to check that you are setting the MFPKEY_WMAAECMA_SYSTEM_MODE property, and that you are setting all properties before configuring the media types or streaming any data.  Also, noise supression is on by default, so there is no real need for it to be turned on.
    Monday, May 21, 2012 8:48 PM
  • Dear Mr.Matt Andrews

    Thank you for your reply.
    I already set the MFPKEY_WMAAECMA_SYSTEM_MODE property.

    I wrote noise suppression function.  It works like automatic mute.
    This function set zero into audio signal array in case of low value continues during defined period.

    I made N:N Web communication software that can send and receive voice , video captured by WebCamera and display as a hobby.  I can show you if you want.

    Regards
    K.Okumura

    Sunday, May 27, 2012 12:40 PM