GoldWave bugs
Posted: Sat Dec 12, 2020 1:56 pm
Bugs founded in Goldwave 6.52:
1. When you set axes numbering (Options->Window-Axes numbering) to Signed 16 bit (-32768 to 32767) you will see wrong values in bottom panel. For example, sample with actual level -32768 will be shown as -32767, sample with level +32767 will be shown as +32766.
For 16 bit audio file it can happens when used incorrect multiplier 32767 = (2^15)-1 for rounding
Current code: DrawValue = round(NormalizedSample*32767)
Correct code: DrawValue = round(NormalizedSample*32768)
where NormalizedSample = Sample/32768, for 16 bit audio file.
And yes, I want to see correct values.
2.Control window able to show spectrum of signal. Lower frequency limit shows as '0', but actual value is 20 Hz, even if I set frequency range from 0 Hz. For any value below 20 Hz spectrum shows from 20 Hz but digit '2' just didn't drawn.
And again, can you normalize FFT output values (including applied FFT window) to put 0 dBFS sine wave to 0dB ?
Do do it (for real signals) you need just double absolute value of FFT output. Now you discard negative frequencies and lost half of amplitude.
Next, if you apply FFT window you need normalize window in next way (MATLAB code):
W = hann(N);
W = W ./ sum(W) * N;
3. Sometimes when I play track using 'F2/F3' or 'H' and try to apply any effect then main window freezes and I can't stop applying effect or stop playing until playing stops by itself. For long track need to wait long time to unfreeze main window or crash program.
1. When you set axes numbering (Options->Window-Axes numbering) to Signed 16 bit (-32768 to 32767) you will see wrong values in bottom panel. For example, sample with actual level -32768 will be shown as -32767, sample with level +32767 will be shown as +32766.
For 16 bit audio file it can happens when used incorrect multiplier 32767 = (2^15)-1 for rounding
Current code: DrawValue = round(NormalizedSample*32767)
Correct code: DrawValue = round(NormalizedSample*32768)
where NormalizedSample = Sample/32768, for 16 bit audio file.
And yes, I want to see correct values.
2.Control window able to show spectrum of signal. Lower frequency limit shows as '0', but actual value is 20 Hz, even if I set frequency range from 0 Hz. For any value below 20 Hz spectrum shows from 20 Hz but digit '2' just didn't drawn.
And again, can you normalize FFT output values (including applied FFT window) to put 0 dBFS sine wave to 0dB ?
Do do it (for real signals) you need just double absolute value of FFT output. Now you discard negative frequencies and lost half of amplitude.
Next, if you apply FFT window you need normalize window in next way (MATLAB code):
W = hann(N);
W = W ./ sum(W) * N;
3. Sometimes when I play track using 'F2/F3' or 'H' and try to apply any effect then main window freezes and I can't stop applying effect or stop playing until playing stops by itself. For long track need to wait long time to unfreeze main window or crash program.