[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/spluta/TimeStretch/main/python/rwindow.py [Back]  [Original]

import numpy as np

def phis(N):
    alphas = np.arange(N)/(N-1)
    return np.pi*alphas/2

def f_scl(N):
    alphas = np.arange(N)/(N-1)
    return alphas/(1 - alphas)

def f_tan2(N):
    return np.tan(phis(N))**2

def f_tan(N):
    return np.tan(phis(N))

def w_i(r, fs):
    return np.sqrt(1/(1 + 2*fs*r + fs**2))

def w(r, fs):
    return fs * w_i(r, fs)

def xfade_with_windows(x1, x2, r, fs):
    w1 = w(r, fs)
    w2 = w_i(r, fs)
    mix = w1*x1 + w2*x2
    return mix

variable_window_funcs = {
    'w_tan': f_tan,
    'w_tan2': f_tan2,
    'w_scl': f_scl
}

Web Proxy Viewer  |  New URL  |  Original Page