The AndroSpectro app creates a visual image from the sounds around you.
* Multi-Touch Zoom/Pan * Display up to 3 minutes of recording * Save as Image * Load previously saved Images * Change Spectrogram Colors * Easy Auto-Level / Max-level
* Set Sampling Frequency/Window Size/Window Type * Show dB/Amplitude * Spectrogram smoothing * Save Raw Data to Binary File (for Matlab use)
Every signal is a combination of unique frequencies, and can be disassembled into its frequency components.
A Spectrogram is a technique that is used in Audio Analysis to see the real-time behaviors of signals. It plots the frequency components of the signal over time.
The bar on the left shows the frequency (in [Hz]) and the color is the intensity of that frequency.
Tip: Try whistling when the app is running. You’ll see that there is one main frequency.
Easy! Just press the “Play” button. Feel free to Zoom-in/Pan using multi-touch gestures. You can set the Maximum level (the intensity of the colors) by using the bar on the right, or press ‘auto’ for auto-leveling.
The Toolbar allows you to perform basic actions:
Preferences – Open the preference window
Delete – Clear the current screen and start a new spectrogram image
Save – Save the current record history as an image (JPG/PNG). File Name, Type and Quality are controlled through the preference screen “Save to File Options”. (This button can also save the raw data – see Preferences help below)
Load – Load a previously saved image to screen
Share – Spread the word to your friends
Using this bar you can set the maximum value of the spectrogram. This can be used to filter low-level noise. You can also enable auto-leveling by pressing the ‘auto’ button.
In the Preference Screen you can change different parameters that affect the behavior of the spectrogram.
Sample Frequency – The number of samples per second that are taken. This affects the maximum frequency that can be seen on the Spectrogram (e.g. Nyquist frequency).
This also affects the speed – choosing a low frequency will cause the spectrogram to react slower. This is expected behavior since it takes more time to gather the information (see “Window size” explanation below)
Tip: Set the highest frequency which won’t cause lag.
NFFT – The underlying engine that creates the spectrogram is called a Fast Fourier Transform (FFT). This setting changes the resolution of the transform. The number of values on the y-axis is equal to NFFT/2.
Current mobile devices have ~ 320-480 pixels – so setting the Nfft to larger values won’t have any effect in the 100% view.
Setting a large number will effect performance (on older devices) but will allow for greater resolution while zooming or saving as an image.
Tip: leave as 1024
Window Size – This sets the amount of samples that are taken in each “Frame” (e.g. each frequency column). Setting a large window will cause slower updates of the spectrogram. Each frame takes (window_size/sample_freq) seconds to gather the required samples.
This setting also determines the lowest frequency that you’ll be able to see, which is equal to: sample_freq/(window_size*2)
Window Type – If you’re changing this setting, you know what it means ;-). If not, see: Wikipedia
Spectrogram Color – Change the appearance of the spectrogram. Will not affect the actual data.
Plot dB – Plot the dB (decibles) of the frequency values instead of the amplitude
Remove DC – Remove the DC value from the signal (subtract the average from the sampled signal)
Smoothing – Smooth the frequency response over time (average with the previous frames). This removes unwanted ‘jumps’ in frequency tracking.
You can save the spectrogram as an Image and as raw data (for later use in Matlab).
File Path – The directory to save the files in.
File Name Prefix – The wanted file name, without the extension (.jpg/.png). The extension will be determined by the next settings. When pressing multiple times on the “Save” button, the file name will have a counter (e.g file_0.jpg, file_1.jpg, etc)
Data File Enable – Will save the raw data to a binary file when the “Save” button is pressed. This can affect performance and requires more space (~ 1MB per file).
For instructions on loading the data in Matlab, see the Matlab page.
Save to Image Type – Select the Image format (JPEG/PNG).
Save to Image Quality – For JPEG only, set the quality of the compression.