Unsatisfying spectrogram

Feedback and Reviews for Audacity 2.x
Forum rules
This board is ONLY for general feedback and discussion about Audacity 2.X.

If you require help, or think you have found a "bug", please post on the forum board relevant to your operating system.
Windows
Mac OS X
GNU/Linux and Unix-like
h-h
Posts: 110
Joined: Tue Jul 28, 2015 2:37 am
Operating System: Please select

Re: Unsatisfying spectrogram

Post by h-h » Fri Aug 07, 2015 12:56 am

steve wrote:The Audacity "Preferences" should only have global defaults. Local context menus should only have settings relating to the local context.
This sounds reasonable.

__________________________________________________________________

So what about the feature request?

1. Do you agree that there might be a larger number of users wanting to have some blurring in spectrograms that doesn't destroy information?
1.1. Properly implemented, it seems it would also make band heights of less than 1 px not aquiring the whole line for themselves anymore pushing other bands fully out of sight. Try to slowly change track height a bit and you'll see the effect.

2. The full range from black (silence) to not light gray, but white (noise) is something that's on its way, right?

steve
Site Admin
Posts: 81627
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Unsatisfying spectrogram

Post by steve » Fri Aug 07, 2015 6:55 pm

h-h wrote:Do you agree that there might be a larger number of users wanting to have some blurring in spectrograms that doesn't destroy information?
I don't think that "blurring" is the correct approach.

Let's say (using simple numbers for clarity), that the FFT analysis provides the following amplitudes for frequency bands centred on these values:

Code: Select all

Freq (Hz)    Amplitude (dB)
1000          -40
2000          -20
4000          -20
8000          -40
What is the likely amplitude between 2000 Hz and 4000 Hz?

If you look at "Plot Spectrum", you may notice that what this tool does is to interpolate between the available values to produce a smooth curve. The curve is produced by cubic interpolation. If we used this approach, then we would see a rising amplitude as the frequency rises above 2000 Hz and then gradually reduce down to meet the data point at 4000 Hz -20 dB. Of course we cannot absolutely know the exact amplitude at say 3000 Hz unless we have a sufficiently large window size to give us a data point at 3000 Hz, but it will almost certainly be above -20 dB. With a good choice of the type of windowing used for the FFT analysis and a good choice of interpolation, we are able to calculate a close approximation of amplitude values between 2000 Hz and 4000 Hz.

On the other hand, if we "blur" the spectrogram, then we would show a constant - 20 dB between 2000 Hz and 4000 Hz, which is lower than the actual amplitude, so not only are we making up amplitude values, but we are making up incorrect amplitude values. Simple interpolation between adjacent values (blurring) will almost always produce incorrect values, but unfortunately, more accurate forms of interpolation (such as cubic interpolation) are too costly in CPU cycles and would make drawing the spectrogram unacceptably slow,
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

h-h
Posts: 110
Joined: Tue Jul 28, 2015 2:37 am
Operating System: Please select

Re: Unsatisfying spectrogram

Post by h-h » Sat Aug 08, 2015 2:10 am

steve wrote:I don't think that "blurring" is the correct approach.
I wasn't thinking of producing interpolated amplitude values, but just of a graphical transition from one "brightness factor" to another on the y-axis. This would involve just a few pixels for every band. See the attached image.
Attachments
Hard lines in spectrogram.png
Hard lines in spectrogram.png (87.96 KiB) Viewed 615 times

Post Reply