# Conversion of linear FFT into *more* log-spaced frequency bins?

I'm currently working with a convolutional-neural-network that takes a linear-frequency spectrogram as input. My boss is interested in changing this input to be represented in log-frequency, instead.

The general motivation for this is pretty reasonable (log-frequency matches our perception better after all). What's tripping me up is that they want more log frequency bins than we start with (e.g. 4x), the idea being that we're trying to preserve frequency information as much as possible as it's being processed/reversed.

I've been really struggling with this request, for a couple of reasons:

• The use of log-Mel spectrogram filter bins seems ubiquitous for CNN spectrograms, but they invariably end up with fewer Mel bins- indeed trying to use more Mel bins than linear ones just results in bins that are too narrow.
• It would seem to me that if you use a naive linear-to-log mapping (i.e. adding linear frequency component energy to a corresponding log-frequency bin), the lower end of the log spectrum would be much too sparse. There's a sense in which I suspect trying to get more bins sort of defeats the purpose of the log representation.

So I guess my question has two elements to it:

1. Theoretically: are there any established techniques designed for the output described here (e.g. converting N-sized FFT frame to >N sized log-spaced representation)?
2. Practically: Is my intuition correct that for signal analysis, this conversion only makes practical sense with fewer log-spaced bins?

I hope I've described the issue I'm having well enough- let me know if any clarifying details would help (though of course I can't get too specific about the real-world application).

Whenever you convert a linear frequency axis to a log one, there will be a "hinge point". Above that hinge point you are throwing away information, below that hinge point you keep all information and the representation becomes redundant.

So it's less about whether the total number of point is more or less, but weather you operate in the "information-loss" or "redundant" region or both. Inherently, there is nothing wrong with redundancy and there are good use cases for it. If this makes live for your CNN easier, by all means go for it. You just have to be aware, that the larger size of the data does NOT mean more independent information.

Theoretically: are there any established techniques designed for the output described here (e.g. converting N-sized FFT frame to >N sized log-spaced representation)?

Increasing the apparent frequency resolution at low frequencies is fairly common in audio. The easiest way is by interpolation in the redundant region. Zero padding in the time domain is most commonly used for that, but there are other interpolation methods with different complexity/quality trade-offs.

Another common alternative is be to use parallel STFT chains where the redundant (lower frequency) regions have longer time windows and more overlap. That's partially motivated by the fact that lower frequencies can't change as fast as higher ones. So the redundancy here is smeared out over time.

Practically: Is my intuition correct that for signal analysis, this conversion only makes practical sense with fewer log-spaced bins?

No. It's certainly common practice to add redundant low frequency data in audio, even just for "cosmetics" to make the low end look smoother on a graph.

• Worth mentioning: The CWT specifically is one of those other algorithms that does this directly (in addition to time localization). Commented Jul 13 at 15:38