Post on 14-Jan-2016
description
A Modular Percussion Synthesis Environment
Stefan Bilbao
Acoustics and Fluid Dynamics Group / Music
University of Edinburgh
DAFX-09,
Como, Sept., 2009.
1. Modular synthesis2. Percussion synthesis: Components and connections3. FD schemes/computational issues and costs4. Sound examples
Modular synthesis: strategies
Goal: arbitrary connections of predefined “canonical” musical objects
Many different methodologies: Modal Scattering, including waveguides, WDFs Lumped networks Direct time-domain methods (FD, FEM, spectral, etc.)
Many distinctions, in terms of Computability (uniqueness/existence of solutions) Range of applicable systems Precomputational load Memory requirements Stability guarantees
Today: percussion…
Components: Bars
Basic parameter set:
]1,0[22 102 xuuuu txxtxxxxtt
Stiffness Freq.-ind loss
Freq.-dep loss
density
E Young’s modulus
A cross-sectional area
I moment of inertia
L length
loss parameters
Scaling…
= (EI/AL4)1/2
stiffness
loss
M Mass (ratio)
Reduced equivalent parameter set:
Linear, thin, uniform bar:
+ boundary conditions: clamped, pivoting, free, etc.
PDE model:
Can relax assumptions: non-uniform, thick, nonlinear…
Components: Plates
Basic parameter set:
]/1,0[],0[),(
22 210
222
yx
uuuu tttt
density
E Young’s modulus
H thickness
Poisson’s ratio
Lx, Ly dimensions
loss parameters
Scaling…
= (EH2/(1-2)Lx2Ly
2)1/2 stiffness
loss
Poisson’s ratio
aspect ratio
M mass (ratio)
Reduced equivalent parameter set:
Linear, thin, uniform rectangular plate:
+ boundary conditions: clamped, pivoting, free, etc.
PDE model:
Can relax assumptions: non-uniform, thick, nonlinear, geometry…
Connections Distributed connections between objects (1 and
2, of bar or plate type): Connection characterized by density
distributions (in simplest case delta functions)
Connection described, in terms of PDEs, as
)()( )2()2()1()1( xx
)2()2()2(
)1()1()1(
ctt
ctt
Fu
Fu
tcF 2321
20
)2()2()2()1()1()1( xx dudu )2(
)1(
)2()1(
ccc FM
MFF
Generalized relative displacement Forces equal and opposite
Spring/damper connection:
where
Connection is dissipative (passive).
Linear spring
nonlinear spring (cubic)
damper
Excitations/Output In general, for percussion, would like a
mallet model… Because collision times are very short,
sufficient to use a fixed contact distribution, and forcing function or pulse.
Maximum of force pulse amplitude Duration of pulse brightness
)()( )()( tFu inintt x
xxx dutto tout )(),()(
output: scales with velocity over an output distribution:
Note: output distribution can be time-varying…multiple outputs can be taken simultaneously.
Difference schemes: components
11 nmm
nmm
nm uCuBu
nmu
Unknown (current) state
Previously computed state
Consider a network of M unconnected elements, under zero-input conditions.
For the mth object, can develop an explicit difference scheme directly:
mm CB ,
NN
M
NN
M
N
M
C
C
C
B
B
B
u
u
u
0
0
0
0 11
1
1
11 nnn uCuBu
where:
is state of mth object, defined over Nm points are sparse matrices, of size Nm x Nm
A good idea to concatenate these schemes…
where
Difference Schemes: Connections
112114111
20
22 nnnnnnnn
c kF
tcF 2341
20
)2()2()2()1()1()1( xx dudu
Unknown appears “linearly,” when previous state is known…guarantee of existence/uniqueness of
solutions…
Many possible discretizations…
nTnTn2111 ueue
For a set of Q connections, in vector form:
111
1
Q
n
Q
nc
n
Q
n bFMη 11
N
n
NQQ
n uEη
nnc
nn bFm 1
To relate generalized relative displacements to state:
Known at time step n+1 (previously computed)
Thus:
Explicit nonlinear update form
nc
ne
nnn JFKFuCuBu
11 n
cnn JFau 1
nnc
nn bFMη 1nn Euη
for n=1:Nf … read in current excitation data … eta1 = I*u1; eta2 = I*u2; eta1sq = rvec.*(eta1).^2; temp = (mvec+eta1sq).*(IB*u1+IC*u2)+(nvec+eta1sq).*eta2; A = II+(M-diag(eta1sq))*IJ; F = A\temp; u = B*u1+C*u2+S*D+J*F; out(:,n) = Q*u; u2 = u1; u1 = u;end
nnn
cn EabFMEJ
When excitation/connections are present, update becomes…
previously computed/supplied externally)
Using force/displacement relations:
A compact run-time loop, at least in Matlab!
known, positive definite(diagonal for non-overlapping connections)
known
Thus: a unique update, involving a low-order linear system solution…
Numerical Energy Conservation
2/1sq fN
Under lossless conditions, this network conserves energy to machine accuracy…
Energy of PlatesEnergy of BarsEnergy of ConnectionsTotal Energy
Energy function is positive definite (not quadratic!) under the usual CFL stability conditions:
Bars:
Plates:
No further stability concerns due to connections…
a nonlinear numerical stability guarantee…
and a useful debugging feature!
sq fN
Basic configuration
A simple set of uncoupled bars…
Can vary boundary conditions
loss
striking points
Sound is very artificial…characteristic of raw linear systems!
Representative configurations
Conclusions and Perspectives
Direct time/space domain methods: a flexible alternative to standard physical modeling methods…
Compared with scattering methods: Handles multiple nonlinearities easily No topology/delay-free loop issues No global effects on network due to propagation of port-resistances…scheme is entirely local Simpler stability/existence/uniqueness results
Compared with modal methods A much better match to nonlinear problems…no linear system theory or frequency domain analysis concepts necessary IO/connections do not require recalculation of modal coefficients if varied Minimal precomputation (no eigenvalue problems to be solved) Minimal storage (no modal shapes/sets of coefficients to be stored) Multiple outputs generated at no extra cost!