Releases: andrepxx/go-dsp-guitar
Releases · andrepxx/go-dsp-guitar
v1.1.0
Release date: 2019-01-08
Changelog:
New features / enhancements:
- Implement new Compressor effects unit as a compressor / limiter. This effects unit is especially suited for vocals, but may also be used on guitar signals.
- Add facility for automatic setup of JACK connections. This feature allows the user to define a list of JACK connections inside the configuration file located at
config/config.json
. The connections will automatically be established when the application starts in real-time mode. They will not be torn down, when the application exits. - Implement Reverb effects unit, optimize Delay effects unit. The new Reverb effects unit implements an algorithmic reverberation effect based upon the work of Manfred Schroeder from 1962. The structure of the reverb has been slightly modified from the paper version to include the early reflections from the tapped delay line before they pass through the subsequent allpass filters, into the response.
Maintenance / bugfixes / corrections:
- Fix
Makefile
target for TLS key generation. - Update build description in
README.md
. - Fix erroneous factor in Phaser module. This makes the behaviour more useful and consistent with that of the Flanger module.
- Introduce new mathematical constant to clean up FFT code.
- Increment minor version number: v1.0.0 --> v1.1.0
v1.0.0
Release date: 2018-12-17
Changelog:
- Reimplement DSP code in Golang using JACK instead of ALSA.
- Implement improved filter simulation using fast convolution.
- Pay attention to the order in which filters were compiled by applying sequence numbers to the data structure in the compilation channel.
- Implement four-band equalizer using IIR filters.
- Implement web-based user interface.
- Fix deadlock, which occurs, when a filter is recompiled while the associated "power amp" effect is in bypass mode.
- Implement metronome.
- Get rid of remaining hard-coded sample rate values in the controller.
- Implement phaser effect.
- Implement auto-wah effect using envelope-follower.
- Optimize the FFT implementation.
- Optimize generation of Fourier coefficients.
- Optimize generation of permutation coefficients.
- Calculate 2N-point FFT of real and/or Hermitian functions using N-point complex FFT.
- Make use of "math/bits" for bit-level operations. These functions get translated into specialized machine instructions.
- Process all channels concurrently.
- Enable the envelope follower to track RMS power levels instead of peak levels only.
- Implement an instrument tuner based on the auto-correlation function.
- Improve the accuracy of the tuner using quadratic interpolation of the auto-correlation function.
- Enable processing of WAV files for simpler "re-amping".
- Implement support for 64-bit "RF64"-files.
- Replace the legacy "JQuery knob" with "pure-knob".
- Optimize the algorithm for fast convolution for the case that the filter order is smaller than the buffer size.
- Implement a (peak) level meter according to DIN IEC 60268-18.
- Implement a method to change vectorization (frames per period) of the simulation algorithm, allowing the user to trade off simulation complexity (and therefore possible accuracy) and latency.
- Use Lanczos interpolation in the Fourier domain to reduce filter order. This preserves the original frequency response of the filter much better than the previous method while also preserving phase response, minimizing perceived latency.
- Get entirely rid of JQuery as a dependency using an associative data storage backed by a
WeakMap
instead of the$(element).data(key, value)
function. - Implement unit-tests with good coverage for several packages.
circular
fft
level
random
resample
tuner
wave
- Create user documentation.