Inspiration
We were inspired as musicians to find out what sound really looks like. Many of use wonder why two sounds of the same pitch sound different. We realized that the only true way to answer this question is to visualize the sound wave. This realization lead to the creation of Sound Analyzer.
What it does
Sound analyzer allows the user to view sound waves by displaying amplitude as a function of time. In other words, time is displayed on the horizontal axis, and signal strength is displayed on the vertical axis. This is a powerful tool truly allows the visualization of sound. The program also allows the user to view a DFT (Discrete Fourier Transform) of the sound waveform. The DFT plots amplitude as a function of frequency. In other words, the graph allows the user to see what frequencies of what strength the sound wave is made of.
How we built it
The program uses the java Swing library to display graphics. It also uses AudioInputStream and DataInputStream to store audio from .au files into an array.
Challenges we ran into
The control panel wouldn't run while the graphics panel was running. We had to work around this by having the user setup the sound simulation, and then watch the simulation before running another simulation.
Accomplishments that we're proud of
Being able to visualize sound waves is really something that needs to be seen to be believed. Being able to see how square and sawtooth waves are actually made of many different frequencies is a great learning experience.
What we learned
We learned of the almighty Nyquist-Shannon sampling theorem, which can be used to prove that only just above a sample rate of 40khz is needed to resolve all detail in a sound wave. This theorem led to the rise of digital sound, which incredibly convenient and accurate.
What's next for Sound Analyzer
Oh, so much can be added to the Sound Analyzer. The first thing that would come to mind is an FFT function. FFT (Fast Fourier Transform) is just that, a faster version of DFT. Another feature would be the ability to play back the audio waveform in java while watching the waveform change.
Log in or sign up for Devpost to join the conversation.