Vibe Coding Home

Real-time FFT Spectrum and Spectrogram Analyzer

This software was largely created by AI Vibe Coding
Created by YouMinds
Analyze audio signals effortlessly with this web-based tool. Visualize the frequency spectrum and spectrogram of MP3 files or live input from your microphone in real time, all within your browser. Ideal for uncovering sound details with precision and ease.
Start analysing audio




Select Microphone or a MP3 File as input. Select the desired speed for the Spectrogram. Select the desired FFT frequency count. Press Start Visualization to start the analysis. Use Save Spectrogram to save a screenshot of the spectrogram to file.
Spectrum
Spectrogram
What is a Spectrum Analyzer anyway?
An FFT (Fast Fourier Transform) spectrum analyzer is a tool used to analyze the frequency components of a signal, such as sound or vibration, in real time. It works by applying the FFT algorithm to convert a time-domain signal (how it changes over time) into the frequency domain (which frequencies it contains and their intensities).
The analyzer displays this data as a graph, where the x-axis represents frequency and the y-axis shows amplitude or power. This visualization helps users understand the characteristics of the signal—identifying peaks, patterns, or noise at specific frequencies. It's widely used in fields like audio engineering, vibration analysis, and scientific research to study and manipulate signals.
What is a Spectrogram Analyzer anyway?
An FFT spectrogram analyzer is a powerful tool that combines the principles of Fast Fourier Transform (FFT) and spectrogram analysis to visualize the frequency content of a signal over time.
Here's how it works:
How was it built
This software was created using Vibe Coding by a Large Language Model LLM / chatbot and reworked in look & feel.
Some features had to be implemented manually and corrections and improvements had to be made.
The following Vibe Coding prompts were used on DeepSeek:
"Create a single page html with javascript in one file. add a load button for mp3 music. upon load play the music and display a realtime fft chart using chart.js"
"When no file is loaded use the microphone as audio input"
"Could not access microphone. Please ensure you have granted microphone permissions"
"Label the frequency. Also add a canvas and draw a floating spectrogram"

At this point a new DeepSeek session was started with the previous code.
"Get rid of the Load MP3 button. Load the file immediately when the file is loaded with the file select button. Make sure the animation can restart after stop currently there is a 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode. Also add labels to the x-axis of the chart."
"fft4.html:131 Uncaught SyntaxError: missing ) after argument list (at fft4.html:131:58)"
"'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode. there is just a 0 frequency label, label the full range."
"The frequency labels range to only 1k but the range is up to 20000 Hz. Compute the labels correct according to the used fft settings. Also add a number combobox that lets the user specify the FFT size."
"upon restart: chart.js:19 Uncaught Error: Canvas is already in use. Chart with ID '0' must be destroyed before the canvas with ID 'fftChart' can be reused. With a different fft size you need to adjust the frequency labels."

At this point a new Gemini session was started with the previous code.
"Adjust the height of the spectrogram canvas according to the fft size. 1024 fft size results in 1024 px height. Add a button to save a spectrogram screenshot to file. Add a speed slider. For highest speed push one frequency data and shift one pixel. for lowest speed collect and interpolate 50 consecutive frequency data push it and shift one pixel."