From ee075b987d94422dba823e7632277d9db49a13ce Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Mon, 19 Aug 2024 23:45:27 +0100 Subject: [PATCH] Compute the n_freqs for the filter bank from the spectrogram's n_fft value. --- fb_nodes.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/fb_nodes.py b/fb_nodes.py index cab7419..c53b36d 100644 --- a/fb_nodes.py +++ b/fb_nodes.py @@ -7,9 +7,8 @@ import torchaudio.functional as F class MelScaleFilterBank: @classmethod def INPUT_TYPES(s): - return {"required": {"audio": ("AUDIO",)}, - "optional": {"n_freqs": ("INT", {"default": 400, "min": 1, "max": 2**32}), - "f_min": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 96000.0, "step": 1.0}), + return {"required": {"spectrogram": ("SPECT",)}, + "optional": {"f_min": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 96000.0, "step": 1.0}), "f_max": ("FLOAT", {"default": 44100.0, "min": 0.0, "max": 96000.0, "step": 1.0}), "n_mels": ("INT", {"default": 128, "min": 1, "max": 2**32})}} @@ -19,18 +18,18 @@ class MelScaleFilterBank: FUNCTION = "fbank" def fbank(self, - audio, - n_freqs=400, + spectrogram, f_min=0.0, f_max=44100.0, n_mels=128): + n_freqs = spectrogram["n_fft"] // 2 + 1 fbank = F.melscale_fbanks(n_freqs=n_freqs, f_min=f_min, f_max=f_max, n_mels=n_mels, - sample_rate=audio["sample_rate"]) + sample_rate=spectrogram["sample_rate"]) return ({"fbank": fbank, - "sample_rate": audio["sample_rate"], + "sample_rate": spectrogram["sample_rate"], "n_freqs": n_freqs, "f_min": f_min, "f_max": f_max,