Current Dissertation Draft may be found here.
This directory contains audio, animation, and code pointers relevant to the dissertation.
It is broken up by chapters (ordering and naming may lag edits to the document). The media is loaded on-demand; you may load clips individually, or click the link titled "Add all players for section" to load all the media for that chapter at once.
This page does require JavaScript to be enabled to generate audio links and players; please mail if you'd prefer a static version.
For questions or comments, please mail any of:
- travissk@ccrma.stanford.edu
- travisskare@gmail.com
Thank you!
-Travis
Videos
- Demo of GPU synthesizer Plugin (refreshed/v2)
- 240fps 16" Zildjian A EFX Crash (1)
- 240fps 16" Zildjian A EFX Crash (2)
- 240fps 18" Zildjian K Dark Thin Crash
- Modal Convolutional Variational Autoencoder - Latent space over training iterations (Animated .gif)
Chapter 1: Introduction
(No Media)Chapter 2: Drum Performance and Physics
Cymbal Samples:
Drum effect samples:
Chapters 3 and 4: Synthesis Methods and Extensions
Linear Modal Synthesis
Effect of Number of Modes
Psychoacoustic Mode Reduction with Critical Bands
Psychoacoustically-informed mode selection
You'll hear four sounds: baseline 2000 Modes, 690 modes (top-N), baseline 2000 Modes again, 690 modes chosen at maximum 35 per critical band.
Modal Effects
Note: these all affect a linear modal synthesis filter bank ringing with a cymbal-like noise distribution. In particular, nonlinear attack and "bloom" effects are absent at this stage.
Effect: Envelopes: Decay Rate Adjustment
Effect: Dynamic Adjustment/Tilt EQ
Effect: Distortion via clippers at output
Unmodified filter bank, followed by applied effect, demonstrating challenges of this approach.
Effect: Shimmer Approximation
Unmodified filter bank, followed by applied effect, followed by exaggerated effect.
Effect: Low-frequency modulation
Unmodified filter bank, followed by applied effect.
Nonlinear Simulations: Regimes as Multiple Levels
Digital Waveguide Mesh Animations
The following are animation .mp4 files for:- Rectangular 2D Mesh, lossless, no filtering
- Triangular-Shaped Rectilinear 2D Mesh, lossless, impulse excitation, (HF content)
- Triangular-Shaped Rectilinear 2D Mesh, band-limited (mallet) excitation
- Rectangular 2D Mesh, random reflectances in mesh
1D Digital Waveguide network, algorithmic fit
This sound example will be updatedNonlinear Simulations: Modal Coupling
Hi-hat articulations
2D DWGM Extensions
Core Sound Examples
Additional Sound Examples
Chapter 5: GPU Acceleration
See Appendix B for filter bank and related code.Chapter 6: Conclusion
(No Media)Appendix A
(No media)Appendix B
Source: GitLab
The best starting point is the simplified modal filter bank kernel: link
This can replace the kernel.cu in several CUDA Toolkit examples, and on Windows or Linux provides the basis for a black-box modal filter bank process on the machine. The "client responsibilites" (how to communicate with the process) are covered in the appendix. Parameters for maximum number of modes, for example, may be adjusted with compile-time constants in this example.Appendix C
CymbalVerb Demo
Dry drum loop, followed by effected drum loop, with pitch shift then stretch modifiers, then lengthening/shortening tail.
Appendix E: Applied Machine Learning
This Appendix currently links to items in other chapters.GAN samples may be found on the prior, outdated dissertation media page, Chapter 6..
Appendix F
The cymbal dataset may be downloaded in the following format(s):Physical microphone channels, mono wav, 44.1KHz
(2.3GB download, expands to 4.7GB on disk)
12 channels * several crash and ride cymbals at different velocities.
Crashes are separated by velocity and named {CymbalType_Crash_VelocityLevel_Channel}.
Bell strikes and mallet strikes/washes are contained in separate files.
- ccrma.stanford.edu mirror
- I'll upload an alternate mirror to some cloud storage