es algo asi como esto, claro que los efectos no funcionan por eso hje pedido ayuda..
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->public class CSSonido : IDisposable
  {
    public readonly Sonido.Device dispSonido;
    private Sonido.SecondaryBuffer sb;
    private Control propietario;
    public CSSonido(Control propietario)
    {
      this.propietario = propietario;
      Sonido.BufferDescription desc = new Sonido.BufferDescription();
            dispSonido = new Sonido.Device();
      dispSonido.SetCooperativeLevel(propietario, Sonido.CooperativeLevel.Priority);
      desc.ControlEffects = true;
      desc.ControlVolume = true;
      sb = new Sonido.SecondaryBuffer("sound2.wav",desc,dispSonido);
      Sonido.EffectDescription []ed = new Sonido.EffectDescription[1];
      
      ed[0].GuidEffectClass = Sonido.DSoundHelper.StandardEchoGuid;
      Sonido.EffectsEcho fxe;
      
      Sonido.EchoEffect efx = (Sonido.EchoEffect) sb.GetEffects(0);
      
      fxe=efx.AllParameters;
      fxe.Feedback=20;
       efx.AllParameters= fxe;
      ed[0] =(Sonido.EchoEffect) efx.AllParameters;
      /*Sonido.EchoEffect ef = ed[0];
      ef.AllParameters = fxe;*/
           
      sb.SetEffects(ed);
    }
    ~CSSonido()
    {
      Dispose();
    }
    public void Dispose()
    {
      GC.SuppressFinalize(this);
    }
    public void PlayBuffer(bool loop)
    {
      if(loop)
        sb.Play(0,Sonido.BufferPlayFlags.Looping);
      else
        sb.Play(0,Sonido.BufferPlayFlags.Default);
    }
  }
}<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->