The equivalent functions in Sound Designer II and Alchemy are faster, so in most
cases you will want to use those. However, SoundHack will give you an RMS value for
the file, and will allow a different gain factor for each channel. It will also work
on floating point, ADPCM, and µLaw files. Finally, it will allow you to correct
for DC offset in your file.
Click on Analyze and the peak amplitude, peak position
(in samples), RMS values and DC offset will be calculated. The gain factors
will be set to normalize both channels independently and the additional offsets
(a number between 1.0 and -1.0) will be set to correct the file.
Change Gain will create a new file adjusted by the gain factors set. If you are
dealing with a monaural file, only the channel 1 information is applicable. Analyze
will tie up your machine when it is doing its stuff, so please be patient. I will fix
this in a future version.
(This section of the manual is written by
Larry Polansky.)
Type
Try starting with the simplest ones, the USIM (a simple spectral crossfade)
and the ISIM (a spectral replacement). These two mutations, unlike the
UUIM and LCM , actually arrive at the source or target, depending on
which direction you mutate (that is, you will actually hear the source or target
with = 0.0 or = 1.0, respectively). The IUIM , UUIM and the
LCM will, with = 1, give an image of the target. These "incomplete
mutations" mutate either the sign or the magnitude, but not both of the intervals
between the amplitudes of successive spectral bands.
The concatenations (LCM/IUIM , LCM/UUIM ) are "pipes": they apply the
second mutation to the output of the first. The concatenations are complementary:
for each frame the LCM mutates sign while the IUIM and UUIM
mutate magnitude. Different frequency bins are used for each "stage" of the
concatenation, so the mutation trajectory can be rather unpredictable.
Mutation Index ()
Absolute Interval
If Absolute is unchecked (Relative intervals), each mutation function uses amplitude
intervals between successive frames of the spectra, multiplied by , to create the
corresponding frame of the mutant sound. Relative interval mutations will tend to
"drift," often in extreme ways, and the ISIM and concatenated mutations may never
"arrive." However, some very interesting sonic results may be produced in this way.
Delta Emphasis
Band Persist (Irregular Mutations Only)
In irregular mutations, not every frequency band is mutated for each FFT frame.
determines the percentage of bands that are mutated for a given frame. If a band is
mutated, it completely assumes the particular characteristic (interval sign or
magnitude) of the target interval, and retains either the sign or the magnitude of
the source interval. For example, the LCM takes the sign of the target
interval, and "pastes" it onto the magnitude of the source. However, it only does
that for ( * #-of-bands). The selection of which bands to mutate in irregular
mutations is done stochastically, but setting Band Persist high will ensure that
once a band is mutated, it will keep being mutated as long as possible. That is
why a high value for Band Persist will stabilize these highly unusual mutations,
making them a bit more "well-behaved." A good experiment is to try an irregular
mutation (LCM , IUIM , ISIM , the concatenations) with a fixed ,
and two different values of Band Persist, one high and one low.
Time Scale Target
Theoretical Descriptions of the Mutation Functions
The USIM and the ISIM are the simplest mutations, a spectral
cross-fade and spectral band-replacement, respectively The UUIM and the
IUIM are two different ways of "pasting" the magnitude differences
of the target spectra onto the sign of the source, resulting in a mutant which,
when completely mutated, is still some combination of the source and target.
The LCM , perhaps the most unusual sounding and difficult mutation to
control, does the opposite, pasting the signs of the target onto the magnitudes
of the source.
The functions are defined below. S and T are the source and target
soundfiles. Si , Ti are the amplitudes for a given frequency band of
the FFT for the ith frame of the sound. Sj , Tj are either the
amplitudes of the same band in the previous frame (Relative Interval) or some
absolute amplitude (Absolute Interval). Mi is the new amplitude of the given
frequency band of the current frame of the output sound, Mj is the amplitude
for that band in the previous frame of the output sound (Relative Interval), or
some absolute amplitude value between 0.0 and 1.0 (Absolute Interval). Tint ,
Sint and Mint are the signed magnitude intervals between the amplitude
of the current frame for a given band, and the amplitude of that band in the previous
frame (Relative) or to some fixed amplitude (Absolute) Each of the equations below
applies to one frequency band of the source, target and mutant soundfile spectra.
In other words, for all of these functions, Si , Ti , and Mi run
from 0 to the number of bands in the FFT.
|Si - Sj| = Smag - and - (|Si - Sj|)/(Si - Sj) = Ssgn
More Information and Acknowledgements
soundhack doc top,
table of contents
(Command - M) Mutation...
The seven different spectral mutation functions (USIM, ISIM, IUIM, UUIM, LCM, LCM/IUIM,
LCM/UUIM ) produce different types of timbral "cross-fades." Each mutation takes 2
soundfiles: a source and a target , and returns a third soundfile,
called the mutant .
The mutation functions operate on the phase/amplitude pair of each frequency band of
the source and target spectra. The output of the functions is a phase/amplitude pair
for each frequency band in the mutant soundfile. Each phase/amplitude pair in the
mutant is some "combination" of the phase/amplitude pairs of the source and target,
for the corresponding frequency band. The mutations work on the sign (Contour) or the
magnitude of an interval, or both. They change completely a selected number of bands
from the source to the target (Irregular) or partially change all frames (Uniform).
The Type box allows you to select between seven quite different mutation
functions: USIM (Uniform Signed Interval Mutation), ISIM (Irregular
Signed), IUIM (Irregular Unsigned), UUIM (Uniform Unsigned), LCM
(Linear Contour Mutation), and the concatenations LCM/IUIM and LCM/UUIM .
(For specific definitions of the functions, see below. For more information see the
two articles cited in the bibliography).
Each of the mutation functions uses an index , called (omega), or an
-function. This determines the amount of spectral mix, from 0 to 1, between the
source and target resulting in the mutant. = 0 results in all source file, = 1
all target. may vary over the course of the mutation. A constant index will result
in a sound which is a spectral mix of the source and target. More dynamic sounds
are produced with an index function, which changes over time.
There are two methods used by the mutation functions to compute intervals between
frequency bands: Absolute (the default) and Relative . You may check or
uncheck the Absolute Interval box to get these two methods. If Absolute intervals are
used, you may specify an absolute amplitude value between 0.0 and 1.0 for the source
and target (Source Abs. Value, Target Abs. Value), from which all intervals will be
taken. The choice of values can produce interesting effects, often "centering" the
frequencies in which the mutation happens, making the mutations themselves less
extreme. If two different values are used, amplitudes will be "transposed" from the
source to the target. The use of Absolute intervals rather than Relative will be most
noticeable for the LCM , IUIM and UUIM , as well as the
concatenated mutations. Low values (around .1 - .2) are a good place to start
(note that .1 means 1/10th of the total amplitude of the soundfile's spectra).
If the mutation uses Relative Intervals (Absolute Intervals unchecked), you can set a
value for Delta Emphasis (DE). DE allows control over the degree to which
successive mutation intervals are emphasized in the resulting mutant. DE values range
from -1.0 to 1.0, with the default at 0.0 (no emphasis or de-emphasis). For positive
DE values, the current frame's intervalic characteristics will be emphasized more
than the previous mutant frames. For negative values, the current frame will be
"damped," emphasizing the previous information. One way to think about this is as a
way of "slowing down" the mutation: a negative DE value will keep the more chaotic
mutations from getting "out of control." A negative DE value will function as a
lo-pass filter, averaging the previous spectral frames into the current output.
Positive DE values will accentuate the often high-frequency activity of the
mutations. Delta Emphasis can be useful in tailoring the relative interval
mutations, especially the "incomplete" ones.
Band Persist pertains only to irregular mutations, the LCM , ISIM ,
IUIM and the concatenations (and not to uniform mutations, the USIM
and UUIM ). It will only appear on the screen when irregular mutation is
selected. High values for Band Persist (towards 1.0) will produce more "stable"
mutations. Low values (towards 0.0) will introduce a kind of frequency pumping at the
frame rate. Try changing the number of bands for unusual results.
The form of the mutation functions used in SoundHack require that each soundfile
(source, target, mutant) be of equal length. The default technique is to truncate the
longer of the two files, producing a mutant which is the length of the shorter file.
If Time Scale Target is checked, the target soundfile will be time-stretched or
-compressed to be of the same length as the source. Other techniques are of course
possible (including windowing and zero-padding), and we encourage other software
developers to investigate these.
The mutation functions can be classified as follows:
Uniform Sign Magnitude
USIM yes yes yes
ISIM no yes yes
UUIM yes no yes
IUIM no no yes
LCM no yes no
Note that the opposite of "irregular" is "uniform." Uniform
mutations do something to every frequency band. How much they do depends on .
Irregular mutations change a given frequency band completely from source to
target (sign, magnitude or both), but the number of frequency bands they operate on
depends on . Note that there is no UCM given here (it wouldn't make
sense).
Uniform Signed Interval Magnitude (USIM)
Uniform Unsigned Interval Magnitude (UUIM)
Linear Contour Mutation (LCM)
Irregular Unsigned Interval Magnitude (IUIM)
Irregular Signed Interval Magnitude (ISIM)
Notes: 1) In Absolute Interval mutations, Mj, the absolute amplitude to which
the new interval is added, is interpolated between the absolute values for source and
target, according to the value for . 2) The Irregular mutations are in two
forms: one for the case when that particular frequency band is chosen for mutation,
one for when it is not.
For more on morphological mutations, including their use in other contexts, please
contact Larry Polansky
at Dartmouth College, Bregman Electro-Acoustic
Music Studio, Music Dept., Hanover, NH 03755, email:
larry.polansky@dartmouth.edu.
Various students at Dartmouth, including
Chris Langmead, Eric Smith,
Steve Berkley and
Martin McKinney have provided invaluable assistance over the past few years in
helping me to formulate both the spectral mutation ideas and accompanying software
techniques. Ken Overton,
Sergei Kossenko, and
Chris Langmead all contributed
valuable suggestions to this documentation.
soundhack doc top,
table of contents,
next screen - phase vocoder to spectral extraction