[ Česky ]

FFT Spectra


The program fft-spectra is a tool for visualization of frequency spectra of an audio signal. What is it good for? You can use the program to
Where the weird name came from? FFT stands for "Fast Fourier Transform". It is a mathematical trick which enables to easily see what frequencies are present in an audio sample. For instance, if there is more pitches present in a sound sample, one can identify them using FFT.


The software is licensed under GPL and runs on Linux. This project is hosted on SourceForge. It can be downloaded at no charge from the download page.


A prefered way for getting in touch with developers and users of fft-spectra is via the FFT Spectra mailing list. Alternatively, you can drop me an email: Petr Daněček, . (This concerns also refining language on this page. I am not a native speaker. :-)



Didgeridoo is actually the reason, why i started writing this software. It is an ancient musical instrument with a pleasent sound (reportedly 40000 years old) and in the modern times it has been used as a demonstration tool in the physics lectures, in particular in acoustics and demonstration of standing waves. In the following, i will assume that you know
What is a sound
... repeated change of pressure, periodic both in time and space
What is a standing wave
... a wave does not shift in time and the maximal and zero deviation is localised at one place
What is a frequency
... how many times is an (whatever) action repeated in one second
And it also helpful to know the relationship between wavelength and frequency
... given a constant speed of the sound, one will observe more waves with a shorter wavelength, i.e. the frequency will be higher. There will be less waves coming with a longer wavelength, i.e. the frequency will be lower.
(There has been written an awful lot about these things - search the internet!)

(Click on image to enlarge.)
The theory of physics explains that when you blow into a cylindrical tube (such as didgeridoo, but PVC pipe works as well) and vibrate your lips, standing waves develop inside the tube.

At that end of the tube, where the air leaves, there is nearly atmospheric pressure and the standing wave has a node there. At the other end, where one blows the air in, the changes in pressure are maximal and the standing wave must have an antinode here.

The situation is depicted on the picture on the right: The horizontal axis represents a position along the tube and the vertical axis represents a maximal pressure variation from the constant atmospheric pressure. The black vertical line represents a zero variation. The left black point is the mouth-side enpoint of the tube. The pressure variation are maximal here. The black point on the right is the open side od the tube - the pressure is constant here.

This node/antinode restriction permits only standing waves with appropriate wavelength (e.g. frequency) to be developed. Other frequencies are forbidden. So, the red curve is a minimal (fundamental) frequency, which is present in the didgeridoo sound. (Corresponds to 70Hz on the picture bellow). If we squeezed the red curve twice, i.e. made the frequency twice as high, on both end-points there would be an antinode and the node/antinode constrain would not be fulfilled. Really, we see that the peak at 140Hz bellow almost disappears. If we squeeze the curve a little bit more to obtain the green curve, the boundary condition is again met and the peak at 210Hz is clearly visible bellow. And so on.

I was thinking: Does this rule always hold? I wanted to see the spectra in real time to see how it changes with the sounds i was making. See for yourself, what your didgeridoo can do!


(Click on image to enlarge.)

More examples comming...

Visit also other sites by Petr (Daněček) Danecek:
Canon Capture
Gvib IR, Raman, ROA
FFT Spectra
Open Motorola Toolkit
Kolem Dokola