Maybe unfortunately I know what a variometer is. It measures the difference in altitude. For example, going up and at what speed or going down and at what speed. The beeping for a variometer is typically higher pitch when going up (I believe) and lower pitch when going down (if going up was the correct guess). The frequency is adjusted depending on the speed of climbing or descent. All of this is measured with a barometer.
Now that's explained, the author needs to specify it's not doing correctly. It seems that it's detecting that it's either ascending or descending a bit. Is that right? Who knows. And what's wrong with the beeping? What was the author expecting the beeping to be and what was it instead?
In any case, I believe what the author needs to do is to isolate the problem, as the problem isn't really outlined and the code has far too much going on for anyone to know how to fix the problem (when the problem hasn't been really explained at all).
I do believe I know what the problem is, however. The author has a timer conflict. He has a lot of different libraries included that I know use timers. My guess as that there's at least two of those libraries that are both trying to use the same timer, which will cause a total failure or just very odd results, like beeping that's "all wrong".
I would suggest to the author to simplify things to identify the problem. Remove all code associated with the display and output the information over serial. Or, at least look into which timer the display uses, the I2C interface uses, and the toneAC library uses. My guess is that there's a conflict with at least 2.