diff --git a/README.md b/README.md index 57e307a..63cbd08 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,13 @@ ## Installation ``` -pip install dasp-pytorch +git clone https://github.com/csteinmetz1/dasp-pytorch +cd dasp-pytorch +pip install -e . ``` +Note: Coming to PyPi soon to enable `pip install dasp-pytorch`. + ## Examples `dasp-pytorch` is a Python library for constructing differentiable audio signal processors using PyTorch. @@ -81,63 +85,57 @@ unzip audio_mono-mic.zip rm audio_mono-mic.zip ``` +### More examples + +- [Virtual Analog Modeling](examples/virtual_analog.py) +- [Automatic Equalization](examples/auto_eq.py) +- [Audio Production Style Transfer](examples/style_transfer.py) + ## Audio Processors
Audio Processor | -Interface | -Reference | +Functional Interface | |
---|---|---|---|---|
Simple Distortion | -simple_distortion() |
- + | Gain | +gain() |
Advanced Distortion | -advanced_distortion() |
- - | Distortion | +distortion() |
+
Parametric Equalizer | parametric_eq() |
- - | ||
Graphic Equalizer | -graphic_eq() |
- |||
Dynamic range compressor | compressor() |
- |||
Dynamic range expander | expander() |
- |||
Reverberation | -reverberation() |
- + | noise_shaped_reverberation() |
|
Stereo Widener | stereo_widener() |
- |||
Stereo Panner | stereo_panner() |
- + | ||
Stereo Bus | +stereo_bus() |
+ + + +
\ No newline at end of file diff --git a/dasp_pytorch/functional.py b/dasp_pytorch/functional.py index e1f104c..11f6462 100644 --- a/dasp_pytorch/functional.py +++ b/dasp_pytorch/functional.py @@ -400,29 +400,7 @@ def compressor( def expander(): - # static characteristics with soft-knee - x_sc = x_db.clone() - - # below knee - idx = x_db < (threshold_db - knee_db / 2) - x_sc_below = threshold_db + (x_db - threshold_db) * ratio - x_sc[idx] = x_sc_below[idx] - - # at knee - idx_1 = x_db <= (threshold_db + (knee_db / 2)) - idx_2 = x_db >= (threshold_db - (knee_db / 2)) - idx = torch.logical_and(idx_1, idx_2) - x_sc_at = x_db + ((1 - ratio) * ((x_db - threshold_db - (knee_db / 2)) ** 2)) / ( - 2 * knee_db - ) - x_sc[idx] = x_sc_at[idx] - - # above knee signal remains the same - - # gain - g_c = x_sc - x_db - - return x + raise NotImplementedError def noise_shaped_reverberation( diff --git a/docs/assets/logos/aim.png b/docs/assets/logos/aim.png new file mode 100644 index 0000000..66cdc2f Binary files /dev/null and b/docs/assets/logos/aim.png differ diff --git a/docs/assets/logos/qm.png b/docs/assets/logos/qm.png new file mode 100644 index 0000000..c6a415f Binary files /dev/null and b/docs/assets/logos/qm.png differ diff --git a/docs/assets/logos/ukri.png b/docs/assets/logos/ukri.png new file mode 100644 index 0000000..bfff5d6 Binary files /dev/null and b/docs/assets/logos/ukri.png differ