aerophones in flatland - microsoft.comย ยท gpu implementation r g b a ๐ ๐ฏ ๐ฏ state per...
TRANSCRIPT
![Page 1: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐ ๐ฏ ๐ฏ state Per Fragment ๐ ๐ ๐ ๐ ๐ ๐ State structure stores: โข ๐ฝvalue (boundary-ness)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/1.jpg)
![Page 2: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐ ๐ฏ ๐ฏ state Per Fragment ๐ ๐ ๐ ๐ ๐ ๐ State structure stores: โข ๐ฝvalue (boundary-ness)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/2.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/3.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/4.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/5.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/6.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/7.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/8.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/9.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/10.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/11.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/12.jpg)
![Page 13: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐ ๐ฏ ๐ฏ state Per Fragment ๐ ๐ ๐ ๐ ๐ ๐ State structure stores: โข ๐ฝvalue (boundary-ness)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/13.jpg)
![Page 14: Aerophones in Flatland - microsoft.comย ยท GPU Implementation R G B A ๐ ๐ฏ ๐ฏ state Per Fragment ๐ ๐ ๐ ๐ ๐ ๐ State structure stores: โข ๐ฝvalue (boundary-ness)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/14.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/15.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/16.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/17.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/18.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/19.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/20.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/21.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/22.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/23.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/24.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/25.jpg)
๐๐ฆ
๐๐ฅ
๐๐ฆ
๐๐ฅ
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/26.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/27.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/28.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/29.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/30.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/31.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/32.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/33.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/34.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/35.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/36.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/37.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/38.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/39.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/40.jpg)
โ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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/41.jpg)
โ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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/42.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/43.jpg)
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)](https://reader031.vdocuments.site/reader031/viewer/2022041407/5e18713c34e0fc720629eefb/html5/thumbnails/44.jpg)
Thank You! Questions?
Special thanks for providing performances โ
โข Kyle Rowan, clarinetist
โข Paul Hembree, trumpeter