#419743 by pyroesp
Thu Aug 31, 2017 12:14 am
I've been working on this for the past few days and I think it's time to publish and share it.

This program is a bit of a proof of concept of a fast Fourier transformation (FFT) for the PSVita, which uses the internal microphone to read audio and an FFT library I've made a while back.
For those who don't know what FFT is, you've probably all seen one in an audio player with visualizations.
Here's what it looks like in VLC:

This is also known as a spectrum analyzer.
I've uploaded a video of a previous version on youtube, see below:

The program is very basic and the main source code could be done much better, but it works.
Here's how it looks like when music is playing next to the Vita:
There's a little arrow and a frequency in the top left corner. These indicate which frequency the arrow is pointing at.
Below is a good example of the use of the arrow.

There's also a sensitivity value in the menu box. This just multiplies the audio input samples read by the microphone with the sensitivity value, acting a bit like an audio amplifier.

In the picture below you'll see a tone generator in the background making a 1031Hz sine wave sound and in the front is the Vita with the arrow pointing at the amplitude of the signal at frequency 1031Hz:

Feel free to use this.
The software is under Creative Commons attribute share-alike international license.

If you have any question, feel free to ask.

PS: I'll be adding comments to the main.c file and maybe rewriting a few things a bit better.
#419759 by pyroesp
Fri Sep 01, 2017 6:56 pm
I've added a few things since the first release:
- libfft has now window functions (see wikipedia for more info)
- libfft can calculate the output to dB

The latest release uses the triangular window in the vpk.
#419906 by pyroesp
Sat Sep 09, 2017 4:05 am
Yet again a few cosmetic changes. The vpk has an icon and background now.

I've also added an offset to the Y-scale in dB mode, so that the attenuation (negative dB) can be seen too.


Unless I fix some small stuff, like adding a height limit to the magnitude, or have a new idea to add to the code, I don't think there'll be another release. This is the last one, for now.

Who is online

Users browsing this forum: No registered users and 3 guests