-
-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shallow Water effect #58
Comments
Man, it sounds so cool already. Awesome! |
Thanks, glad you like it :) |
This would be cool to have in v0.0.1, whats the status on it, and do you have any UI ideas @D-I-S-K-U-S? |
So, I'm messing around for the UI. I'm trying to make an abstract representation of a reflection in the water. What I'd like to know from @nebularnoise , how do the following parameters affect the effect, in the most simple explanation?
Let me know, and let me know what you think! ps; have also tried other shapes, but a circle has the most dynamics in the reflection, i think. |
I'm loving it™I'll put this on track for v0.0.1, unless anyone thinks they need more time |
I've heard I ought to make it stereo, so here y'all go: a very naive stereoisation of the effect. No fancy intermodulation of sides or anything. import("stdfaust.lib");
// CONSTANTS
nyquist = ma.SR / 2;
lp_min_freq = 10; //(Hz)
lp_max_freq = 10000; //(Hz)
lp_default_freq = lp_max_freq; //(Hz)
lp_env_attack = 0.02; //(s)
lp_env_release = 0.05; //(s)
lp_res = 0.4;
noise_filter_order = 2; //(number of poles)
window_length = 2048; //(samples)
xfade_duration = 1024; //(samples)
max_repitch = 3; //(semitones)
min_rate = 0.02; //(Hz)
default_rate = min_rate;
max_rate = 20; //(Hz)
step_rate = 0.02; //(Hz)
env_lp_normalizer = 5000; //(Hz)
//Controls
lpg = hslider("lpg",lp_max_freq,lp_min_freq,lp_max_freq,0.001) : si.smoo;
rate = hslider("rate",default_rate,min_rate,max_rate,step_rate) : si.smoo;
depth = hslider("depth",0,0,1,0.001) : si.smoo;
damp = hslider("damp",0,0,0.999,0.001) : si.smoo;
noise = no.lfnoise(rate) : si.smooth(damp);
repitch = _ : ef.transpose(window_length, xfade_duration, max_repitch * noise * depth) : _;
cutoff(in) = lpg + an.amp_follower_ud(lp_env_attack, lp_env_release,in) * env_lp_normalizer;
process(left, right) = left, right : repitch, repitch : ve.moog_vcf_2b(lp_res, min(nyquist,cutoff(left))), ve.moog_vcf_2b(lp_res, min(nyquist,cutoff(right))) : _, _; |
That's awesome. I moved the UI chatter for this effect to a new issue for the Alpha. |
This would need to be reimplemented in gamma |
Hey y'all. I figured some sort of shallow water clone would be cool to have.
For reference, here's the original effect: https://www.youtube.com/watch?v=sYWuTmgVU9k
At first I thought I'd try to model it like they did on the pedal, with a repitching delay, but that is not possible with Faust, so I did a rough approximation with Faust's
transpose
Here's the code, so far:
It needs refining, like log scale controls and autofilter, but the idea is there
The text was updated successfully, but these errors were encountered: