TL;DR: How do I read audio from a file in C (not C++)?
Context
I'm a young programmer and I want to make a project that does audio visualisation like this! https://www.youtube.com/watch?v=2O3nm0Nvbi4
To do this, I need to read from an audio file.
I must use C, which is unfortunate as a lot of the audio sampling libraries/GUI libraries are written for C++.
Are there any libraries for audio sampling and creating the GUI to display these bars for the audio visualisation using vanilla C (C99)? I've read through this tutorial: https://2captiv8.blogspot.com/2016/06/howto-design-code-music-visualization-visualizer-audio-linux-c-sdl-fourier.html
Optional info
Eventually, after hours of research I've been hinted at the SDL library or libsndfile or CSFML, however I'm not too sure how to exactly use these libraries to read audio sample DATA and sync it with the music being played.
For the Fourier Transform I've researched that FFTW is really good for C. But what I'm struggling is actually getting that audio data to be fed into FFTW and how exactly do I perform the FFT every few seconds to make the visualisation not static but actually moving and dynamic.