Try it out here: https://audiovisualizer.org
The main feature is a very high resolution frequency domain visualizer. It even works in realtime with the microphone.
The application also features a synthesizer that can be played with the keyboard or MIDI files and allows for adjustable harmonics and ADSR envelopes.
I used React.JS as the framework, P5.JS for rendering the visualizations, the WebAudio API for audio analysis, Meyda.JS and Essentia.JS for feature extraction, Tone.JS for synthesis, and Spotify's Basic-Pitch ML model for note transcription.
It’s open source under AGPL-3.0. Feedback is welcome! GitHub: https://github.com/charliethompson217/audiovisualizer