DeepFilterNet icon indicating copy to clipboard operation
DeepFilterNet copied to clipboard

Question about erb_fb

Open didadida-r opened this issue 3 years ago • 1 comments

Hi, I am confusing about the erb_rb function so i open this issue to check it out. In forward, the erb2stft is done by spec_mask = erb_mask.matmul(erb_inv_fb), but i check the code in librosa, the erb2stft is done by mel_to_stft function

    # Construct a mel basis with dtype matching the input data
    mel_basis = filters.mel(
        sr=sr, n_fft=n_fft, n_mels=M.shape[-2], dtype=M.dtype, **kwargs
    )

    # Find the non-negative least squares solution, and apply
    # the inverse exponent.
    # We'll do the exponentiation in-place.
    inverse = nnls(mel_basis, M)
    return np.power(inverse, 1.0 / power, out=inverse)

My question is, a. Is the erb2stft process lossless, so is the mel2stft, bark2stft? b. Is the erb better than stft feature in DeepFilterNet?

Thanks

didadida-r avatar Jun 13 '22 07:06 didadida-r

a. No. Erb has a worse frequency resolution since it logarithmically compresses the linear STFT bins. b. Better in terms of having a smaller dimension, worse in terms of resolution.

Rikorose avatar Jun 15 '22 11:06 Rikorose

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days.

github-actions[bot] avatar Sep 14 '22 04:09 github-actions[bot]