I was playing with your code Chrisir some time ago and have to say that it's pretty nice.
I also don't have an idea of what exactly track.left.get(i) is doing (which is part of the problem), but what I'm sure is that it's not always making the same... I mean, if you get a short sound clip (just a few seconds) and let it loop, it will draw a sequence that you could easily recognize, but actually it's not the same thing every time; sometimes there is a visual pattern although the values doesn't match exactly, but at some level is pseudo-random stuff.
I like the approach, I was working on a similar thing some time ago but I found the same problem, you can not run two times the sketch an get the same output, so actually it doesn't work as a visualization tool, is more kind of 'sound based generation'.
Somebody has some ideas how to solve this?
I was trying a few workarounds and so far, not playing the file at the same time you are analysing it helps a bit in terms of repeatability, also was playing with the buffer size without much succes.
Finally the best approach was to run the analysis a few times and make an average, so you clean out a bit the 'random noise'
Would be nice to hear if somebody got better results with repeatability in audio analysis.