in realbook/layers/nnaudio.py [0:0]
def get_window_dispatch(window: Union[str, Tuple[str, int]], N: int, fftbins: bool = True) -> np.array:
if isinstance(window, str):
return scipy.signal.get_window(window, N, fftbins=fftbins)
elif isinstance(window, tuple):
if window[0] == "gaussian":
assert window[1] >= 0
sigma = np.floor(-N / 2 / np.sqrt(-2 * np.log(10 ** (-window[1] / 20))))
return scipy.signal.get_window(("gaussian", sigma), N, fftbins=fftbins)
else:
Warning("Tuple windows may have undesired behaviour regarding Q factor")
elif isinstance(window, float):
Warning("You are using Kaiser window with beta factor " + str(window) + ". Correct behaviour not checked.")
else:
raise Exception("The function get_window from scipy only supports strings, tuples and floats.")