Two-Polarisation Physical Model of Bowed Strings with Nonlinear Contact and Friction Forces, and Application to Gesture-Based Sound Synthesis

: Recent bowed string sound synthesis has relied on physical modelling techniques; the achievable realism and ﬂexibility of gestural control are appealing, and the heavier computational cost becomes less signiﬁcant as technology improves. A bowed string sound synthesis algorithm is designed, by simulating two-polarisation string motion, discretising the partial differential equations governing the string’s behaviour with the ﬁnite difference method. A globally energy balanced scheme is used, as a guarantee of numerical stability under highly nonlinear conditions. In one polarisation, a nonlinear contact model is used for the normal forces exerted by the dynamic bow hair, left hand ﬁngers, and ﬁngerboard. In the other polarisation, a force-velocity friction curve is used for the resulting tangential forces. The scheme update requires the solution of two nonlinear vector equations. The dynamic input parameters allow for simulating a wide range of gestures; some typical bow and left hand gestures are presented, along with synthetic sound and video demonstrations.


Introduction
Sound synthesis techniques for string instruments have evolved, in the past few decades, from abstract synthesis [1] (wavetables, frequency-modulation (FM) synthesis . . . ) towards sampling synthesis, based on a library of pre-recorded sounds, and physical models, emulating the instruments themselves.To this day, the best synthesised sound quality is achieved by sampling techniques; however, the potentially very large storage requirements for these sound libraries are a major argument for using physical models.Beyond the storage concerns, the use of a physical model allows for great flexibility for input parameters (typically, the instrument's shape and material properties, together with the player's controls), as well as output parameters, usually the "listening conditions", that can be changed freely and dynamically along a simulation, as opposed to the case of statically recorded samples.
Physical modelling synthesis for strings debuted in the 1970s, with time stepping methods to discretise and directly solve the 1D wave equation [2][3][4].However, the very limited computational power at the time ruled out simulation at an audio sample rate in any reasonable amount of time.The next generation of models therefore focussed on algorithmic simplification, through physically plausible assumptions.The physics-based Karplus-Strong string synthesis algorithm [5,6] was generalised by the digital waveguide framework [7,8]; Karjalainen et al. [9] review the use of these models for string synthesis.Their fast execution and realistic sound output found efficient applications in bowed string modelling, and are still widely used to this day [10][11][12][13][14].Digital waveguides model the forward and backward travelling waves along a string using delay lines-a simple and efficient strategy for certain linear time invariant systems.In particular, they are well suited for systems in one dimension, well described by the wave equation.Another more general class of physical models relies on the modal solutions of the string equation, and has been successfully adapted for bowed strings [15,16].
However, the very assumptions that underlie the efficiency of these methods can lead to difficulties when extensions to more realistic settings are desired-the bowed string and its complex, nonlinear, time-varying interaction with the environment being an excellent example.Time-stepping methods, and more specifically finite difference methods [17], though computationally costly, have regained appeal in musical sound synthesis [18] with the great increase in computing power during the last two decades.String simulation in one dimension is particularly suited for these kind of methods [19,20].The interactions of, say, a bowed string with its environment can be included in a straightforward manner, as long as they can be described with a system of partial differential equations (PDEs).These methods also allow a greater flexibility for modelling the musician's gestures, and more generally to deal with the dynamic nature of the input and output parameters.
While the number of parameters is small compared to other methods, navigating the space they describe is somewhat of a challenge.Indeed, as opposed to a struck or plucked string, the continuous excitation mechanism of a bowed string makes playability a major issue, for real or virtual instruments.The player shapes the sound and behaviour of his instrument throughout the whole production of a note.Their gestures can be described with a handful of parameters, which must be perfectly coordinated at all times to allow a tone to be created and sustained; indeed, Schelleng [21], following the work of Raman [22] some decades earlier, was the first to analytically show that, under simplifying assumptions and for a certain bow velocity, only a relatively narrow triangular area (in logarithmic scale) in the downwards bow force versus bow-bridge distance parameter space gave rise to the characteristic stable Helmholtz motion desired by most musicians (his work was revised by Schoonderwaldt et al. [23], introducing more refined elements of bowed string motion).This area is tied to the concept of playability, and the so-called Schelleng diagrams are widely used in bowed string playability studies [24][25][26][27].Transient quality also constitutes a major part of playability: Guettler [28] investigated the relation between bow downwards force and bow acceleration regarding the quality of initial transients, producing triangular diagrams resembling those of Schelleng, again under simplifying assumptions; Woodhouse et al. [29] produced Guettler diagrams with more refined numerical models as well as experimental data, showing the predicted wedge-shaped region.A detailed review of the published literature on bowed string mechanics (and, indeed, violin acoustics in general) was recently written by Woodhouse [30].
After the studies of Schelleng, an experimental study by Askenfelt [31,32] yielded measured values for these control parameters, on a violin; he was the first to develop a measuring rig able to record them all simultaneously during performance.More recently, the variation of these parameters along various bowed string gestures was observed and analysed in detail [15,33,34].The obtained signals can be mathematically reconstructed [35], or directly used, to be fed into a physical modelling algorithm such as the one presented in this work.The aforementioned studies are mainly interested in bowing gestures; to handle those of the left hand fingers (vibrato, legato, glissando, etc.), one can include a finger model, along with a fingerboard.
This work is concerned with a detailed model of bowed string vibration, emphasising the interactions of the string with the player.A linear bowed string is simulated in two polarisations.The model includes the following features: • in one polarisation, distributed nonlinear contact interactions between the string and the dynamic left hand fingers, dynamic bow, and fingerboard.A stable finite difference scheme for modelling distributed contact/collisions has recently been established [36,37], that can be used in this stopped string-fingerboard setup [38,39]; • in the other polarisation, orthogonally to the first, distributed nonlinear friction forces between the string and the same three objects.The friction force nonlinearity is modelled with a force/velocity friction curve for the bow [40].Tangential Coulomb friction also keeps the string captured between the fingers and fingerboard during note production; • full control over the physical parameters of the system, as well as dynamic variations of the playing parameters.This time domain model is therefore able to reproduce most bowed string gestures; • introduction of an inertial term in the bow model, in the tangential direction.This leads to a horizontal force bow control, instead of the bow velocity input signal used in most of the aforementioned models; • in the same direction, introduction of an inertial term and a restoring term in the finger model.
The fingertip is massive, absorbs some of the tangential string vibrations, and oscillates about a fixed horizontal finger position.
The main challenges associated with this model are computational.On one hand, the resulting numerical method must be stable; energy methods are used to derive a stability condition from the model system, and establish a power balance to keep track of the energy exchanges between the various parts of the system.On the other hand, the distributed nonlinearities induce heavy computational costs, with the need to resort to iterative nonlinear system solving methods; extensive optimisation is necessary in order to bring the algorithm closer to real-time operation.Finally, the gestural control is obviously limited by the aforementioned playability issues; such a model is able to produce waveforms outside of the generally desired Helmholtz sawtooth, and the absence of direct feedback for the player in the present algorithm indeed makes parameter control a rather fastidious task.
In Section 2, the model equations for the bow/string system are presented, with an elaborate description of finger/string interaction in the case of stopped notes, and the string/fingerboard collision interaction.A globally energy balanced finite difference scheme is presented in Section 3. Finally, bowed string simulation results, with the reproduction of several typical gestures, are presented in Section 4. Some sound and video examples from the computed simulations are available online [41].

Context
The choice of time-stepping methods is in line with the larger aim of building full physical models of musical instruments, embedded in virtual acoustic spaces.The work presented here is a step towards designing such a model for a bowed string instrument; this longer term aim guided the choice of whether or not to include certain features of bowed string playing in this work.
As a consequence, although the bowed string model described here uses sensible, physical assumptions, some of its features may not be as refined as one can find in some of the recent literature.This is the result of compromising between physical accuracy, computational complexity, and (subjective) synthetic sound quality.Some features, for instance, have been neglected for dramatically increasing the algorithmic complexity and computational load, while having very little influence to both the output sound and the control quality; this is the case for e.g., the nonlinear intrinsic coupling between the two polarisations of the string, or the thermal properties of the rosin layer coating the bow [42].Torsion waves are also excluded; although, when present, their synchronisation with transverse waves has been experimentally shown to strongly contribute to tone quality and stability [43], their presence (or absence) may not have a strong bearing on the playability and synthetic sound quality of a simplified physical model [25].

A Linear, Two-Polarisation String Model
A dual-polarisation string model serves two main purposes in this work.First, treated in this paper, is the ability to simulate realistic, nonlinear impact interactions between the string and any external objects in one direction, translating directly into tangential friction forces in the other direction.This is an intuitive way to include not only a bow that is able to naturally bounce, but also dynamic left hand fingers to stop the string against a fingerboard, while absorbing some of the string vibrations.
Second is the potential to use this algorithm towards a model of a full instrument.The coupling of the two polarisations at the bridge boundary, through a model of the bridge itself coupled to the instrument body, would be straightforwardly achieved with this string model as a starting point.While the incorporation of the bridge and wooden cavity is undoubtedly crucial to the final sound of the virtual instrument, let us first describe the proposed string model.

The Isolated String
Consider a linear, stiff, and lossy string, of length L. The string displacement in the vertical or normal polarisation is denoted by w(x, t), while u(x, t) is the string displacement in the horizontal or tangential polarisation.Both are defined for position x ∈ D = [0, L] and time t ∈ R + = [0, +∞] (see Figure 1).The partial differential equations governing the time evolution of u(x, t) and w(x, t) can be written as: L is the partial differential operator defined as [20]: where ρ is the linear mass density of the string, in kg/m; T is the tension of the string, in N; EI 0 is the bending stiffness, where E is Young's modulus in Pa, and I 0 = πr 4  4 is the area moment of inertia of the circular cross-section of the string, with r the string radius in m.Some typical parameters for a violin, a viola, and a cello, can be found in the literature, notably those measured by Pickering [44] and Percival [45].
λ 1 (1/s) and λ 2 (m 2 /s) are positive damping coefficients, that empirically account for frequency independent and dependent losses in the string, respectively.With more refinement, they could be replaced by a full model accounting for energy dissipation through air viscosity, acoustic radiation, and internal friction, each of these three mechanisms having a more or less pronounced impact across the spectrum [46].In accordance with the statements in Section 2.1 however, this empirical, simplified loss model is deemed sufficient for the purposes of this work.
The system described by Equations ( 1) and ( 2) is accompanied by a set of boundary conditions (four of them for each polarisation of the stiff string).Standard energy conserving conditions of the simply supported type are chosen, assuming an isolated string, with no interaction with the instrument body (note that for the musical string, the effect of bending stiffness being very small with respect to that of tension, there is little difference between the simply supported and clamped boundary conditions): It is worth noting that although definitely worth investigating, intrinsic and/or boundary coupling between the two polarisations is not included in the present model, although, as mentioned in Section 2.2, boundary coupling could be introduced through modelling the bridge and body.As will be clarified in Sections 2.4 and 2.5, physical coupling between the two directions of vibration occurs where the string is in contact with the bow, finger, or fingerboard.

The Collision Interaction
The collision model used in this paper was formalised in 1975 by Hunt and Crossley [47], as a means to write a new law governing the mechanics of nonlinear damped impacts.The undamped power-law model was adopted by the musical acoustics community as a means to describe lumped collisions, especially hammer-string collisions in the piano [19,48,49], and mallet-membrane impacts in drums [50,51].A similar model than that of Hunt and Crossley, with hysteretic damping, was used for the modelling of the interaction between the piano hammer felt and the piano string, with good concordance with experimental results, by Stulov [52].A numerical time domain framework for this particular model has been developed throughout the recent few years [36,37], and has proven to give rise to stable schemes; this aspect will be further developed in Section 3.3.This type of contact interaction is chosen for two modelling aspects of bowed string playing.First and foremost, a bow having the ability to naturally bounce is a necessary feature for a wide range of the musician's gestural palette, such as spiccato or ricochet bowing.Introducing a collision mechanism in the bow model itself allows for this bouncing under realistic playing parameters.The natural frequency of the bouncing bow varies between 6 and 30 Hz, depending on whether the string is bowed closer to the tip or the frog of the bow [53]; this can be tuned by changing the stiffness and mass parameters of the bow model.It is worth noting that the entire dynamics of the bow hair have purposely been excluded from this work; as the primary aim is sound synthesis, it is found here that a dynamic, nonlinear, albeit lumped bow is a satisfying compromise between computational cost and gestural versatility.
The second aspect of the contact interaction lies in the capture of the string between a left hand finger and the fingerboard.The use of the damped impact law allows for realistic simulation of the fingertip reacting against the tension of the string, while significantly absorbing vibrations.The distributed fingerboard acts as a continuous barrier for fingers to slide along, allowing for glissando and vibrato gestures on the fly.Again, the built-in impact model allows for string rattling effects [39], used, for instance, in jazz double bass playing.

Bow and Finger
At a physical level, in the vertical polarisation, the bow and finger are essentially modelled the same way-that is, a lumped, flexible body pushing down on the string.The distinction lies in the values of the various parameters which define the collision force.For instance, the bow hair may have different stiffness properties than that of the fingertip, and the latter definitely exhibits higher damping than the former.
Adding the finger and bow forces to the string model described in Equation (1a) gives: where the downward forces exerted by the finger and the bow onto the string are respectively denoted by f F (t) and f B (t).Their action on the string is localised as defined by the continuous distributions J F (x, t) and J B (x, t), possibly time-varying (one can use, e.g., a Dirac delta function to model a pointwise interaction).f F (t) and f B (t) can be written using the Hunt and Crossley collision model mentioned in Section 2.4.1: where the dot notation is used for total time differentiation ( d dt ).These contact forces are nonlinear functions of the penetration ∆ F (t) and ∆ B (t), corresponding to the distance by which the colliding object (here, the fingertip and the bow hair, respectively) would deform from its resting shape.Figures 2a,b provide a visual interpretation of the finger and the bow penetrations.∆ F (t) and ∆ B (t) are defined as: where w F (t) and w B (t) are respectively the vertical positions of the finger and bow at time t (see Figure 2).Φ F (∆ F ) and Φ B (∆ B ) are nonlinear potential functions, related to the stored collision energy.Ψ F (∆ F ) and Ψ B (∆ B ) are nonlinear damping coefficients.They can be written as: where [•] + means max(•, 0).The parameters K F and K B , both strictly positive, define the respective stiffnesses of the finger and the bow.α F and α B are power law exponents, both larger than 1. β F and β B are positive damping factors.
w F (t) and w B (t) are respectively the vertical positions of the finger and bow at time t (see Figure 2).Their behaviour is governed by: where M F , M B are the finger and bow masses, respectively (in kg), and f ext w,F (t), f ext w,B (t) are the external forces applied vertically on the finger and bow, respectively (in N).

Fingerboard
The fingerboard forms a distributed barrier under the string.Equation ( 4) therefore generalises to: where the index • N indicates "neck", to avoid confusion.
F N is the contact force density exerted by the neck onto the string, along its length (in N/m).Here, the Hunt and Crossley collision model is used again, this time as a smooth approximation to a rigid collision: Once again, the contact force is a function of the fingerboard penetration ∆ N (x, t), defined over D: where ε(x) is the position of the fingerboard with respect to the string at rest (i.e., the action of the instrument).Figure 3 summarises the forces at play in the vertical polarisation.
Φ N (∆ N ) and Ψ N (∆ N ) are defined analogously to the finger and bow functions in Equations ( 8) and ( 9): where K N is chosen very large to approach an ideally rigid collision.Indeed, such a choice ensures that ∆ N stays very small, as should be for fingerboard-like structures [39].
x u(x,t) w(x,t) Diagram summarising the interactions of the string with the finger, bow, and fingerboard, in the vertical polarisation.

The Friction Interaction
The vertical contact forces described in Section 2.4 give rise to corresponding tangential friction forces onto the string, in the horizontal polarisation.A classic dry friction model is used, where the friction force is directly proportional to the normal force: where F F is the tangential friction force (in N), ϕ is a dimensionless friction coefficient, and F C is the normal contact force, applied downwards on the string.The neck, finger and bow are not considered adhesive, therefore friction exists only for positive normal forces.The friction force therefore arises from a friction coefficient, modulated by the normal force applied on the string.As a result, the interactions in the vertical polarisation feed into the horizontal polarisation.It is important to note that, for this particular framework, this is the coupling point between the two modelled directions; as mentioned earlier in Section 2.3, there is no other form of polarisation coupling in this model.
The friction coefficient can be defined as dependent on the relative velocity between the string and the external object.One can therefore establish a force-velocity friction curve, mapping the friction coefficient to a particular value of the relative velocity v rel .

Bow
The most straightforward way to introduce the tangential friction forces is probably to come back to the simple bowed string, where the friction phenomenon is the most appreciable.The bowed string equation in the horizontal polarisation is: where J B (x, t) and f B (t) are the distribution and the normal collision force defined in Section 2.4.2.Note the negative sign in front of the friction term, reflecting the friction force opposing the motion of the string.ϕ B (v rel,B ) is a dimensionless friction coefficient, depending on v rel,B , the relative velocity between the bow hair and the string.These are defined as [42]: where u B (t) is the bow transverse displacement.As the bow is pushed across the string, the equation governing the transverse motion of the bow is: λ B is a positive coefficient quantifying the linear energy absorption by the bow in the horizontal direction.The linear damping term is negligible compared to the friction term, when the string is in contact with the bow; indeed, this linear term mainly has a practical purpose in the numerical simulations, that is to avoid the bow drifting away when it is lifted from the string at the end of a note.
f ext u,B (t) is the force with which the player pushes the bow tangentially, in order to establish the desired bow velocity.Note the slight difference with the usual control parameter in most bowed string studies; instead of directly imposing a bow velocity v B (t), the force applied by the player on the bow is used, resulting in a bow velocity uB .
The choice of a friction coefficient depending on relative velocity, ϕ B (v rel,B ), while already quite refined and fairly costly to model, is nonetheless somewhat of a trade-off between computational simplification and physical realism.More elaborate models for the bowed string friction interaction, involving viscothermal effects in the rosin layer coating the bow hair, can be used [13,14]; however, they require significantly more advanced implementations.Satisfying results and synthetic sound are obtained with the simple friction curve, although it has been shown that using a temperature-based friction model improves playability [25].The friction curve employed here for the bow is deduced from experimental measurements in the steady sliding case (e.g., at constant velocity) [42]; it is illustrated in Figure 4a.

Finger
Adding the left hand finger in the horizontal direction yields: where J F (x, t) and f F (t) are defined in Section 2.4.2, and ϕ F (v rel,F ) is a dimensionless friction coefficient.
To the authors' knowledge, there is no experimental data allowing for the calibration of the finger (or the fingerboard) friction curve.The fingers have the joint function, along with the fingerboard, of capturing the string to reduce its speaking length, to a crude approximation.In the absence of such data, a Coulomb-like step characteristic can therefore be assumed (illustrated in Figure 4b, where the static friction case occurs in most playing situations, but the string is capable of slipping under the finger if the left hand grip is too loose: µ F is a positive kinetic friction coefficient, quantifying how "sticky" the fingertip is.u F (t) is the horizontal position of the fingertip, with respect to the resting string axis.It is hypothesised that the fingertip oscillates about the top finger joint, while simultaneously damping the horizontal vibrations of the string.The temporal evolution of u F (t) can therefore be written as: where K F 0 is a spring constant, and λ F 0 is a damping coefficient.A linear damped oscillator model for the finger is chosen in the horizontal polarisation.Indeed, the choice of a more elaborate contact model such as the one used in the vertical polarisation seems unjustified; while impacts are dominant in the vertical polarisation, e.g., when hammering the string for changing notes, it is clear that collisions only have an auxiliary effect in the tangential polarisation.
Note that this version of the model, before even introducing the fingerboard, could be used to simulate the bowing of natural harmonics of the string.

Fingerboard
The fingerboard friction force is distributed along the whole string; if plucked particularly hard, the string's impact on the fingerboard can tangentially translate into friction, and the string will also slide against the neck of the instrument, adding to the audible rattling effect.The string equation becomes: where, again, F N (x, t) is the normal fingerboard force defined in Section 2.4.3, and ϕ N (v rel,N ) is the friction coefficient for the fingerboard, depending on the relative velocity between the fingerboard and the string (that is, the velocity of the string itself, as the fingerboard is not moving): Figure 5 summarises the forces at play in the horizontal polarisation.
x u(x,t) w(x,t) Diagram summarising the interactions of the string with the finger, bow, and fingerboard, in the horizontal polarisation.

Energy Analysis
One can derive a power balance equation for both polarisations.The transfer of this equation to discrete time provides a tool to help ensure numerical stability.
Multiplying Equation ( 11) by ∂ t w and integrating over the length of the string, and multiplying Equations (10a) and (10b) by ẇF and ẇB respectively, yield the following power balance (for energy-conserving boundary conditions, such as those given in Equation (3)): The variation of the total kinetic and potential energy H w (t) = H w,s (t) + H w,N (t) + H w,F (t) + H w,B (t) is equal to the total power P w (t) supplied to the system through external excitation (which can be negative), minus the power Q w (t) 0 withdrawn from the system through damping.The system is therefore globally energy balanced.The energy is defined as: The power supplied through external excitation is: The power lost through damping within the string and through collision with the neck, finger and bow is given by: In the absence of excitation, the energy H w strictly decreases.
For the horizontal polarisation, multiplying Equation ( 22) by ∂ t u and integrating over D S , and multiplying Equations ( 18) and ( 21) by uB and uF respectively, yield the power balance: Again, the variation of H u (t) = H u,s (t) + H u,F (t) + H u,B (t) is equal to the total power P u (t) supplied to the system in the horizontal polarisation through external excitation, minus power losses Q u (t) 0 from damping.The energy is defined as: The power supplied or withdrawn by external excitation is: The power lost through string damping and friction is: Note that Q u 0 if v rel ϕ (v rel ) 0, which is true for the friction characteristics of the three objects.
The total power of the full system is therefore balanced by: A power balance of the same type as Equation (32a) is generally used as the base for another class of modelling methods, based on so-called port-Hamiltonian systems [54].Discretisation of such systems has recently been successfully implemented for time domain physical modelling of acoustic and electroacoustic systems [55].

Discretising the Equations of Motion
The equations of motion can now be discretised by approximating the partial derivatives with their finite difference [17] counterparts.This method allows a full system simulation, and therefore great flexibility of control for the input parameters and gesture reproduction, at the cost of increased computational requirements.This method has seen a myriad of applications in physical modelling sound synthesis, and more generally musical acoustics simulations [3,18].In this section, the numerical scheme is defined, the discrete energy balance is detailed, and the scheme update is described.

Grid Functions and Finite Difference (FD) Operators
All the time varying quantities defined in Section 2 are now discretised into series of integer multiples of the time step, and defined at times t = nk, n ∈ N. k is the time step in s; F s = k −1 is the desired sample rate in Hz.Typically, audio sample rates are used, such as F s = 44.1 kHz.
The space dependent variables are discretised into grid functions, defined at positions x = lh, l ∈ D = [0, . . . ,N D ], where h is the grid spacing, in m.
For an arbitrary continuous function g(x, t) defined for x ∈ D and t ∈ R + , g n l is a grid function approximating g(lh, nk), at grid point l and time step n.Introduce the forward and backward unit time and space shift operators, applied to g n l : Partial differentiation with respect to time and space can be approximated with a number of first order Finite Difference (FD) operators: Higher order partial derivation operators are approximated with: Finally, the averaging FD operators approximate identity: Note that δ t− µ t+ = δ t+ µ t− = δ t• .

Finite Difference Scheme
The discrete counterparts of w(x, t) and u(x, t) are the grid functions w n l and u n l , as described in Section 3.1.2.System Equation ( 1) is discretised as: where L is a finite difference discretisation of the differential operator L defined in Equation ( 2), using the finite difference operators described in Section 3.1.2: The use of the backward first order time FD operator in the second damping term allows for the isolated string scheme to stay explicit; this results in simplified computations, at the cost of a slightly altered stability condition.
The discrete simply supported boundary conditions are given as:

Vector-Matrix Notation
The grid functions w n l and u n l are defined over the discrete domain D, containing N D + 1 grid points.The discrete position of the whole string can therefore be described with vectors of length N D + 1.The first set of boundary conditions, Equations (41a) and (42a), ensure that the two extreme values of such vectors (i.e., the string displacement at the bridge and nut boundary) are 0 at all times.One now only needs to store the state of the string in a vector of size (N D − 1), omitting these two extreme values: The action of spatial FD operators on the grid functions is then equivalent to a matrix-vector multiplication.For simply supported boundary conditions, the notation of spatial FD operators in matrix form naturally follows as: , and (N D − 1) × (N D − 1), respectively.System Equation ( 39) can now be written as a pair of vector equations: where L is the matrix form of the difference operator L defined in Equation ( 40):

Discrete System
A discretisation for Equation (11) can now be written in vector-matrix form: where J n w is the (N D − 1) × (N D + 1) distribution matrix, and f n w is a column vector containing all the contact force information: where I N−1 is the (N D − 1) × (N D − 1) identity matrix, and j n F and j n B are discrete spreading operators in column vector form, accounting for the continuous distributions described in Section 2.4.2.If the contact regions are sufficiently wide, these can be sampled from the true shape of the concerned object; otherwise, if contact is localised in a small region, or pointwise, interpolation is needed between grid points, as truncation to the nearest grid point would result in audible artefacts when the finger or bow move along the length of the string.
The spreading vectors are normalised over the grid: for instance, in the simplified case of a fixed position object, located on a grid point, if J F (x, t) and J B (x, t) are Dirac delta functions, then j n F and j n B will be all-zero vectors, except for one element of value 1 h , at the position where the force is applied.Note the use of the averaging operator µ t• in Equation ( 47), necessary to show an energy balance for this scheme in the case of moving finger or bow (see Section 3.5).
f n N , f n F and f n B are the discrete counterparts of those defined in Sections 2.4.2 and 2.4.3.

Collision Normal Forces
The force vector f n w can be written as: where the division is pointwise, and is the pointwise product.This expression for f n w is written as a function of the vector penetration ∆ n , defined as: where the elements of vector ε are ε l = ε(lh), and w n F and w n B are the respective vertical positions of the finger and bow.
Φ n (∆ n ), Ψ n (∆ n ) are now vector functions of ∆ n : where the exponentiation operation is also element-wise, and the nonlinearity parameters K, α, and β are themselves in vector form: Finally, the discrete equations for the evolution of the vertical positions of the finger and bow can be written as:

Horizontal Polarisation
Equation ( 22) is now discretised as: L is defined in Equation (46).f n u is a column vector containing the friction force information: where ϕ N , ϕ F and ϕ B are defined in Section 2.5.One can define a vector relative velocity: Finally, a matrix equation describes the evolution of the horizontal displacements u n F and u n B of the finger and bow, respectively: where the 2-point averaging operator µ t• is used as a means to avoid restricting the stability limit of this scheme any further; this aspect will be developed in Section 3.5.4.

Energy Analysis
The results of Section 2.6 can be transferred to discrete time, and the energy exchanges going on in the system can be monitored at all times during the simulation.An energy balance equation is derived between the energy of the closed system (H n ) and the power brought in and out, by external excitation (P n ) and damping Q n .The maintenance of this energy balance is a means to ensure a stable algorithm.

Vertical Polarisation
For the vertical polarisation, multiplying Equation ( 47) by h (δ t• w n ) T and Equation (53a) by δ t• w n FB T gives the power balance: The numerical energy H n w is defined as: where h = [. . .h . . .|1|1] T .The power P n w supplied or withdrawn through excitation is: The power Q n w 0 dissipated through damping is: In the absence of external excitation, the numerical energy H n w is strictly decreasing.

Horizontal Polarisation
On the other hand, the product of Equation (54a) by h (δ t• u n ) T , and that of Equation (57a) by δ t• u n FB T , yield a numerical power balance for the horizontal polarisation: where the numerical energy H n u is defined as: The power P n u brought in or out by the player excitation is: The power Q n u 0 dissipated by friction and damping is:

Global Power Balance
The total numerical energy H n of the system is balanced by:

Non-Negativity of the Numerical Energy and Stability Condition
The stability of this scheme now reduces to a condition on the non-negativity of H n = H n w + H n u at all times.For the vertical polarisation, as Φ n 0 by construction, it is straightforward to see from Equation (59c) that H n Φ 0; the modelling of collision interactions does not have an effect on numerical stability.In the horizontal direction, H n u,FB 0 follows directly from Equation (63c); the energy of the finger and bow is unconditionally strictly positive, thanks to the use of the averaging operator in Equation (57).
H n 0 is then equivalent to the isolated string energy being non-negative, that is 0. This is only ensured at all times if both H n w,s 0 and H n u,s 0, which are verified for this particular scheme under the same condition, linking the time step k and grid spacing h [18]: 3.5.5.Invariant Quantity Following Equation (66), the quantity E n can be derived, that should remain constant throughout the simulation: The variations of E n should remain within machine accuracy, and can therefore be monitored as a means of ensuring that the algorithm is running properly.Examining its components separately provides a practical visualisation of the energy exchanges between the various parts of the system along time.

Scheme Update
As the horizontal friction forces depend on the normal contact forces, the vertical polarisation is updated first.The resulting impact forces are then fed into the horizontal polarisation system, which is subsequently updated.

Vertical Polarisation
Expanding the operators in Equations ( 47) and (53a), and combining Equations ( 49) and ( 51), leads to a two-step recursion algorithm in vector-matrix form, to be updated at each time step n: where A is a constant, and B, C are matrices, written in terms of the physical parameters of the string, the time step k, and the grid spacing h, through the spatial difference matrices: However, the nonlinearity of the contact model doesn't allow for a simple explicit update.Combining Equations (69a) and (69b), and rewriting in terms of ∆ n , leads to a nonlinear equation in matrix form, in terms of the unknown vector r n = ∆ n+1 − ∆ n−1 : where the matrices Λ n 1 , Λ n 2 , and the vectors f n Φ , b n are given by: where M inv is a (N D + 1) × (N D + 1) matrix with M −1 FB at its bottom-right corner, and all zeros elsewhere; 0 N−1 is an all-zero row vector of length (N D − 1); and h = [. . . 1 . . .|h|h] T .Equation ( 71) is resolved with an iterative nonlinear system solver.

Horizontal Polarisation
Similarly to the vertical polarisation, a two-step recursion is derived from Schemes Equations (54a) and (57a): where A, B, and C are the same as defined in Equation (70).A FB , B FB , and C FB are 2 × 2 matrices, defined as: Due to the friction linearity, the horizontal update is also implicit.Equations (73a) and (73b) can be written as a nonlinear system in terms of the vector variable v n rel : where the matrix Λ n 3 , and the vector b n u are defined as: where A obj is a (N D + 1) × (N D + 1) matrix with A FB at its bottom-right corner and zeros elsewhere; I 2 is the 2 × 2 identity matrix.

Friedlander's Construction and Pitch Flattening
Update Equation ( 75) is valid for the general case, for any friction curves obeying the condition vϕ(v) 0. However, it is important to note that whenever the bow does not share any contact points with the fingers or the backboard (which is the case in most realistic playing scenarios), the last equation of System Equation (75) (corresponding to the bow friction force) is decoupled from the rest of the system.As a result, the bow friction nonlinearity, different in nature from that of the finger and fingerboard, can be treated separately, by the means of solving the nonlinear scalar equation: Given the known values b n B and σ n , Equation ( 77) is a scalar equation in terms of v n rel,B only, and can be solved with the help of Friedlander's graphical construction [56].Indeed, the solutions to Equation (77) are the abscissas of the intersections of the friction curve ϕ B (v n rel,B ) with the line defined by η B v n rel,B = − 1 σ n v n rel,B + b n B , as shown in Figure 6, with ϕ B in black and η B in blue, for different values of b n B .A solution on the vertical part of the curve corresponds to the sticking state (v n rel,B = 0); otherwise, the string is slipping against the bow (|v rel,B | > 0).
where b n B is the last element of b n , and σ n is defined as: Vitesse relative (m/s) Coefficient de frottement 0 0.5 ii. iii.

Friction coefficient
Relative velocity (m/s)  rel,B lie at the intersections of ϕ B (black) and η B (blue).Case (a): sticking; case (b): slipping.Under certain conditions (case (c)), there are potentially multiple solutions; this ambiguity is resolved by choosing the solution on the same branch of ϕ B as the previous time step [40].i. sticking; ii.slipping; iii. is always unstable, and is not seen in bowed string motion.
As Figure 6 shows (case (c)), one must beware of the possibility of multiple solutions.With this force-velocity curve model, this possibility, although seemingly brought about by the particular discretisation chosen for the bowed string equations, does indeed resemble Friedlander's so-called ambiguity, giving rise to pitch flattening phenomena, as McIntyre et al. have deduced [40].They showed that the "correct" solution (Figure 6, i. and iii.) is the one that preserves the current oscillation phase (sticking (Figure 6, i.) or slipping (Figure 6, ii.)) for the longest time, and that the "middle" solution (Figure 6, iii.) is always physically unstable, and never seen in practice.This gives rise to hysteretic behaviour: the relative velocity solution jumps back and forth between the two branches of ϕ B at different points depending on whether the transition is from stick to slip, or the other way around.This shows as a lengthening of the stick/slip cycles, and therefore a flattening of the pitch.This effect has later been found to be due to the naturally hysteretic thermal behaviour of the melting rosin, which is somewhat approximated by the hysteresis rule on the simpler friction curve model [42].
As can be seen in Figure 6, multiple solutions can only arise if the (negative) slope of η B is small enough, provided by the condition: From Equation (78), it can be seen that for a given virtual string, as j n B is normalised at all times, the variations of σ n are directly proportional to those of the normal bow force: as f n B + increases, −1 σ n increases.The pitch flattening effect therefore is, for this scheme, a result of pushing down too strongly on the bow; this is indeed what can be observed in real bowed string playing.An expression can be derived for the minimal bow force beyond which this effect can occur; Appendix demonstrates that, for an ideal bowed string, the condition on this minimal force derived analytically by Friedlander is found to be the same as that obtained with a similar finite difference scheme as that used in this work, at the stability limit.This is an encouraging indicator of the validity of using a physical hysteresis rule such as that used by McIntyre et al. to resolve this seemingly numerical ambiguity, albeit not a definite proof that the minimal bow force expression will be the same, in practice, for different choices of discretisation.The implementation of the various cases is greatly beneficial for reducing computational time; indeed, the slipping phase only lasts for a fraction of a complete cycle, therefore the equation becomes linear (and trivial to solve) in most cases, no longer requiring a computationally expensive iterative solver.

Control Parameters
The first aspect of user control for this model lies in the physical parameters of the system.Provided that algorithmic stability is ensured, the end user has total and independent control over all of the physical parameters defined in this work.The measurements mentioned in Section 2.3 can be used as a sort of safeguard, if one is concerned with synthesising realistic bowed string instrument sounds; the more adventurous composer can experiment with different parameters, not limited by physical constraints.It is important to note that because of the nature of bowed string playing, unusual combinations of physical parameters may drastically limit playability.
The second aspect is gesture control, defined by two sets of dynamically varying parameters (three for the bow, two for the finger): • Bow parameters: bow position along the string, closer to or further away from the bridge bow downwards force (denoted by "bowing pressure" in most papers) -bow tangential force, which will determine the bowing velocity (and, in turn, the amplitude of bowed string motion) • Finger parameters: finger position along the string, determining the (possibly varying) pitch of the resulting note finger downwards force, which can be used to capture the string against the fingerboard, or to lightly push the finger against the string for playing natural harmonics These five gestural parameters are fed into the algorithm as time series.Their value at a certain time is determined with the help of a score file, defining breakpoint functions for every one of them.The resulting piecewise linear time series can be modified at will; a representative example is the addition of an oscillatory term in the finger position function, so as to simulate a vibrato sound (see Section 4.3).
All the simulations presented here are run at audio sample rate (F s = 44.1 kHz, with the exception of those for which spectrograms are computed, where the sampling rate has been increased in order to enhance the spectrogram resolution), as close as possible to the stability limit.The output waveform is read as the displacement of the last mobile point of the string before the bridge termination.Accompanying simulation videos and synthetic sounds are available online [41].

Bowed String Motion
As the bow is driven by the external force f n ext u,B , and not an imposed velocity, the amplitude and shape of the force signal to send into the bow is at first less intuitive to gauge.However, while a full parameter exploration study is definitely worth considering (with regards to playability and transient quality; see e.g., [24]), minimal trial and error allowed to successfully reproduce the standard, periodic Helmholtz motion [57] of the bowed string, as well as other typical oscillation states under realistic bowing conditions.
For a given bow-bridge distance and bow velocity, if the player presses the bow too strongly for the returning Helmholtz corner to detach it from the string, the model produces raucous motion, as predicted by Schelleng [21].If the string is bowed too lightly for it to stick to it for a whole nominal period, the synthesised bowed string motion has the characteristics of multiple slipping.Figure 7 shows the simulated typical sawtooth waveform associated with the Helmholtz motion, the split sawtooth associated with multiple slipping, and the rough, aperiodic waveform resulting from raucous motion of the string.

Gesture-Based Sound Synthesis
Modelling of the fingerboard, as well as that of the two-polarisation dynamics of the left hand finger and the bow, allows the simulation of a broad range of the bowed string player's gestures.Figure 8 illustrates the start of a typical simulated gesture.

Varying Bow Forces and Position
As long as the combination of bow force and bow position along the string stays within the Schelleng-like triangular area allowing to produce a stable tone, the bow control parameters can be varied across the simulation, while keeping the Helmholtz motion sustained.This allows for dynamic variations of a note's timbre and loudness, directly mapped to the same parameters that a player would handle on a real instrument (as opposed to a more abstract representation of their influence over the output sound), greatly enhancing the expressiveness of the synthetic sound.For instance, a sharper, more brilliant sound can be achieved by bowing the string closer to the bridge; loudness is controlled by adjusting the bow tangential force, determining the bow transverse velocity.Figure 9 shows the complex spectral variations associated with dynamic changes in the bow downwards force, tangential force, and position along the string, during a simple synthesised bowed string gesture.

Moving Finger
Like the bow, the left hand finger can be moved along the string while pressed down against the fingerboard.It is therefore straightforward to introduce gestures such as glissando, where the finger slides up or down along a significant portion of the string, and vibrato, by oscillating the finger along a central position, at a sub-audio rate.Figure 10 shows the spectrogram for a glissando gesture, followed by a vibrato; the associated finger position is displayed underneath the spectrogram for reference.

Natural Harmonics
If the finger downwards force is set small enough so that the string does not touch the fingerboard, but large enough so that the finger has a grip on the string, it is possible to bow natural harmonics by placing the finger at an integer ratio of the string length.Frequency (Hz) Figure 9. Spectrogram of the synthetic sound produced by bowing a cello string with varying downwards force f n ext w , tangential force f n ext u , and position along the string x n B .Higher harmonics appear when increasing the bow force and bowing closer to the bridge ((i), between the two purple dashed lines).A bow tangential force increase does not influence the spectral content of the sound, but increases its global amplitude ((ii), between the two red dashed lines).The free string oscillations decay as soon as the bow is lifted up (iii).The green dashed line marks the start of steady-state bowing.

Bouncing Bow
The bow spontaneously bounces against the string, if the initial vertical bow velocity is high enough (that is if the bow is pushed down on the string too fast, typically with a downwards initial velocity of 1-10 m/s), and the downwards force f n ext w,B is too small to immediately compensate the restoring force due to the tension of the string.Figure 11 shows the resulting waveform, with alternation of sustained oscillations when the bow is in contact with the string, and decaying free string oscillations.With more refined control over the gesture parameters, it is indeed possible to simulate spiccato playing.

Rattling
In the absence of a bow, the string can be "plucked" by either initialising the string displacement away from its resting position, or feeding an external force signal in the form of a raised half-cosine into the string at the desired plucking position [39].If the string is plucked hard enough in both polarisations at the same point, that is equivalent to pulling the string both aside and away from the fingerboard, it will both collide and rub against the fingerboard; the resulting sound is that of the string rattling against the fingerboard, as can be heard in some double bass techniques.Pizzicato playing is achieved with a lighter pluck.

Energy Balance
To demonstrate the balanced numerical energy of the system, we monitor the variations of the quantity E n defined in Equation (68) along a bowed string simulation, where the bow and finger positions, forces, and the bow tangential force are all time-varying.We normalise E n with respect to the mean energy Hn , averaged over the duration of the simulation.As seen in Figure 12b, E n is invariant until the 10th significant digit.The finite error tolerance for the nonlinear system solvers, as well as the accumulation of round-off error, seem to prevent reaching true floating point accuracy.
. Numerical energy balance for the whole system.(a) in both polarisations, the energy is balanced at all times by the cumulative supplied and withdrawn power; (b) the total energy is conserved to the 10th significant digit, when normalised with respect to the mean energy.The apparent trend is due to accumulated round-off error.

Discussion
This work introduces a novel two polarisation bowed string physical model, including nonlinear damped contact and friction interactions with one bow, one stopping finger, and the distributed fingerboard.An energy-balanced finite difference scheme was presented, resulting in a two-step time recursion.
The inclusion of lumped and distributed interactions with the player (through the bow and finger) and fingerboard allows for simulating full articulated gestures in a relatively instinctive and concrete way, without having to rely on somewhat abstract hypotheses -an eloquent example being the finger model, that accounts for several important phenomena that would be difficult (impossible in fact, for some) to model with a simple absorbing string termination.Here, the simple action of pushing a finger down onto the string results in damped dynamic behaviour in both polarisations, variations of the string's speaking length, possible slipping of the string while captured, while the portion of the string between the nut and finger is still realistically oscillating, and responding to the excitation.
However, an important aspect of gestural control in bowed string playing resides in real-time adjustments of playing parameters during note production.The musician relies on immediate feedback from his instrument, adapting its playing accordingly.Our model, even with the aforementioned possible optimisations, does not run in real-time, making gesture design rather difficult.An interesting study could make use of recorded data from sensors during various gestures, feeding them as time series into the model, rather than our current breakpoint functions.This would help calibrate the model, on the string side as well as for the gestural functions [15,35].
The adaptation of this work to the more realistic case of multiple fingers (and, why not, multiple bows) is trivial, as well as the design of a multiple string environment.The mutual coupling of such strings is the obvious next step, moving towards the design of a full instrument, where strings communicate with a flexible body and with each other through a bridge.The simulated body will eventually take a great part in both the virtual instrument's playability, introducing vibrations feeding back into the strings, and the realism of the synthetic sound; to address the latter, and get a glimpse at the potential of a full instrument model, we have convolved a dry output signal from this string model with the impulse response of a cello body, a principle that is still used to this day for high quality sound synthesis [58].The resulting sound example can be found online, amongst other relevant samples obtained from the model [41].

Figure 1 .
Figure 1.String displacement in two polarisations.The horizontal polarisation (u(x, t)) corresponds to the plane containing the bow and the string; the vertical polarisation (w(x, t)) is orthogonal to this plane.

Figure 2 .
Figure 2. Visualisation of the penetration variables ∆ F and ∆ B .(a) ∆ F (t) represents the distance by which the finger deforms under the surface of the string; (b) ∆ B (t) can be interpreted as the deformation of the flexible bow hair against the string.

Figure 6 .
Figure 6.Friedlander construction to solve for the bow relative velocity.The solutions for v nrel,B lie at the intersections of ϕ B (black) and η B (blue).Case (a): sticking; case (b): slipping.Under certain conditions (case (c)), there are potentially multiple solutions; this ambiguity is resolved by choosing the solution on the same branch of ϕ B as the previous time step[40].i. sticking; ii.slipping; iii. is always unstable, and is not seen in bowed string motion.

Figure 8 .
Figure 8.Typical gesture simulation.A finger (a) captures the string against the fingerboard (b); the bow then comes down (c), and starts bowing across (d).The string is excited along its speaking length, and some residual oscillations are observed between the nut and the finger.

Figure 10 .
Figure 10.Spectrogram (a) of a synthesised gesture, showing a glissando along a cello string followed by a vibrato, accompanied the by variations of the finger position (b).

Figure 11 .
Figure 11.Bow bouncing against a violin string.The shaded areas are those where the bow is in contact with the string; elsewhere, the free string oscillations decay.Note the rounding of the waveform moments after the bow detaches itself, due to frequency-dependent loss modelling.The bow bouncing frequency is related to the bow parameters (M B , K B , α B , β B ).