aerophones in flatland - microsoft.comย ยท gpu implementation r g b a ๐‘ ๐ฏ ๐ฏ state per...

44

Upload: others

Post on 22-Oct-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)
Page 2: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Aerophones in FlatlandInteractive Wave Simulation of Wind Instruments

Andrew Allen

Nikunj Raghuvanshi

Page 3: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Spectrogram

Simulation Domain

Mouthpiece

Page 4: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Wind Instruments

BellMouthpiece Bore, Toneholes

reedmouth bore

Non-linear Linear

Feedback

Resonant Cavity

Page 5: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Excitation models: Single Reed (Clarinet)

Dalmont, J.P., Gilbert J., and Ollivier, S. 2003.

Page 6: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Excitation models: Lips (Trumpet)

Adachi and Sato. 1996.

Page 7: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Excitation models: Air Jet (Flute)

de La Cuadra. 2006.

Page 8: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Bell

Realtime synthesis: Digital Waveguides

Bell radiation

Mouthpiece Bore

breath pressure

+shift

shift

+

ร— Bell reflection

SMITH, JULIUS O. 2010. Physical Audio Signal Processing.

http://ccrma.stanford.edu/หœjos/pasp/

(online book, accessed Jan 2014).

Page 9: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Bell

Realtime synthesis: Digital Waveguides

Bell radiation

Mouthpiece Bore

breath

+shift

shift

+

ร—

Non-linear

excitation model

Bell reflection

= frequency-dependent filter

Page 10: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Bell

Realtime synthesis: Digital Waveguides

Bell radiation

Mouthpiece Bore

breath

+

Tonehole

radiation

Tonehole

reflection

Tonehole

shift

shift

+

ร—

Non-linear

excitation model

Bell reflection

Tonehole

radiation

Tonehole

reflection

Tonehole

= frequency-dependent filter

Page 11: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Bell

Our approach

Bell radiation

breath pressure

Tonehole

radiation

Tonehole

reflection

shift

shift

Bell reflection

Tonehole

radiation

Tonehole

reflection

2D wave simulation on GPU

Mouthpiece Bore

Color = pressure

Borrow and adapt

Non-linear

excitation model

+

+

ร—

Non-linear

excitation model

Page 12: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)
Page 13: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)
Page 14: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Advantages

โ€ข Signal processing networks require expertise to design and ensure physical plausibility.

โ€ข Geometric manipulation is intuitive.

โ€ข Guaranteed physical plausibility.

โ€ข Lower expertise bar for musical experimentation.

Page 15: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Challenges

โ€ข System is driven non-linearly and has perceptually salient transients (note beginnings/ends).

โ€ข Direct time-domain finite-difference solution.

โ€ข Standard finite difference generates artifacts on changing geometry.

โ€ข Need millimeter-scale resolution.

โ€ข Numerical stability requires small time-steps for wave equation.

โ€ข ~3.8mm resolution at 128,000Hz on the GPU.

Page 16: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Linear Wave Equation

๐œ•๐‘

๐œ•๐‘ก+ ๐œŽโ€ฒ๐‘ = โˆ’๐œŒ๐‘2๐›ป โˆ™ ๐ฏ

๐›ฝ๐œ•๐ฏ

๐œ•๐‘ก+ ๐œŽโ€ฒ๐ฏ = ๐›ฝ2

โˆ’๐›ป๐‘

๐œŒ+ ๐œŽโ€ฒ๐ฏ๐‘

(๐œŽโ€ฒ = 1 + ๐›ฝ โˆ’ ๐œŽ)

Page 17: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Perfectly matched layer (PML)

๐œ•๐‘

๐œ•๐‘ก+ ๐œŽโ€ฒ๐‘ = โˆ’๐œŒ๐‘2๐›ป โˆ™ ๐ฏ

๐›ฝ๐œ•๐ฏ

๐œ•๐‘ก+ ๐œŽโ€ฒ๐ฏ = ๐›ฝ2

โˆ’๐›ป๐‘

๐œŒ+ ๐œŽโ€ฒ๐ฏ๐‘

(๐œŽโ€ฒ = 1 + ๐›ฝ โˆ’ ๐œŽ) ๐œŽ โ‰  0

๐œŽ = 0

Page 18: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Dynamic Geometry

Tone Holes, Valves, Slides, Mutes

Page 19: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Abrupt geometric changes: clicks

Page 20: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Our formulation (time-varying PML)

โ€ข ๐›ฝ(๐’™, ๐‘ก) โˆˆ [0,1] introduces smoothly-varying dynamic geometry.

โ€ข ๐ฏ๐‘ enforces boundary conditions and input flow from mouthpiece.

โ€ข Handles all phenomena we model.

๐œ•๐‘

๐œ•๐‘ก+ (1 โˆ’ ๐›ฝ + ๐œŽ)๐‘ = โˆ’๐œŒ๐‘2๐›ป โˆ™ ๐ฏ

๐›ฝ๐œ•๐ฏ

๐œ•๐‘ก+ 1 โˆ’ ๐›ฝ + ๐œŽ ๐ฏ = ๐›ฝ2

โˆ’๐›ป๐‘

๐œŒ+ (1 โˆ’ ๐›ฝ + ๐œŽ)๐ฏ๐‘

Page 21: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Our formulation (time-varying PML)

๐›ฝ๐œ•๐ฏ

๐œ•๐‘ก+ 1 โˆ’ ๐›ฝ + ๐œŽ ๐ฏ = ๐›ฝ2

โˆ’๐›ป๐‘

๐œŒ+ 1 โˆ’ ๐›ฝ + ๐œŽ ๐ฏ๐‘

๐›ฝ๐œ•๐ฏ

๐œ•๐‘ก+ 1 โˆ’ ๐›ฝ + ๐œŽ ๐ฏ = ๐›ฝ2

โˆ’๐›ป๐‘

๐œŒ+ 1 โˆ’ ๐›ฝ + ๐œŽ ๐ฏ๐‘

๐›ฝ = 1: Air

๐›ฝ๐œ•๐ฏ

๐œ•๐‘ก+ 1 โˆ’ ๐›ฝ + ๐œŽ ๐ฏ = ๐›ฝ2

โˆ’๐›ป๐‘

๐œŒ+ 1 โˆ’ ๐›ฝ + ๐œŽ ๐ฏ๐‘

๐›ฝ = 0: Boundary

Smoothly interpolates

between Boundary and

Air state in every cell(๐œŽ = 0 inside domain)

Page 22: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Our formulation: natural transients

โ€ข The transition rate of ฮฒ controls the smoothness of the transition.

โ€ข Results in a simple conditional-free update equation for the entire domain.

Off On

Page 23: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Wall losses

โ€ข 2D simulations support transverse resonances

โ€ข Wall loss modeling is required (unlike 1D models)

Off On

Page 24: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

High-amplitude non-linearity

โ€ข Brass instruments have high amplitudes inside the bore.

โ€ข Makes brass sound brighter.

Off On

Page 25: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

๐’—๐‘ฆ

๐’—๐‘ฅ

๐’—๐‘ฆ

๐’—๐‘ฅ

GPU Implementation

โ€ข Solving Finite Difference uses a 5-point 2D stencil.

โ€ข Neighbor pressures and velocities are used to update center pressure.

๐‘๐ฟ

๐‘๐ท

๐‘๐‘…

๐‘๐‘ˆ

๐‘

Page 26: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

GPU Implementation

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

Per Fragment

๐’—๐‘ฆ

๐’—๐‘ฅ๐‘

๐’—๐‘ฆ

๐‘ ๐’—๐‘ฅ

State structure stores:

โ€ข ๐›ฝ value (boundary-ness)

โ€ข ๐œŽ value (PML)

โ€ข Is Excitation?

โ€ข Is Listener?

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Output pressure written out in block in reserved space on FBO

Page 27: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Framebuffer Texture

GPU Implementation

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Output pressure written out in block in reserved space on FBO

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

Per Fragment

Page 28: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

1 2

3 4

GPU Implementation

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Output pressure written out in block in reserved space on FBO

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

Framebuffer Texture

Per Fragment

Page 29: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

1 2

3 4

GPU Implementation

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Output pressure written out in block in reserved space on FBO

Framebuffer Texture

๐‘ก โˆ’ 2

๐‘ก๐‘ก + 1

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

๐‘ก โˆ’ 1

Page 30: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

1 2

3 4

GPU Implementation

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Output pressure written out in block in reserved space on FBO

Framebuffer Texture

๐‘ก + 1

๐‘ก โˆ’ 1๐‘ก

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

๐‘ก โˆ’ 2

Page 31: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

1 2

3 4

GPU Implementation

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Output pressure written out in block in reserved space on FBO

Framebuffer Texture

๐‘ก

๐‘ก โˆ’ 2๐‘ก โˆ’ 1

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

๐‘ก + 1

Page 32: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

1 2

3 4

GPU Implementation

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Output pressure written out in block in reserved space on FBO

Framebuffer Texture

๐‘ก โˆ’ 1

๐‘ก + 1๐‘ก โˆ’ 2

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

๐‘ก

Page 33: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

1 2

3 4

GPU Implementation

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Output pressure written out in block in reserved space on FBO

Framebuffer Texture

๐‘ก โˆ’ 2

๐‘ก๐‘ก + 1

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

๐‘ก โˆ’ 1

Page 34: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

1 2

3 4

GPU Implementation

Framebuffer Texture

๐‘ก โˆ’ 2

๐‘ก๐‘ก + 1

R G B A

๐‘ ๐ฏ๐‘ฅ ๐ฏ๐‘ฆ state

๐‘ก โˆ’ 1

โ€ข Values for each cell are stored in color channels.

โ€ข Simulation grid is represented as a 2D texture.

โ€ข Four copies of the simulation are stored in one large texture.

โ€ข Ping-pong with R/Ws on one texture.

โ€ข Write output pressure (sound) to reserved space on the FBO.

Page 35: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Clarinet

Chalumeau melody Altissimo melody (register key)

Page 36: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Saxophone

Simple melody Fast Squeaks

Page 37: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Flute

โ€œRobotโ€ Performer Wind Controller Interface

Page 38: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Bugle & Trumpet (brasses)

Lips Overblowing Valve System

Page 39: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Trumpet w/o Bell and w/ Mutes

Bell On/Off Straight, Cup and Harmon Mute

Page 40: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

โ€œSlide Whistleโ€ and โ€œMenorahโ€

Dynamic Bore Geometry Interlocking Valve System

Page 41: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

โ€œTuba?โ€ and โ€œHybridโ€

Implausible-to-construct Instrument Reed, Lips, Valve, Tonehole, Bell

Page 42: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Comparisons to STK (Digital Waveguides)

Low note High note

Page 43: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Conclusions and Future Work

โ€ข First system for real-time 2D simulation of Aerophones

โ€ข Improving the control of excitation mechanisms

โ€ข Automatic tuning of geometry

โ€ข Generalized excitation model

โ€ข Modeling of larynx/syrinx (speech synthesis/bird song)

Page 44: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐‘ ๐ฏ ๐ฏ state Per Fragment ๐’— ๐‘ ๐’— ๐’— ๐‘ ๐’— State structure stores: โ€ข ๐›ฝvalue (boundary-ness)

Thank You! Questions?

Special thanks for providing performances โ€“

โ€ข Kyle Rowan, clarinetist

โ€ข Paul Hembree, trumpeter