I have an application that stores raw data from vibrations. When I playback the raw data, I can apply a FFT on a small sample extract and look at the spectrum as a quicklook analysis. I like to output the spectrum to the Windows sound/music environment so that I can "hear" the quicklook as well.
The frequencies are sometimes 10 - 100 Hz, sometimes 10 - 10 kHz. In all cases, it is easy to fit this frequency range to the human audio range.
Maybe I have to define an equalizer. The measured virbrations (most often) fits on a linear scale with 2 decades range. To optimize this for the human ear, I probably have to define a frequency-power-dependent scaling and an non-linear amplitude scaling. Each will be easy to prog
ram when I have found some clues.
The FFT speed varies from 1x each second to 10x each second and is not very constant. So I think I have to calculate a "sound" for 1 second, send it to the output, and interrupt sound playing when a new FFT is available. Or I have to calculate a "sound" for 0.05 second, send it the output and repeatedly play it until a new FFT is available.
My big question: how can I send a spectrum (or a re-calculated amplitude sequency) to the Windows environment, start playing, and interrupt for a new spectrum? I prefer to send the output to some Windows (SDK) functions to that this will work on all computers with Windows 2000/XP and sound capabilities.
I am using LabWindows/CVI version 6.
I am using Windows 2000.