Timbre Morphing in Lemur
Overview
Timbre Morphing is the process of combining two or more Lemur files to create a new Lemur file with an
intermediate timbre. For instance, if a long loud tone with a fast and narrow vibrato is morphed with a
short quiet tone with a slow and wide vibrato, the morphed result should be a medium length, medium
loudness tone with an intermediate vibrato speed and width. This process differs from simply mixing the
two tones; only a single tone, with some of the characteristics of each of the original tones, is audible in
the morphed tone.
The Lemur Morphing Algorithm
The amplitude envelopes and frequency envelopes of corresponding tracks (or partials) of the two Lemur
files to be morphed are averaged together. Tracks are matched by looking for tracks in each of the Lemur
files in which the ratio of analyzed frequency to that file's fundamental frequency is approximately equal. If
there is a track in one file with no corresponding track in the other file, it is morphed with zero magnitude
and a frequency determined by the ratio of the fundamentals.
Interpolation of both frequency and amplitude is done in a log scale.
We consider Lemur files which have any number of features. We distinguish between two different types
of features:
- Unique features
- Specific points in each Lemur file such as the start of the attack, the peak of the attack, the loudest point,
the start of the decay, etc. Each of these points in the original Lemur files should be algorithmically
aligned to create the morphed Lemur file.
- Repeatable features
- Features in one Lemur file which don't necessarily correspond exactly to a specific feature in the other
file. For instance, it is not necessary that the fifth vibrato cycle from one file is interpolated with the
fifth vibrato cycle in the second file. It is important, however that vibrato peaks in the two files match
up in the interpolation so the morphed file has a single vibrato rate. It is assumed that repeatable features
may be skipped or repeated as necessary. This implies that the frequency and amplitude at the beginning
of each repeatable feature should be approximately equal to the frequency and amplitude at the beginning
of adjacent features.
When morphing, the length of the current morphed feature is calculated as a weighted average of the length
of the current feature in the two original Lemur files. The track envelopes for the two original files are then
stepped through at a rate such that the ends of the current feature in each file are reached at the same time.
The same principle is applied at a larger scale when the end of a repeatable feature is reached. At this point,
the number of repeatable features before the next unique feature or the end of the morphed file is calculated.
This number is a weighted average of the number of repeatable features remaining in each of the original
files before the next unique feature or the end of the file. If a file doesn't have enough repeatable features
remaining, the most recent feature may be repeated. Conversely, if a file has too many features, the next
feature(s) are skipped.
Files Required for a Morph
- Lemur analyses of each of the files to be morphed. These files must be edited as described below
before commencing the morphing process.
- A control file in AIFF format.
The control file is used to determine what proportion of each of the Lemur
files is used at each point in the morph. An example control file is a ramp file in which the
samples increase linearly from zero to the maximum sample. At the start of the morph, the
morphed file is composed of 0% of the first file and 100% of the second file. As the morph
proceeded, an increasing percentage of the first file is used. At the conclusion of the morph,
100% of the first file and 0% of the second file is used. The effect is of the second file gradually
changing into the first file.
All samples in the control file are expected to be greater than or equal to zero. If a negative
value is encountered, it is treated as zero.
There is no relationship between the length of the control file and the lengths of each of the
Lemur files to be morphed. Longer control files allow you to create "smoother" morphs
without audible discontinuities in the transitions between timbres. Excessively long control
files, however, will result in increased processing time with no audible improvement in the
resulting Lemur file. Control files containing a few hundred samples should be adequate for
most morphs.
(See also Lemur Synthesis Control Files.)
Performing a Morph
- Prepare each analysis file by opening it in Lemur and marking features and the fundamental
track(s):
- Use the mouse to select the track(s) which represent the fundamental of the Lemur file.
- Select Label Tracks from the Edit menu and label the selected tracks "1."
- Mark features:
- Select Mark Features from the Edit menu.
- Press the button for the type of feature you want to mark next (repeatable or unique). If
you instead want to delete a feature, press the delete feature button instead.
- Hold down the option key while pressing the mouse button at the points in the Lemur
file where you want to add or delete a feature.
- Save the file (select Save from the File menu).
You must mark at least two unique features in each of the files to be
morphed. Typically these are the beginning and ending of the file (after leading and
preceding trailing silence). You may mark any number of additional unique and/or
repeatable features, although the number of unique features marked must be the same for
each of the two Lemur files.
- Close one of the analysis files and bring the other analysis file to the foreground.
- Select Morph from the Edit menu.
- Locate the second file to be morphed and press OK.
- Locate the control file and press OK.
- The morphing process will commence. The length of time required for morphing will vary
greatly depending on the speed of your Macintosh(TM).
- After the morph completes, select Synthesize from the File menu to generate a samples file
from the morphed Lemur file. (See also Lemur Synthesis Parameters.)
For more information about the morphing algorithm in Lemur, see
Tellman, Haken, and Holloway 1994 or 1995.
Forward to Real Time Sinusoidal Synthesis
Back to Time Cutting
Up to Lemur Documentation Index
lemur@uiuc.edu