Pluck Connection
Description
A connection where one access plucks another.
(make-connection 'pluck ... )
Syntax and Default Values
A 'pluck interaction can be created using the following Lisp syntax:
(make-connection 'pluck acc_ref1 init_pos1 acc_ref2 init_pos2 release_ctl weight)
Parameters
The 'pluck connection takes six arguments:
- acc_ref1: access on plucking object.
- init_pos1: initial position of the plucking object's access. (numerical value, not a controller)
- acc_ref2: access on object to be plucked.
- init_pos2: initial position of the plucked object's access. (numerical value, not a controller)
- release_ctl: controller determining the release of the pluck interaction (force in Newtons).
- weight: (optional) controller weighing the interaction.
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.
Discussion
For the pluck connection, one access, usually on the small mass of a 'mono-two-mass or '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:
(setq my-plucker (make-object 'mono-two-mass
(small-mass .001)
(large-mass .01)
(stiffness0 100000)
(stiffness1 100000)
(freq-loss0 100)
(freq-loss1 100)
(const-loss0 0)
(const-loss1 0) ))
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.
Options
Retro-Compatibility
In older versions of Modalys, the arguments were provided in a slightly different order:
(make-connection 'pluck acc_ref1 acc_ref2 init_pos1 init_pos2 release_ctl)
★