

Mammut Help

If you have any comments on Mammut, send a mail to

oyvindha@notam.uio.no (yvind Hammer). 

1. Introduction

Mammut will FFT your sound in one single gigantic analysis (no windows).
These spectral data, where the development in time is incorporated in
mysterious ways, may then be transformed by different algorithms prior
to resynthesis. An interesting aspect of Mammut is its completely non-
intuitive sound transformation approach. 

Mammut is started with the command "mammut". An empty window will appear
with a menu bar at the top. 

Select "Load & Analyze" in the "File" menu, and select a sound file.
Mammut accepts files in AIFF or AIFC format, any sampling rate, mono
or stereo (stereo files will be mixed down to mono). 

The sound will then be zero-padded at the end, to achieve an FFT size
which is a power of 2. The analysis will be stored in memory. This means
that there is a limit on the size of the sound file, because the analysis
data size willbe huge. If the program crashes for sounds shorter than 30
seconds at 44.1 kHz sampling frequency, your computer has a too small
swap space anyway, and your swap space should be increased. A spectrogram
is then drawn. 

You may now use the options in the "Transform" menu to change the spectral
data, as described below. 

To hear the result, you must resynthesize the sound with the "Synth & Save"
button in the "File" menu, and then play the sound by pressing 'p'. 

In the "Settings->Analysis" dialogue, you may select a number of duration
doublings in order to zero-pad your sound to progressively higher powers
of 2. This may be useful to increase the duration of silence at the end of a
sound. Some transforms may insert interesting sound in this region. You
will have to run a new analysis after this value has been changed.
CAREFUL! A duration doubling of 3 means that your sound will get 8 times
longer. Processing time will increase even more. 



2. Transforms

Stretch

All frequencies will be raised to the power of the exponent you specify, and
the frequency axis is then re-normalized. This is a non-linear stretching of
the frequency axis. Values close to 1 (0.9-1.1) are recommended. This
transform will produce dispersion effects, with frequency sweeps. 

Wobble

This transform will alternately stretch and contract the frequency axis
using a sinusoidal transfer function for the frequencies.
The Frequency parameter controls the number of periods of the transfer
function from 0 Hz to the Nyquist frequency, while Amplitude controls
its amplitude (1 is the entire frequency axis). 

Multiply phase

Multiply all phases with the value you specify. The result will not be
what you might expect. 

Derivate amp

Replaces the amplitude spectrum with its derivative (slope). You may specify
a gain factor. 

Filter

Optimal bandstop filter. The ultimate in cut-off performance! 

Spectrum shift

Optimal spectrum shift, with no window artefacts. The frequency you specify
(positive or negative) will be added to all frequency values, shifting the
spectrum up or down. 

Block swap

Will select two randomly positioned regions of the spectrum, and swap these
two regions. The Block size parameter sets the size of the blocks, given in
percents of the whole frequency axis. This procedure is repeated a number of
times, as specified, thus permutating the partials. 

Amplitude->phase

The phases of the partials are set to their respective amplitudes, after a
specified gain multiplication. Rather useless. 

Gain

A highly useful function, because many of the transforms will change the gain
and the spectrum may have to be re-scaled manually. 


3. Load & Multiply

This function, in the File menu, is used for different kinds of spectral
multiplication (cross-synthesis). First, "Load & Analyze" the longest sound.
Then, "Load & Multiply" with the shortest sound.

You can choose between four different multiplication algorithms:

Convolve. Will complex-multiply with the spectrum of the reversed sound. Use
   this for standard, high-quality convolution with eg. a room response. 
Correlate. Will simply complex-multiply to spectra, giving the correlation. 
Fun. Simple complex multiplication, with intended programming "errors" (sign
   reversals and coefficient swaps). 
A^B. Raise spectrum A to the power of spectrum B. Useless (?) 



4. A final word

The general idea (and the name "mammoth FFT") was conceived by the Swedish
composer Paul Pignon many years ago. 

PLEASE NOTE: You must have a certain attitude when using this program. Use it
experimentally, by ear. Do not try to understand what happens - even the
programmer can't explain it in many cases. 


FTP
The latest version of Mammut is available by anonymous FTP from
maftp://notam.uio.no/pub/sgi/mammut.tar.gz/ 

