Skip to content

Induction Connection


This connection simulates the interaction between an electromagnet and an object. The electromagnet is surrounded by a magnetic field, the polarity of which is determined by a signal (represented by a controller). Objects close enough the fall are affected by it. Note that unlike in the real world, both the electromagnet and the resonating object can be of any material, ferromagnetic or otherwise.

(make-connection 'induction ... )

Syntax and Default Values

The ‘induction connection can be created using the following Lisp syntax (the default values are shown for each of the physical parameters):

(make-connection 'induction string-access electromagnet-access signal-controller gap
         (const 0.01) ;electromagnet radius
         (const 0.02) ;electromagnet length
         (const 8.737434e-4) ;string permeability
         (const 0.0004)) ;string radius


The ‘induction connection takes eight arguments:

  • string-access: access on resonating object
  • electromagnet-access: access on object acting as the electromagnet
  • signal-controller: a controller determining the polarity of the magnetic field surrounding the electromagnet
  • gap: a controller specifying the distance between the electromagnet and the resonating object, in meters
  • electromagnet radius: radius of the electromagnet, in meters
  • electromagnet length: length of the electromagnet, in meters
  • string permeability: constant representing the permeability of the resonating object
  • string radius: radius of the resonating object, in meters

The two positions must be numerical values, not controllers. The weight controller is optional. If not provided, it defaults to 1.

To create a unilateral strike connection, the second access and its position are not provided.


The default values result in a relatively weak interaction. As a result, it is often desirable to significantly increase either the amplitude of the input signal or the permeability of the resonating object. It is interesting to note the connection that results from such a weak force is very similar to a ‘force connection. Only when the displacement of the resonating object is very great does the sound differ significantly.

Also note that the induction connection causes the resonating body to vibrate at twice the frequency of the input signal, or one octave higher.

And finally – due to the mutual attraction between electromagnet and resonating body, it is helpful to either use objects that are fixed in space (such as a Circular Membrane – Fixed), or to actively set the location of each object.

Here is an example of a string moving towards an electromagnet (fixed in place) until they contact, then moving away:

(setq my-string (make-object 'mono-string))
(setq my-string-access (make-access my-string (const .75) 'trans0))
(setq my-electromagnet (make-object 'mono-two-mass))
(setq my-electromagnet-access (make-access my-electromagnet (const 1) 'trans0))
(setq electromagnet-handle (make-access my-electromagnet (const 0) 'trans0))
(make-connection 'position electromagnet-handle (const 0))
(setq my-sine (make-controller 'sine 1 87.3 45))
(setq my-sine-controller (make-controller 'arithmetic 1 "*" my-sine 50))
(setq gap (make-controller 'envelope 1 (list (list 0.0 0.008)
                                         (list 2 0.001)
                                         (list 5 0.008))))
(make-connection 'induction my-string-access my-electromagnet-access my-sine-controller gap)
This new type of connection is the result of an IRCAM Musical Research Residency conducted by Per Bloland in collaboration with the Instrumental Acoustics Team, especially Joël Bensoam and Robert Piéchaud.

It is based on the Electromagnetically-Prepared Piano, a device that consists of a rack of twelve electromagnets that rests on the frame of a grand piano. Each individual electromagnet unit is positioned directly over the two or three strings that constitute a single pitch, and is controlled by an arbitrary external audio signal.

More information can be found at:

★     ★