CoolEdit之类的软件有这种功能,但我要加到自己的程序中去,有什么好方法没有?
提供算法,思路,acm滤波器,均有分,在此先谢过了

解决方案 »

  1.   

    采集为pcm或解码为pcm,如为16bit双声道,则判断((WORD*)p)>阈值,另一声道((WORD*)p)+1>阈值.
      

  2.   

    to:wuxq(好好) 
       能不能再详细一点啊?比如那个阀值怎么定啊?
      

  3.   

    阈值就是你要去噪的门限值,如16bit采集的数的范围是-32768~32767,根据你的声卡噪音你自己测试一下。
    以下设置为8khz,16bit,2channels
    WAVEFORMATEX wfex;
    wfex.wFormatTag = WAVE_FORMAT_PCM;
    wfex.nChannels = 2;
    wfex.nSamplesPerSec = 8000;
    wfex.wBitsPerSample = 16;
    wfex.cbSize = 0;
    wfex.nAvgBytesPerSec = 32000;
    wfex.nBlockAlign = 2;
    waveInOpen(&hWaveIn, WAVE_MAPPER, &wfex, (DWORD)Handle, 0L, CALLBACK_WINDOW);16bit双声道pcm数据格式:
    xx xx xx xx xx xx xx xx ...(十六进制)
    ----- ----- ----- -----
    left  right left  right