next Pulsed Noise
previous Nonlinear Bow Friction
up Nonlinear Commuted Synthesis of Bowed Strings   Contents   Global Contents
global_index Global Index   Index   Search

Friction Impulse Detection

The output of the bow-string simulation must be converted to discrete trigger events, with each trigger initiating playback of the body impulse response (BIR). Ideally, we would like a means of ``thinning'' the impulses coming from the bridge so as to keep the most important ones and neglect the least important ones to the degree necessary to meet computational resource restrictions.

There are several alternative impulse thinning schemes. Perhaps the simplest is to set an impulse amplitude threshold, such as ten percent of the expected main impulse amplitude, such that any impulse over the threshold in magnitude is passed on as a trigger, and anything smaller is suppressed. When the threshold is crossed by the absolute value of the bridge acceleration waveform in an upward direction, the next local maximum is taken to determine the impulse amplitude and timing. No further impulses are accepted until the bridge acceleration falls below the threshold. As a further refinement, the samples on either side of the local maximum can be used to quadratically interpolate the peak, as is typically done for spectral peaks; alternatively, or in addition, the bow-string simulation can be run at a higher sampling rate than the commuted synthesis unit in order to further improve the impulse timing accuracy.

The simple threshold method does not introduce latency, which is important in the real-time case, but it does not enable optimal impulse detection methods and there is no direct control over complexity (it is not easily known in advance what threshold will thin the impulse stream to the necessary extent). An indirect control over complexity is obtained by setting the threshold dynamically as a function of the number of overlapping BIRs. In this way, the threshold can be lifted to increase the thinning when the complexity becomes too great. An advantage of this thinning algorithm is that it doesn't matter what the source of complexity is. For example, impulses may be thinned because the pitch went higher causing more BIR overlap, or because other voices came in reducing the available number of BIR oscillators, or because the end user changed a preference specifying an upper limit on computing resources to be devoted to sound synthesis on a general purpose computer.

A more direct impulse thinning scheme which introduces one period of latency delay is as follows: The most recent period of the bridge signal is kept in a circular buffer at all times. Let $N_e$ denote the maximum number of stick-slip events allowed per period $P$. To restrict behavior to basic Helmholtz motion, $N_e$ can be set to $1$. To allow second-order Raman motion, $N_e=2$ would be appropriate, and so forth. At each time step, the largest $N_e$ peaks in the last period are defined as the impulses to send out. Since there is one period of latency, it is always the case that the emitted impulses are the most important ones within the past period. Having a period of ``look ahead'' enables use of more sophisticated peak detection schemes than the simple local-maximum-after-threshold-crossing method.

A variation on the threshold method which does not need threshold adaption for complexity control is analogous to voice allocation in polyphonic synthesizers: When an impulse crosses a nominal threshold level, the next local maximum triggers a BIR playback unless (1) all playback units are busy and (2) the desired playback amplitude is smaller than that of all of the playing BIRs. When all BIR units are busy but one of them is deemed less important than the desired new BIR, the least important BIR is preempted, interrupting its playback and restarting it at the desired amplitude for the new BIR playback.


next Pulsed Noise
previous Nonlinear Bow Friction
up Nonlinear Commuted Synthesis of Bowed Strings   Contents   Global Contents
global_index Global Index   Index   Search

``Nonlinear Commuted Synthesis of Bowed Strings'', by Julius O. Smith III, Proceedings of the International Computer Music Conference (ICMC-97, Thessaloniki), Computer Music Association, 1997..

Download PDF version (ncbs.pdf)
Download compressed PostScript version (ncbs.ps.gz)

(Browser settings for best viewing results)

Copyright © 2004-09-02 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA  (automatic links disclaimer)