The code in EngineVuMeter is also probably trying to do linear-to-db conversions but it just takes log10 instead of 20log10. Maybe that should just use this library function?