1 The NESS Project Work supported by the European Research Council MUSICA Seminar Series University...
Preview:
Citation preview
- Slide 1
- Slide 2
- 1 The NESS Project Work supported by the European Research
Council MUSICA Seminar Series University of Edinburgh 13 February
2013 Stefan Bilbao, Paul Graham, Alan Gray, Brian Hamilton Kostas
Kavoussanakis, James Perry, Alberto Torin, and Craig Webb Acoustics
Group EPCC
- Slide 3
- 2 Background 2
- Slide 4
- 3 3
- Slide 5
- 44 The HPC Centre of the University of Edinburgh 70 staff 4M
turnover (almost) all from external sources HPC Research Training
Visitor Programmes European Projects Facilities Technology
Transfer
- Slide 6
- 5 Distributed digital asset management system Accurate
supervision of the progress of a film production Secure asset
transfer between entities working on the film Complements existing
film editing software (e.g. Nucoda) Software support for current
day-to-day manual workflow processes Case Study: FilmGrid 5 Photo
by Brad & Sabrina
- Slide 7
- 6 Case Study: FilmGrid 6 Photo by Jeremy Keith
- Slide 8
- 77 Academic: Permanent staff with degrees in various
backgrounds: Physics, Computer Science, Mathematics, Chemistry,
Biology Education and Training provider: MSc in HPC Bespoke
training on HPC, accelerators, multi-core computing Strengths:
Project management Interdisciplinary projects: small pilots,
distributed programmes User support Technical: Software development
for academia and industry Code optimisation (serial, parallel,
accelerators) Simulation and modelling Wide language, operating
system and computer architecture expertise
http://www.epcc.ed.ac.uk/
- Slide 9
- 8 NESS An ERC funded project (PE6: Informatics), running at
Edinburgh, 20122017. The goal: digital sound synthesis of musical
sound Today: Digital sound synthesis and physical modeling Ness
project: structure and activities Group member presentations
- Slide 10
- 9 Digital Sound Synthesis A longstanding attempt to move away
from the use of recorded sound (sampling) Analogous to computer
graphics rendering? At the philosophical levelyes At the technical
levelnot really! Sampling Synthesis
- Slide 11
- 10 Abstract Digital Sound Synthesis Early synthesis methods
(1950s1960s): based on simple heuristic building blocks---
efficient and easy to program Frequency modulation synthesis: a
very successful variant! Still extremely popular! Can be difficult
to control (lots of user input), and sound quality is generally
very artificial! Wavetables: Sinusoidal Oscillators: FM trumpet FM
bell
- Slide 12
- 11 Physical Modeling Sound Synthesis Physical models: based on
physical descriptions of musical objects can be computationally
demanding potentially very realistic * sound control parameters:
few in number, and perceptually meaningful * realism needs a good
definition, if there is not a real-world reference! A fair degree
of hybridization abounds: physical modeling + sampling is analogous
to, say, motion capture!
- Slide 13
- 12 Methods: Lumped Mass Spring Networks networks of
masses/springs/dampers + simple ODE solver basis for Cordis and
Cordis Anima systems (Cadoz and collaborators, Grenoble, from 1979
to present!) generally abstract (modular), but if put in a regular
arrangement, it is possible to simulate distributed objects
(strings, membranes, etc.) Earliest large scale attempt at physical
modeling synthesis: Cymbal Timpani
- Slide 14
- 13 Methods: Modal Synthesis b asis for Modalys synthesis system
(IRCAM, 1985present) geared towards linear objects (with
interesting extensions to the nonlinear caseVolterra series, e.g.)
a lot of offline precomputation (modal shapes, frequencies) A
different approach: decompose dynamics of vibrating object into
modes
- Slide 15
- 14 Methods: Digital Waveguides Yet another approach: decompose
dynamics of vibrating object into traveling waves developed at
CCRMA, Stanford University, 1985 present roots in early
scattering-based speech synthesis methods (Kelly Lochbaum, 1962)
basis for many synthesis systems, including Yamaha VL1 (1994) meant
for simulating distributed linear objects in 1D (strings, acoustic
tubes)extremely efficient! Guitar
- Slide 16
- 15 Methods: Time-stepping Methods (FDTD, FVTD, etc.) The
obvious approach: represent dynamics of vibrating object on a grid
and integrate using direct solvers distinct roots in musical
acoustics investigations, and a few early synthesis attempts (Ruiz,
vibrating string, 1969!) tools exist to handle virtually any
systemmuch more general than other methods buta lot of
specialization work for audio applications
- Slide 17
- 16 NESS: Target Systems Brass Instruments Electromechanical
Instruments Nonlinear Plate and Shell Vibration Trying to span the
full range of musical acoustic systems difficult to approach using
other physical modeling techniques Trumpet Gong Cymbal
- Slide 18
- 17 NESS: Target Systems Modular Synthesis Environments
Embeddings and Spatialization Room Acoustics Modelling Excerpt:
Orbit, G. Delap, 2009 Snare Drum
- Slide 19
- 18 Sample rates and bandwidth A basic constraint for audio:
choice of sample rate F s, and time step k = 1/F s Constraint 1
(necessary): Need to be able to fully render audio up to limits of
human audio perception, so: F s 40 000 Hz, k 1/40000 s Constraint 2
(desirable): Dont want to render audio above this range, for
efficiency reasons, so: F s 40 000 Hz, k 1/40000 s Time step is
smalllots of computational work to do Some aspects of time stepping
methods need to be reconsidered in this light!
- Slide 20
- 19 Grids and Bandwidth Limitation Suppose operation at a given
sample rateneed to choose the grid carefully, for perceptual
reasons: decrease in operation count Increase in grid spacing
decrease in output bandwidth an additional constraint in numerical
designcertain techniques (grid refinement) are dangerous in an
audio context x 2 x 4 Simple string model
- Slide 21
- 20 Audibility of Numerical Dispersion Example: thin bar, simple
explicit FD method: Mistuning! Exact: 44100 Hz: Phase velocity
Exact and Numerical Careful design necessarymethods with free
parameters allow a means of tuning the schemeat the price of linear
system solutions (hard on GPU!) Numerical Dispersion: speed of wave
propagation is incorrect, numerically!
- Slide 22
- 21 Numerical Instability A critical concern in synthesis design
for non expert users Linear membrane instability Nonlinear shock
wave instability Not too hard to deal with Harder to deal with
without compromising audio output
- Slide 23
- 22 Modular Instability Consider two rudimentary systems
Problems can appear here if the connection is not handled properly:
Stable Connection Unstable Connection Mass/ spring Ideal String
Difficulties are compounded for more complex systems
- Slide 24
- 23 Energy-based Stability Numerical energy conserved to machine
accuracy: Extremely useful in debugging, and in designing complex
modular systems: giving a stability guarantee
- Slide 25
- 24 Computational Costs and HPC Audio sample rates are high: 44
100 Hz, 48 000 Hz, 92 000 Hz Flop rates/memory requirement scale as
power of sample rate (2,3,4) arithmetic operations/second output,
at 48 000 Hz: optimal realtime performance on commercially
available single core Nonlinear plates/shells Brass instruments
Electromechanical Instruments 10 6 10 7 10 8 10 9 10 10 11 10 12 10
13 10 14 10 15 10 16 10 17 Small embeddingsSmall rooms Concert
Halls Musical use/experimentation: reasonable compute time (no
overnight jobs!) Solutions: Parallel implementations (GPU, e.g.)
New algorithmic issues: parallelizability, memory management,
stability in finite precision
- Slide 26
- 3-D Room Acoustics (Brian Hamilton, Acoustics Group) 25
- Slide 27
- Simulating 3-D Room Acoustics A wave is a spatial field that
changes over time Sound propagates as a pressure wave Simulating
sound wave propagation: Pick some 3-D lattice (grid) of points
Calculate sound pressure at each point Iterate in time... Problem
to solve: How to do this as efficiently as possible? Any audible
artifacts? How to minimise them? 26
- Slide 28
- Spatial Lattices 27 Which to choose?
- Slide 29
- Spatial Lattices 28 Many choices...
- Slide 30
- Spatial Lattices 29 Waves should propagate uniformly in every
direction Symmetry is key! Stacking fruit
- Slide 31
- Numerical Dispersion Numerical dispersion wave speed error
Simulated waves propagate along axes of grid Wave speed depends on
grid orientation!
- Slide 32
- Example: Without Dispersion 31
- Slide 33
- Example: With Dispersion 32
- Slide 34
- Wave Speed Error 33 We want the error to be isotropic
(direction independent) Delicate cancellation of error in space and
time
- Slide 35
- Wave Speed Error 34
- Slide 36
- Wave Speed Error 35
- Slide 37
- Audible Artifacts: Examples 36 Castanet (clean) Castanet
(dispersive) Guitar (clean) Guitar (dispersive)
- Slide 38
- 37 Percussion Instruments MembranesPlates and Shells L Low
excitation! NL High excitation! L = Linear, NL = Non-linear
(Alberto Torin, Acoustics)
- Slide 39
- 38 Linear Plates w = transverse displacement = density, H =
thickness, D = stiffness parameter - There is no interaction
between different modes!
- Slide 40
- 39 Non-linear Plates Add non-linear terms to previous equation
F = Airys function, E = Youngs modulus von Krmn equations for
non-linear plates
- Slide 41
- 40 Non-linear Plates - Energy exchange between different modes
is allowed! - Crashes, Pitch glide effects
- Slide 42
- 41 Air coupling Add the pressure on the plate Introduce the
acoustic field , that obeys the wave equation Add coupling
conditions between the air and the plate
- Slide 43
- 42 Numerical schemes Stability and Energy conservation Need for
a Fast algorithm Bottleneck of the code is the solution of a sparse
linear system (matrices involved have a few non-zero entries) We
can use iterative solvers works well for the simple plate needs
extra work when air coupling is present
- Slide 44
- 43 Example: MultiPlate3D Roll gesture Several strikes
- Slide 45
- 44 What is a GPU? Graphics processing unit Originally designed
for rendering 3D graphics fast Now also used for general purpose
computations (GPGPU) Very well suited for problems like ours
Especially the 3D ones Same simple computation required for huge
number of points 44
- Slide 46
- 45 Porting Process Port from Matlab to C Faster than Matlab,
will run anywhere Easier to debug and modify than CUDA Good basis
for CUDA port 45 Matlab C CUDA Optimized CUDA Port from C to CUDA
Some code (e.g. setup code) remains in C Time critical main loop is
ported to CUDA Optimize CUDA code Gain high performance (as far as
possible)
- Slide 47
- 46 Example 3dabc code Simulates a 3D box of air with various
boundary conditions Run times: 46 VersionRun time (s)Speed up
Matlab311x C0.44170x CUDA0.0786395x Matlab version not optimised
Small simulation size - would expect larger speed-up from C to CUDA
for large size
- Slide 48
- 47 Large-scale 3D virtual acoustics (Craig Webb, Acoustics)
Computing 3D wave propagation in a virtual space. Dynamic
simulations, with full wave behavior. Can inject dry audio to
produce reverberation. Or embed virtual instruments.
- Slide 49
- 48 Computation Size At a sample rate of 44.1kHz : 1 cubic metre
requires 422 thousand grid points. 1 second of output requires 185G
floating-point operations. 2,000 cubic metres 370T operations. A 10
second simulation 3.7P operations, thats 3,700,000,000,000,000. Use
multiple GPU cards to accelerate the model. With 4 cards, speedup
over serial C code is in the range x100 ~ x140. Under an hour per
second of simulation, instead of 5 days in serial C. Requires 10Gb
of memory at single precision.
- Slide 50
- 49 Hall Simulation: Dry Audio Input Audio examples of 2,000
cubic metre hall 1.Dry guitar input : Output : 2.More guitars :
3.Opera singer (anechoic) : Output : 1.Can move sound around during
runtime :
- Slide 51
- 50 Embedded Instruments Timpani Drum The timpani drum is a good
test case for 3D physical modeling. We use a non-linear circular
membrane, attached to a parabolic shell with fixed boundaries. This
is then placed inside the room simulations, and we can model any
number of timpani inside the space. These can then be played
together, by specifying the timing and type of strikes on each
drum. Audio examples One Timpani : Two Timpani : Three Timpani :
Four Timpani :
- Slide 52
- 51 Creative Uses: Composition A new world of sound for
musicians and composers---fully multichannel, synthetic music
environments But---a learning curve! As for any mature instrument
design
- Slide 53
- 52 Control and Interfaces NESS: audio only! Not really any
attempt at building live, performable instruments, or developing
complex interfaces Two subsequent levels of work: Figuring out
useful, parsimonious ways of representing input UI design
(simple!)
- Slide 54
- 53 NESS Thank you for your attention Questions? 53