A simple bi-directional two-mass model that can serve as a hammer, plectrum, finger, etc. Generally the two-mass model has a small mass and a large mass; the small one will be "connected" to the object being excited, and the large one will be manipulated by the user. The two masses are connected by a spring. Visualize a large coin on a table, with a small coin on top, and a spring between them. The large coin can be moved in two directions ('trans0 and 'trans1), and the spring will cause the small coin to follow.
A 'bi-two-mass can be created using the following Lisp syntax (the default values are shown for each of the physical parameters):
(make-object 'bi-two-mass
(small-mass .01)
(large-mass .01)
(stiffness0 15000)
(stiffness1 15000)
(freq-loss0 100)
(freq-loss1 100)
(const-loss0 0)
(const-loss1 0))
All physical parameters can be numerical values or controllers.
As always, the terms horizontal and vertical used above are provided for simplification. This object has separate const-loss and freq-loss parameters for each direction of vibration. See the General Object Information section for a discussion of these parameters.
A 'bi-two-mass can be accessed in either of its two directions: trans0 or trans1.
(make-access my-bi-two-mass my-controller 'trans0)
If the value of my-controller is 1, the access is on the small mass. If my-controller is 0, the access is on the large mass. (A value in-between takes a weighted combination of the two points.)
A bi-two-mass can be tuned to a specific pitch [in each of its two vibrational directions], using the (set-pitch ...) function, by adjusting one of the following physical parameters:
For example:
(setq my-mass (make-object 'bi-two-mass))
(set-pitch my-mass 'stiffness0 220)