ï~~Proceedings of the International Computer Music Conference (ICMC 2009), Montreal, Canada
August 16-21, 2009
1-D, 2-D AND 3-D INTERPOLATION TOOLS FOR MAX/MSP/JITTER
Todor Todoroff
Facult6 Polytechnique de Mons (FPMs) - TCTS
Mons, Belgium
ARTeM asbl, Brussels, Belgium
[email protected]
ABSTRACT
We propose new tools for interpolation in 1-D, 2-D and 3-D
spaces. They were developed for the "Dancing Viola"
project within the Numediart program and will be freely
downloadable from www.numediart.org. The 1-D and 2-D
representations work in Max/MSP using the LCD or
it.window objects, while the 3-D one requires Jitter. They
introduce new features specially designed for interactive performances with sensor data. This includes the definition of
areas centered on the interpolation points where the weights
stay constant and different input messages for mouse actions
and sensor inputs that offer the possibility of moving interpolation points with the mouse while receiving sensor data.
This allows to tune the setup while receiving performer's
data during rehearsals. But interpolation points may equally
be moved and resized with Max messages, leading to a less
usual way of increasing the input dimensionality by allowing sensors to move interpolation points, effectively modifying the interpolation space.
1. INTRODUCTION
Since interpolation between sets of parameters was proposed
by Allouis [1] for the SYTER at GRM, several authors [6, 4,
2, 3] have developed various implementations. Interpolation
has been recognized as a very intuitive way of performing
various types of mapping that can very effectively be applied to various kinds of sound transformation algorithms.
Most implementations are designed for mouse control, but
we wanted to use data obtained by a wireless system developed at ARTeM, consisting of accelerometers and gyroscopes, for the "Dancing Viola" project, described in more
details in [5]. We were missing some features that make it
possible to cope with less precise control. Indeed, even with
proper filters, data from accelerometers may still be a bit jittery when one wants a responsiveness that prevents the use
of too strong median and/or low pass filters. We were also
missing the absence of 1-D and 3-D interpolator implementations in Max/MSP. A 1-D interpolator proves to be very
useful when one needs to place values at specific points of
a one-dimensional sensor. Though one could argue that it is
LoFc Reboursiere
Facult6 Polytechnique de Mons (FPMs) - TCTS
Mons, Belgium
[email protected]
possible to achieve that result by splitting the range of that
sensor equally in a certain number of portions and use a table to get the desired result, it can be a very time-consuming
task. On the other hand, being able to place points exactly
where desired is extremely efficient. If, for instance, one
wants specific transposition intervals at several orientations
of a limb, it is very straightforward to place points and assign values to them using a 1-D interpolator. And we show
a system that makes it equally easy to define what kind of
transition happens in between those points: steps or glissandi of various lengths. A 3-D interpolator has also an obvious interest when using a 3-D accelerometer. But those
tools are not limited to sensor data control; they also provide
the necessary flexibility to be controlled by sound analysis.
2. INTERPOLATION
Interpolation is an operation whereby each value of the output set of m values is the weighted sum of the n corresponding values in the n interpolated sets, with normalized
weights WNi:
n
output_valj WNi valij 1 < j < m
i=1
(1)
As such, the interpolator can perform the various types of
mapping usually described in the literature (direct or one to
one, divergent or one to many, convergent or many to one
and many to many) depending on the number m of values
in each set and on the dimensionality of the interpolation
space, which is not to be confused with the number n of
points placed within that space. We don't suggest that it
should or could replace other mapping techniques, but its
intuitiveness makes it a very valuable tool.
2.1. Gravitational field metaphor
Different radial basis functions (RBF) could have been used
and may be added later. But we used, as Allouis [1], the
metaphor of a gravity system where each of the n points can
be considered as a planet which exerts an attraction force F
on the cursor depending on their relative cartesian distance
d, following Newton's law:
447