SevenDelay

Discuss anything new and newsworthy! See http://planet.linuxaudio.org for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.

Moderators: raboof, MattKingUSA, khz

User avatar
sysrqer
Established Member
Posts: 1858
Joined: Thu Nov 14, 2013 11:47 pm
Contact:

Re: SevenDelay

Post by sysrqer »

I've just built these and they seem to work well. The vst3 download wasn't recognised by reaper but the regular built vst are seen.

I love the delay, I've been wanting one like that for ages. It's a crazy one, some of the sounds you can get out of it mad!

Thank you!

ryukau
Established Member
Posts: 10
Joined: Tue Oct 15, 2019 12:56 am

Re: SevenDelay

Post by ryukau »

Hi, sysrqer.

Deleting `~/.config/REAPER/reaper-vstplugins64.ini` might help to recognize VST 3 plugins. `reaper-vstplugins64.ini` will be recreated when restarts reaper. Just in case, I don't recommend my VST 3 plugins on Linux for now because they won't display GUI.

Some tips for SevenDelay:
Max delay time is defined in `SevenDelay/parameter.hpp`. Currently it's on line 26.

Code: Select all

constexpr double maxDelayTime = 8.0; // max 8 seconds.
When changing max delay time, it may be better to change tuning of `Time` knob. It's defined in `SevenDelay/parameter.cpp`, line 23.

Code: Select all

LogScale<double> Scales::time(0.0001, maxDelayTime, 0.5, 1.0);
Arguments are (timeMin, timeMax, guiAnchor, timeAnchor). It must be (0.0 < guiAnchor < 1.0) and (timeMin < timeAnchor < timeMax).

In GUI, value is normalized in range of [0.0, 1.0]. When gui value is `guiAnchor`, then value will be mapped to `timeAnchor`. In other words, tuning curve is determined by `guiAnchor` and `timeAnchor`.

Some example:

Code: Select all

- (0.01, maxDelayTime, 0.5, maxDelayTime / 2.0) // Mostly linear.
- (0.01, maxDelayTime, 0.7, 0.5) // Tuning towards short delay.
- (0.01, maxDelayTime, 0.3, 2.0) // Tuning towards long delay.
If you'd like to experiment with EightDelay, NineDelay and so on, it can be changed in `SevenDelay/dsp/dspcore.hpp`, line 29.

Code: Select all

// Change 7 to some integer value greater than 0.
using DelayTypeName = DelayLagrange<float, 7>;

ryukau
Established Member
Posts: 10
Joined: Tue Oct 15, 2019 12:56 am

Re: SevenDelay

Post by ryukau »

I added another plugin EsPhaser to my repository.

https://github.com/ryukau/LV2Plugins

EsPhaser is an experimental phaser which is equipped with 4096 all-pass filters. At this large number of all-passes, it sounds more like a blurred delay rather than a phaser. Also note that it's very CPU intensive.

I've also fixed VST 3 plugins to display GUI on Linux. It works without problem on REAPER. On Bitwig, GUI blackouts sometimes.

https://github.com/ryukau/VSTPlugins/issues/3

User avatar
kuacgraxa
Established Member
Posts: 12
Joined: Fri Sep 27, 2019 10:45 am

Re: SevenDelay

Post by kuacgraxa »

Thanks, finally running on Reaper, I'm very happy for that, good job, and keep going with your projects, I'm ready to share with more friends :D 8)

Kott
Established Member
Posts: 134
Joined: Thu Mar 21, 2013 12:55 am
Location: Vladivostok

Re: SevenDelay

Post by Kott »

kuacgraxa wrote:Thanks, finally running on Reaper, I'm very happy for that
VST2 version works in Reaper since first releases

User avatar
sysrqer
Established Member
Posts: 1858
Joined: Thu Nov 14, 2013 11:47 pm
Contact:

Re: SevenDelay

Post by sysrqer »

ryukau wrote:Hi, sysrqer.

Deleting `~/.config/REAPER/reaper-vstplugins64.ini` might help to recognize VST 3 plugins. `reaper-vstplugins64.ini` will be recreated when restarts reaper. Just in case, I don't recommend my VST 3 plugins on Linux for now because they won't display GUI.

Some tips for SevenDelay:
Max delay time is defined in `SevenDelay/parameter.hpp`. Currently it's on line 26.

Code: Select all

constexpr double maxDelayTime = 8.0; // max 8 seconds.
When changing max delay time, it may be better to change tuning of `Time` knob. It's defined in `SevenDelay/parameter.cpp`, line 23.

Code: Select all

LogScale<double> Scales::time(0.0001, maxDelayTime, 0.5, 1.0);
Arguments are (timeMin, timeMax, guiAnchor, timeAnchor). It must be (0.0 < guiAnchor < 1.0) and (timeMin < timeAnchor < timeMax).

In GUI, value is normalized in range of [0.0, 1.0]. When gui value is `guiAnchor`, then value will be mapped to `timeAnchor`. In other words, tuning curve is determined by `guiAnchor` and `timeAnchor`.

Some example:

Code: Select all

- (0.01, maxDelayTime, 0.5, maxDelayTime / 2.0) // Mostly linear.
- (0.01, maxDelayTime, 0.7, 0.5) // Tuning towards short delay.
- (0.01, maxDelayTime, 0.3, 2.0) // Tuning towards long delay.
If you'd like to experiment with EightDelay, NineDelay and so on, it can be changed in `SevenDelay/dsp/dspcore.hpp`, line 29.

Code: Select all

// Change 7 to some integer value greater than 0.
using DelayTypeName = DelayLagrange<float, 7>;
Hey, sorry, I've had this tab open at work for ages and meant to respond but didn't get around to it. Thanks so much for the tips, I will definitely have a play around and see what I can come up with!

Post Reply