NWaves Versions Save

.NET DSP library with a lot of audio processing functions

v0.9.6

2 years ago
  • Massively update/cleanup XML comments and docs
  • Include XML documentation in nuget package
  • Various refactorings
  • Minor enhancements / bugfixes:
    • Correct naming of methods NormalizePeak() / ChangePeak()
    • Add signal.Crossfade(), signal.FadeIn/Out() methods
    • Better implementation of DesignFilter.Fir() method
    • Better implementation of OnlineFeatureExtractor.VectorCount() method
    • Add implementation of FastDct3.DirectNorm() / FastDct2.InverseNorm()

v0.9.5

2 years ago

NWaves 0.9.5

  • Multi-target package to .NET Standard 2.0 and .NET 5
  • Add Fft / RealFft methods taking Span as input
  • Add 3D/Stereo audio functionality (stereo panning, stereo and ping-pong delay, ITD-ILD, binaural panning)
  • Add benchmarks
  • Accelerate IirFilter, Butterworth, Elliptic, Chebyshev filters
  • Add OnlineFeatureExtractor class
  • Add methods for fractional delay FIR filter design
  • Add code for designing even-sized FIR filters
  • Add FadeInOutBuilder class
  • Add IIR filter design methods IirNotch / IirPeak / IirCombNotch / IirCombPeak
  • Add FractionalDelayLine class with more interpolation options (cubic, Thiran)
  • Add WetDryMixer class
  • Implement more distortion modes
  • Add WaveShaper class
  • Add BitCrusherEffect class
  • Add DynamicsProcessor class (limiter/compressor/expander/noise gate)
  • Add Filterbanks.Chroma() method and ChromaFeatureExtractor class
  • Add Welch() and LombScargle() methods for evaluating periodograms
  • Various minor enhancements / bugfixes:
    • implement 'perfect reconstruction' mode in inverse STFT
    • add normalization flag in Stft.Spectrogram() method
    • add DiscreteSignal.Unit() and DiscreteSignal.Reverse() methods
    • add EstimateGain() method and methods for filter processing with user-specified gain
    • WaveFile constructor doesn't close underlying stream
    • change type of TF zeros and poles to Complex[]. Methods accepting ComplexDiscreteSignal objects are not removed.
    • add overloaded constructor: var zsignal = new ComplexDiscreteSignal(1, tf.Zeros);
    • add faster implementation of median filter
    • add FilterChain64 and StereoFilter64 classes
    • fix bug with magnitude doubling in OlaBlockConvolver64/OlsBlockConvolver64
    • fix bug in EnvelopeFollower.Process() method
    • add Wavelet constructor with user-defined wavelet coefficients
    • rename WindowTypes enum to WindowType