The intial value of the maximum power (from mean square values >= 0) is undefined in the code and only by chance usually ends up being zero. But on some systems (Ubuntu), the luck runs out. diff -ruN normalize-0.7.7.orig/src/mpegvolume.c normalize-0.7.7/src/mpegvolume.c --- normalize-0.7.7.orig/src/mpegvolume.c 2005-09-09 22:24:26.000000000 +0200 +++ normalize-0.7.7/src/mpegvolume.c 2025-05-30 21:09:37.712286503 +0200 @@ -175,6 +175,7 @@ ds.eof = 0; ds.windowsz = 0; ds.samples_so_far = 0; + ds.maxpow = 0; /* initialize peaks to effectively -inf and +inf */ si->max_sample = samplemin; si->min_sample = samplemax; .