Figure 13 shows a high-level schematic for a bowed-string instrument, such as the violin, and Fig. 14 shows a digital waveguide synthesis model [152,162].
The bow divides string into two sections. The primary control variable is bow velocity, which implies that velocity waves are a natural choice of wave variable for the simulation. The computation must find a velocity input to the string (injected equally to the left and right) so that the friction force is equal at all times to the string's reaction force [43,108]. In this model, bow-hair dynamics [67], and the width of the bow [119,120] are neglected.
The reflection filter in Fig. 14 summarizes all losses per period (due to bridge, bow, finger, etc., again by commutativity, and nut-side losses may be moved to the bridge side as an additional approximation step). The bow-string junction is typically a memoryless lookup table (or segmented polynomial). More elaborate models employ a thermodynamic model of bow friction in which the bow rosin has a time-varying viscosity due to its temperature variations within one period of sound [203]. It is well known by bowed-string players that rosin is sensitive to temperature. In [149], J.H. Smith and Woodhouse present research on thermal models of dynamic friction in bowed strings. This major development has been incorporated into synthesis models by Serafin [144,147,10].
A real-time software implementation of a bowed-string model similar to that shown in Fig. 14 is available in the Synthesis Tool Kit (STK) distribution as Bowed.cpp.