not the worst I've seen
improving it would require cramming SingleBeatLoudness into the essentia streaming extractor so I not only get the position of each beat, but how loud it is as well
okay, got the bindings working, so now I don't have to use the streaming extractor at all, instead sticking to just a python script
made a simple visualizer (multiply a counter at a fixed rate, set it to the beat loudness if it's higher) and made the loudness numbers "more right" by applying stevens's power law (basically pow(energy, 0.67))
although essentia seems to have python bindings, and it seems easy enough to just get the loudness after the fact from the regression tests https://github.com/MTG/essentia/blob/master/test/src/unittests/rhythm/test_singlebeatloudness.py