The Analysis & Resynthesis Sound Spectrograph (formerly known as the Analysis & Reconstruction Sound Engine), or ARSS, is a program that analyses a sound file into a spectrogram and is able to synthesise this spectrogram, or any other user-created image, back into a sound.
ARSS is now superseded by Photosounder, which makes use of most of the techniques offered by ARSS in a simple to use and powerful graphical user interface and built in editor.
What it can do
December 17th, 2008 : Photosounder 1.0 released. Photosounder is a new program that I've been working on for the last 3 monthes which incorporates the core of the ARSS into an easy-to-use graphical program. It can load any type of image, OGG and WAV sounds, and allows you to experiment with image-sounds quickly and easily thanks to various controls, the spray tools to edit the images and the faster noise synthesis.
September 15th, 2008 : Alex Ferro made this AppleScript front end for the ARSS on Mac OS X. Also a RSS feed has been added to this site so you can keep track of future updates.
July 29th, 2008 : Thank you to Alex Ferro who sent me this Mac OS X Universal Binary of the ARSS 0.2.3! It contains an installer that you just have to doucle-click. Alex also tells me that anyone who wants to compile the ARSS in Mac OS X should run the command 'gcc *.c -o arss -lm -lfftw3 -O2'.
May 30th, 2008 : The ARSS 0.2.3 released. Changes since version 0.2.2 :
May 9th, 2008 : The ARSS 0.2.2 released. Changed the formula used in the filtering function which reduces the visible time domain ripples which can mainly be seen on the lower part of spectrograms, hence increasing the quality of produced spectrograms.
May 5th, 2008 : The ARSS version 0.2 (final version) has just been released. It's the first feature-complete version since 0.1, which means noise synthesis is back in a rewritten and faster form, although not yet as fast as I'm working to make it. Here's a list of significant changes since the previous release :
The ARSS consists in two main parts, a spectrograph with a base-2 logarithmic frequency scale, and a spectrogram synthesiser.
Unlike most spectrographs which are based on STFTs (which perform the analysis by cutting the signal into small time slices to analyse these slices in the frequency domain), the ARSS is based on a filter bank followed by envelope detection, which means that the signal is cut into small frequency-domain slices, and then analysed in the time domain, in a manner quite similar to how analog spectrographs do.
The filter bank is, as of now, made up with overlapping logarithmic-scale frequency-domain Hann windows. Once the original signal is filtered with the filter bank, each resulting signal is sent to envelope detection. The technique used for envelope detection consists in obtaining the magnitude of the analytic signal. The resulting envelope for each frequency band makes the horizontal lines of the image representing the spectrogram. The amplitude of the envelopes translate linearly into intensity in the image.
The spectrogram synthesiser is based on modulation using horizontal lines of the image as envelopes. Each horizontal line is upsampled to the sampling rate of the desired final signal's sampling rate, and is then modulated with, depending on the synthesis mode chosen by the user, sines matching to the central frequency each horizontal line represents, or noise filtered through the filter bank.