A connection where one access plucks another.
(make-connection 'pluck access_reference1 init-pos1 access_reference2 init-pos2 release_controller weight)
The 'pluck connection takes six arguments:
The two positions must be numerical values, not controllers. The weight controller is optional. If not provided, it defaults to 1.
The release_controller is a one-dimensional controller describing the limit of force (in Newtons) that the plectrum can apply to the string before the string "slips" off and the pluck happens.
For the pluck connection, one access, usually on the small mass of a 'bi-two-mass object, pushes another access, usually a string. When a force threshold, determined by the value of my-controller, is attained between the “plectrum” and the “string,” the two objects detach, snap back, and vibrate. A reasonable plectrum object is obtained using a 'bi-two-mass object with the following parameters:
(define my-plucker (make-object 'bi-two-mass
(small-mass .001)
(large-mass .01)
(stiffness0 100000)
(stiffness1 100000)
(freq-loss0 100)
(freq-loss1 100)
(const-loss0 0)
(const-loss1 0) ))
Having made the pluck connection between two access, one or both objects must be moved so that the two accesses interact. The initial positions of the two accesses in relation to one another is determined by the values given for init-pos1 and init-pos2. (To move the plectrum, it is necessary to use another connection; 'position, 'force, or 'speed, for example.)
A pluck sound will be most easily obtained using the 'position controller to move the plectrum. If a 'force controller is used, the amount of force must exceed the value given for the 'pluck connection's my-controller, otherwise the objects will never release from one another, and no sound will be obtained. In all cases,be careful not to cross the plectrum over the string too rapidly, otherwise the interaction may not work properly.
In older versions of Modalys, the arguments were provided in a slightly different order:
(make-connection 'pluck access_reference1 access_reference2 init-pos1 init-pos2 release_controller)
You may need to update this connection to the new syntax if you come across any very old Modalys files.
(make-connection 'spring ...)
Modalys Tutorial Example [examples coming soon!]