Ogólnie z odpowiednimi narzędziami, można całość od wczytania pliku do wykresu zrobić w 10 liniach kodu :) Na przykład (jak chcesz sobie zaspoilować):
https://stackoverflow.com/a/23378284/2468469 - jest też wiele podobnych równie krótkich rozwiązań.
W każdym razie do samego wczytania pliku i FFT, paczka scipy powinna wystarczyć w zupełności - no i matplotlib do wykresów.
Oczywiście jak robisz wizualizację w czasie, to prawdopodobnie zamiast jednego FFT na całym pliku, będziesz musiał dzielić dane audio na mniejsze paczki i na nich wykonywać FFT. Być może przyda się wtedy również przepuszczenie ich najpierw przez funkcję okna.