I tried my best but I couldn't find a resource that would list the "good" overlap factors for common and less common windows.
Here's a list of window functions and overlap factors that have constant overlap-add (COLA). (Code here)
Heinzel - Spectrum and spectral density estimation... shows several windows and lists their "optimum overlap" and their "amplitude flatness" (AF graph) for different amounts of overlap. The overlap-add is flat when the AF graph is 1.0, so for Hann, for instance, it's COLA at 50%, 66.66%, 75%, etc.:
Their "optimum" overlap is the best trade-off between amplitude flatness and wasted computation time (not necessarily COLA). (The Hamming window's AF curve looks like it doesn't reach 1.0, but it actually does at tiny points if you zoom in.)
Note that I've listed these as fractions of overlap, not percent, since that's more natural. The COLA overlap that has the best trade-off is shown in bold.
- Rectangular
- SciPy:
boxcar()
- MATLAB:
rectwin()
- Optimum: 0%
- COLA: 0, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, ...
- Bartlett-Hann:
- SciPy
barthann()
- MATLAB:
barthannwin()
- COLA: 1/2, 3/4, 5/6, 7/8, 9/10, 11/12, 13/14, ...
- Bartlett:
- SciPy/MATLAB:
bartlett()
- Optimum: 50%
- COLA: 1/2, 3/4, 5/6, 7/8, 9/10, 11/12, 13/14, ...
- MATLAB's
triang
- SciPy/MATLAB:
triang()
- COLA: 1/2, 3/4, 5/6, 7/8, 9/10, 11/12, ...
- Blackman 3-term
- SciPy/MATLAB:
blackman()
- COLA: 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, ...
- Blackman-Harris minimum 4-term
- SciPy/MATLAB:
blackmanharris()
- Optimum: 66.1%
- COLA: 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, ...
- Flat-top 5th-order D'Antona:
- SciPy:
flattop()
- MATLAB:
flattopwin()
- COLA: 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, ...
- Hamming
- SciPy/MATLAB:
hamming()
- Optimum: 50%
- COLA: 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, ...
- Hann
- SciPy/MATLAB:
hann()
- Optimum: 50%
- COLA: 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, ...
- Nuttall4c
- SciPy:
nuttall()
- MATLAB:
nuttallwin()
- Optimum: 65.6%
- COLA: 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, ...
- Parzen
- SciPy:
parzen()
- MATLAB:
parzenwin()
- COLA: 3/4, 7/8, 11/12, 15/16, 19/20, 23/24, ...
- Tukey
- SciPy:
tukey(alpha=0.5)
- MATLAB:
tukeywin(r=0.5)
- COLA: 3/4, 5/6, 7/8, 9/10, 11/12, 13/14, ...
- Welch:
- Optimum: 29.3%
- COLA: None?
Also, Borβ-Martin points out that you can generate a COLA window for any arbitrary overlap by convolving an overlap-length window of area 1 with a hop-length rectangular window. They provide a particular family of windows that let you trade off main lobe width and sidelobe fall-off rate.