SlideShare a Scribd company logo
1 of 33
Download to read offline
UNDER THE HOOD: NATIVE
AUDIO PLUGINS FOR UNITY
NICK THOMPSON
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
CREATIVEINTENT
INTRODUCTION / BACKGROUND
▸ Electronic musician and programming
hobbyist since a young age.
▸ Studied computer science at Cornell
University.
▸ Started Creative Intent in 2017,
transitioning to audio programming
after 5 years in web.
▸ Shipped two distortion plugins,
Temper and Tantrum, and a third on
the way
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
GOALS
‣ Share with you a high level understanding of the
fundamentals of digital signal processing to enable further
exploration.
‣ Break down an intuitive example of a simple digital filter
to apply our fundamentals.
‣ Walk through and build together a fully functional
implementation of our simple filter.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
AGENDA / PRESENTATION
▸ From the top: what is sound?
▸ The Fourier Theorem
▸ Fundamentals of digital sampling
and the Nyquist Theorem
▸ Introduction to the architecture of
a digital signal processing unit
▸ Intuitive exploration of a first order
lowpass filter
"Waveform" by Scott Middler is licensed under CC by-nc-nd 3.0
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
AGENDA / WORKSHOP
▸ Introduction to JUCE and creating
the project template.
▸ Walkthrough of the project
template and configuring our
build.
▸ Exposing a parameter and (time
permitting) simple gain example.
▸ Implement our lowpass filter and
load it into Unity.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
WHAT IS SOUND?
SOUND| SOUND |
noun
vibrations that travel through the air or another medium and
can be heard when they reach a person's or animal's ear:
light travels faster than sound.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
WHAT IS SOUND?
VIBRATION | VĪˈBRĀSH(Ə)N |
noun
an instance of vibrating: powerful vibrations from an
earthquake | the big-capacity engine generated less
vibration.
‣ (Physics) an oscillation of the parts of a fluid or an elastic
solid whose equilibrium has been disturbed, or of an
electromagnetic wave.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
WHAT IS SOUND?
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
THE FOURIER THEOREM
A mathematical theorem stating that a continuous periodic
function may be expressed as the sum of a series of sine or
cosine terms.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
THE FOURIER THEOREM
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
THE FOURIER THEOREM
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
THE FOURIER THEOREM
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DIGITAL SAMPLING & THE NYQUIST THEOREM
▸ Through the Fourier Theorem, we’ve gone from a complex
physical sound to a single continuous sine wave.
▸ Computational processing cannot truly represent a
continuous function (we don’t have true infinity on a
computer), so we work with discrete values.
▸ Digital sampling (Analog to Digital Conversion) is the
process of translating a continuous signal to a discrete set
of sample points.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DIGITAL SAMPLING & THE NYQUIST THEOREM
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DIGITAL SAMPLING & THE NYQUIST THEOREM
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DIGITAL SAMPLING & THE NYQUIST THEOREM
▸ The Nyquist-Shannon Theorem states that we can perfectly
reconstruct a continuous signal, s(t), which contains
frequencies no higher than N hertz, by a series of samples
spaced 1/2N apart.
▸ In the musical context, this often accounts for the choice of
a sample rate of 44.1kHz– we can perfectly represent a
signal, in discrete time, whose highest frequency
component is at the top end of the human hearing range.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DIGITAL SAMPLING & THE NYQUIST THEOREM
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DIGITAL SAMPLING & THE NYQUIST THEOREM
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DIGITAL SAMPLING & THE NYQUIST THEOREM
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DSP ARCHITECTURE
Source: Apple Developer Documentation
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DSP ARCHITECTURE
Source: https://www.mathworks.com/help/audio/gs/export-matlab-plugin-to-a-daw.html
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
DSP ARCHITECTURE
void processBlock (float* inputData, float* outputData, int len)
{
for (int i = 0; i < len; ++i)
{
// This is where the magic happens
outputData[i] = f(inputData[i]);
}
}
So from a practical standpoint, this effectively means that our
job is to prepare a function that receives a large block of input
sample data and prepares the corresponding output data:
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
AN INTUITIVE LOWPASS FILTER
▸ A lowpass filter is a filter that allows components of a
signal below a given cutoff frequency to pass through
unaffected while attenuating components of a signal
higher than the cutoff.
▸ We’re going to look at a first-order lowpass filter (a one-
pole filter) that in practice has limited applicability but
provides for a great intuitive exercise.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
AN INTUITIVE LOWPASS FILTER
void processBlock (float* inputData, float* outputData, int len)
{
float lastOut = 0.;
for (int i = 0; i < len; ++i)
{
outputData[i] = lastOut + inputData[i];
lastOut = outputData[i];
}
}
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
AN INTUITIVE LOWPASS FILTER
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
AN INTUITIVE LOWPASS FILTER
http://www.micromodeler.com/dsp/
https://dsp.audio/editor/DPRVKDSZZLF6RTNnDp7A/1
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
AGENDA / PRESENTATION
▸ What is sound? & The Fourier
Theorem
▸ Fundamentals of digital sampling
and the Nyquist Theorem
▸ Introduction to the architecture of
a digital signal processing unit
▸ Intuitive exploration of a first order
lowpass filter
▸ Questions?
"Waveform" by Scott Middler is licensed under CC by-nc-nd 3.0
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
AGENDA / WORKSHOP
▸ Introduction to JUCE and creating
the project template.
▸ Walkthrough of the project
template and configuring our
build.
▸ Exposing a parameter and (time
permitting) simple gain example.
▸ Implement our lowpass filter and
load it into Unity.
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
THE PROJUCER
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
THE PROJUCER
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
THE PROJUCER
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
WORKSHOP
(Walking through the example in Xcode & Unity)
UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY
THANK YOU!
▸ Twitter/Insta: @creativeintent_
▸ Email: nick@creativeintent.co
▸ Website: http://creativeintent.co/
▸ Personal: http://nickwritesablog.com/

More Related Content

What's hot

Miniproject audioenhancement-100223094301-phpapp02
Miniproject audioenhancement-100223094301-phpapp02Miniproject audioenhancement-100223094301-phpapp02
Miniproject audioenhancement-100223094301-phpapp02mohankota
 
10 Minute Research Presentation on Ambisonics and Impact
10 Minute Research Presentation on Ambisonics and Impact10 Minute Research Presentation on Ambisonics and Impact
10 Minute Research Presentation on Ambisonics and ImpactBruce Wiggins
 
Audio compression 1
Audio compression 1Audio compression 1
Audio compression 1Rajat Kumar
 
Future Proof Surround Sound Mixing using Ambisonics
Future Proof Surround Sound Mixing using AmbisonicsFuture Proof Surround Sound Mixing using Ambisonics
Future Proof Surround Sound Mixing using AmbisonicsBruce Wiggins
 
IG2 Task 1 Work Sheet Elliot
IG2 Task 1 Work Sheet ElliotIG2 Task 1 Work Sheet Elliot
IG2 Task 1 Work Sheet ElliotElliotBlack
 
Fun with MATLAB
Fun with MATLABFun with MATLAB
Fun with MATLABritece
 
Distance Coding And Performance Of The Mark 5 And St350 Soundfield Microphone...
Distance Coding And Performance Of The Mark 5 And St350 Soundfield Microphone...Distance Coding And Performance Of The Mark 5 And St350 Soundfield Microphone...
Distance Coding And Performance Of The Mark 5 And St350 Soundfield Microphone...Bruce Wiggins
 
IG2 Task 1 Work Sheet Elliot
IG2 Task 1 Work Sheet ElliotIG2 Task 1 Work Sheet Elliot
IG2 Task 1 Work Sheet ElliotElliotBlack
 
MLConf2013: Teaching Computer to Listen to Music
MLConf2013: Teaching Computer to Listen to MusicMLConf2013: Teaching Computer to Listen to Music
MLConf2013: Teaching Computer to Listen to MusicEric Battenberg
 

What's hot (13)

Miniproject audioenhancement-100223094301-phpapp02
Miniproject audioenhancement-100223094301-phpapp02Miniproject audioenhancement-100223094301-phpapp02
Miniproject audioenhancement-100223094301-phpapp02
 
10 Minute Research Presentation on Ambisonics and Impact
10 Minute Research Presentation on Ambisonics and Impact10 Minute Research Presentation on Ambisonics and Impact
10 Minute Research Presentation on Ambisonics and Impact
 
Mastering
MasteringMastering
Mastering
 
Audio compression 1
Audio compression 1Audio compression 1
Audio compression 1
 
Future Proof Surround Sound Mixing using Ambisonics
Future Proof Surround Sound Mixing using AmbisonicsFuture Proof Surround Sound Mixing using Ambisonics
Future Proof Surround Sound Mixing using Ambisonics
 
Article pdf
Article pdfArticle pdf
Article pdf
 
Thingy oldd
Thingy olddThingy oldd
Thingy oldd
 
IG2 Task 1 Work Sheet Elliot
IG2 Task 1 Work Sheet ElliotIG2 Task 1 Work Sheet Elliot
IG2 Task 1 Work Sheet Elliot
 
Speech Compression
Speech CompressionSpeech Compression
Speech Compression
 
Fun with MATLAB
Fun with MATLABFun with MATLAB
Fun with MATLAB
 
Distance Coding And Performance Of The Mark 5 And St350 Soundfield Microphone...
Distance Coding And Performance Of The Mark 5 And St350 Soundfield Microphone...Distance Coding And Performance Of The Mark 5 And St350 Soundfield Microphone...
Distance Coding And Performance Of The Mark 5 And St350 Soundfield Microphone...
 
IG2 Task 1 Work Sheet Elliot
IG2 Task 1 Work Sheet ElliotIG2 Task 1 Work Sheet Elliot
IG2 Task 1 Work Sheet Elliot
 
MLConf2013: Teaching Computer to Listen to Music
MLConf2013: Teaching Computer to Listen to MusicMLConf2013: Teaching Computer to Listen to Music
MLConf2013: Teaching Computer to Listen to Music
 

Similar to Under the Hood: Native Audio Plugins for Unity

[CB20] Lamphone: Real-Time Passive Sound Recovery from Light Bulb Vibrations ...
[CB20] Lamphone: Real-Time Passive Sound Recovery from Light Bulb Vibrations ...[CB20] Lamphone: Real-Time Passive Sound Recovery from Light Bulb Vibrations ...
[CB20] Lamphone: Real-Time Passive Sound Recovery from Light Bulb Vibrations ...CODE BLUE
 
A brief history of hearing aids
A brief history of hearing aidsA brief history of hearing aids
A brief history of hearing aidsMark Rauterkus
 
Recording Devices
Recording DevicesRecording Devices
Recording Devicesbsutton
 
Active noise control primer
Active noise control primerActive noise control primer
Active noise control primerCharlton Inao
 
Sonification and Speaker Object
Sonification and Speaker ObjectSonification and Speaker Object
Sonification and Speaker Object柏豪 紀
 
Basics-Od-Digital-Audio-Multimedia-Technologies-Unit-III.ppt
Basics-Od-Digital-Audio-Multimedia-Technologies-Unit-III.pptBasics-Od-Digital-Audio-Multimedia-Technologies-Unit-III.ppt
Basics-Od-Digital-Audio-Multimedia-Technologies-Unit-III.pptpebojey210
 
Sonification and Generative music
Sonification and Generative musicSonification and Generative music
Sonification and Generative music柏豪 紀
 
Fundamentals of sound module (basic level)
Fundamentals of sound module (basic level)Fundamentals of sound module (basic level)
Fundamentals of sound module (basic level)Fundación Esplai
 
Sampling rate bit depth_lossey lossless
Sampling rate bit depth_lossey losslessSampling rate bit depth_lossey lossless
Sampling rate bit depth_lossey losslessJonny Williams
 
Noise-induced amplification of MEA signal based in Stochastic Resonance
Noise-induced amplification of MEA signal based in Stochastic ResonanceNoise-induced amplification of MEA signal based in Stochastic Resonance
Noise-induced amplification of MEA signal based in Stochastic ResonanceFrancisco Fambrini
 
Acoustics Unplugged
Acoustics UnpluggedAcoustics Unplugged
Acoustics Unpluggedmtlgirlgeeks
 
Poster presentations Silent Siren
Poster presentations Silent SirenPoster presentations Silent Siren
Poster presentations Silent SirenZahir_Shari
 
HUFFMAN CODING ALGORITHM BASED ADAPTIVE NOISE CANCELLATION
HUFFMAN CODING ALGORITHM BASED ADAPTIVE NOISE CANCELLATIONHUFFMAN CODING ALGORITHM BASED ADAPTIVE NOISE CANCELLATION
HUFFMAN CODING ALGORITHM BASED ADAPTIVE NOISE CANCELLATIONIRJET Journal
 
Sound insulation experiment
Sound insulation experimentSound insulation experiment
Sound insulation experimentRaymond Luk
 

Similar to Under the Hood: Native Audio Plugins for Unity (20)

[CB20] Lamphone: Real-Time Passive Sound Recovery from Light Bulb Vibrations ...
[CB20] Lamphone: Real-Time Passive Sound Recovery from Light Bulb Vibrations ...[CB20] Lamphone: Real-Time Passive Sound Recovery from Light Bulb Vibrations ...
[CB20] Lamphone: Real-Time Passive Sound Recovery from Light Bulb Vibrations ...
 
A brief history of hearing aids
A brief history of hearing aidsA brief history of hearing aids
A brief history of hearing aids
 
Recording Devices
Recording DevicesRecording Devices
Recording Devices
 
Active noise control primer
Active noise control primerActive noise control primer
Active noise control primer
 
Sonification and Speaker Object
Sonification and Speaker ObjectSonification and Speaker Object
Sonification and Speaker Object
 
Basics-Od-Digital-Audio-Multimedia-Technologies-Unit-III.ppt
Basics-Od-Digital-Audio-Multimedia-Technologies-Unit-III.pptBasics-Od-Digital-Audio-Multimedia-Technologies-Unit-III.ppt
Basics-Od-Digital-Audio-Multimedia-Technologies-Unit-III.ppt
 
Sonification and Generative music
Sonification and Generative musicSonification and Generative music
Sonification and Generative music
 
Fundamentals of sound module (basic level)
Fundamentals of sound module (basic level)Fundamentals of sound module (basic level)
Fundamentals of sound module (basic level)
 
Sampling rate bit depth_lossey lossless
Sampling rate bit depth_lossey losslessSampling rate bit depth_lossey lossless
Sampling rate bit depth_lossey lossless
 
Noise-induced amplification of MEA signal based in Stochastic Resonance
Noise-induced amplification of MEA signal based in Stochastic ResonanceNoise-induced amplification of MEA signal based in Stochastic Resonance
Noise-induced amplification of MEA signal based in Stochastic Resonance
 
Acoustics Unplugged
Acoustics UnpluggedAcoustics Unplugged
Acoustics Unplugged
 
Techfest jan17
Techfest jan17Techfest jan17
Techfest jan17
 
Poster presentations Silent Siren
Poster presentations Silent SirenPoster presentations Silent Siren
Poster presentations Silent Siren
 
TeZ ArtScience
TeZ ArtScienceTeZ ArtScience
TeZ ArtScience
 
HUFFMAN CODING ALGORITHM BASED ADAPTIVE NOISE CANCELLATION
HUFFMAN CODING ALGORITHM BASED ADAPTIVE NOISE CANCELLATIONHUFFMAN CODING ALGORITHM BASED ADAPTIVE NOISE CANCELLATION
HUFFMAN CODING ALGORITHM BASED ADAPTIVE NOISE CANCELLATION
 
Sound insulation experiment
Sound insulation experimentSound insulation experiment
Sound insulation experiment
 
Noise cancellation
Noise cancellationNoise cancellation
Noise cancellation
 
WaveNet.pdf
WaveNet.pdfWaveNet.pdf
WaveNet.pdf
 
Final article
Final articleFinal article
Final article
 
Chap65
Chap65Chap65
Chap65
 

Recently uploaded

Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 

Recently uploaded (20)

Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 

Under the Hood: Native Audio Plugins for Unity

  • 1. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY NICK THOMPSON
  • 2. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY CREATIVEINTENT INTRODUCTION / BACKGROUND ▸ Electronic musician and programming hobbyist since a young age. ▸ Studied computer science at Cornell University. ▸ Started Creative Intent in 2017, transitioning to audio programming after 5 years in web. ▸ Shipped two distortion plugins, Temper and Tantrum, and a third on the way
  • 3. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY GOALS ‣ Share with you a high level understanding of the fundamentals of digital signal processing to enable further exploration. ‣ Break down an intuitive example of a simple digital filter to apply our fundamentals. ‣ Walk through and build together a fully functional implementation of our simple filter.
  • 4. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY AGENDA / PRESENTATION ▸ From the top: what is sound? ▸ The Fourier Theorem ▸ Fundamentals of digital sampling and the Nyquist Theorem ▸ Introduction to the architecture of a digital signal processing unit ▸ Intuitive exploration of a first order lowpass filter "Waveform" by Scott Middler is licensed under CC by-nc-nd 3.0
  • 5. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY AGENDA / WORKSHOP ▸ Introduction to JUCE and creating the project template. ▸ Walkthrough of the project template and configuring our build. ▸ Exposing a parameter and (time permitting) simple gain example. ▸ Implement our lowpass filter and load it into Unity.
  • 6. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY WHAT IS SOUND? SOUND| SOUND | noun vibrations that travel through the air or another medium and can be heard when they reach a person's or animal's ear: light travels faster than sound.
  • 7. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY WHAT IS SOUND? VIBRATION | VĪˈBRĀSH(Ə)N | noun an instance of vibrating: powerful vibrations from an earthquake | the big-capacity engine generated less vibration. ‣ (Physics) an oscillation of the parts of a fluid or an elastic solid whose equilibrium has been disturbed, or of an electromagnetic wave.
  • 8. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY WHAT IS SOUND?
  • 9. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY THE FOURIER THEOREM A mathematical theorem stating that a continuous periodic function may be expressed as the sum of a series of sine or cosine terms.
  • 10. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY THE FOURIER THEOREM
  • 11. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY THE FOURIER THEOREM
  • 12. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY THE FOURIER THEOREM
  • 13. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DIGITAL SAMPLING & THE NYQUIST THEOREM ▸ Through the Fourier Theorem, we’ve gone from a complex physical sound to a single continuous sine wave. ▸ Computational processing cannot truly represent a continuous function (we don’t have true infinity on a computer), so we work with discrete values. ▸ Digital sampling (Analog to Digital Conversion) is the process of translating a continuous signal to a discrete set of sample points.
  • 14. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DIGITAL SAMPLING & THE NYQUIST THEOREM
  • 15. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DIGITAL SAMPLING & THE NYQUIST THEOREM
  • 16. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DIGITAL SAMPLING & THE NYQUIST THEOREM ▸ The Nyquist-Shannon Theorem states that we can perfectly reconstruct a continuous signal, s(t), which contains frequencies no higher than N hertz, by a series of samples spaced 1/2N apart. ▸ In the musical context, this often accounts for the choice of a sample rate of 44.1kHz– we can perfectly represent a signal, in discrete time, whose highest frequency component is at the top end of the human hearing range.
  • 17. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DIGITAL SAMPLING & THE NYQUIST THEOREM
  • 18. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DIGITAL SAMPLING & THE NYQUIST THEOREM
  • 19. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DIGITAL SAMPLING & THE NYQUIST THEOREM
  • 20. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DSP ARCHITECTURE Source: Apple Developer Documentation
  • 21. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DSP ARCHITECTURE Source: https://www.mathworks.com/help/audio/gs/export-matlab-plugin-to-a-daw.html
  • 22. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY DSP ARCHITECTURE void processBlock (float* inputData, float* outputData, int len) { for (int i = 0; i < len; ++i) { // This is where the magic happens outputData[i] = f(inputData[i]); } } So from a practical standpoint, this effectively means that our job is to prepare a function that receives a large block of input sample data and prepares the corresponding output data:
  • 23. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY AN INTUITIVE LOWPASS FILTER ▸ A lowpass filter is a filter that allows components of a signal below a given cutoff frequency to pass through unaffected while attenuating components of a signal higher than the cutoff. ▸ We’re going to look at a first-order lowpass filter (a one- pole filter) that in practice has limited applicability but provides for a great intuitive exercise.
  • 24. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY AN INTUITIVE LOWPASS FILTER void processBlock (float* inputData, float* outputData, int len) { float lastOut = 0.; for (int i = 0; i < len; ++i) { outputData[i] = lastOut + inputData[i]; lastOut = outputData[i]; } }
  • 25. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY AN INTUITIVE LOWPASS FILTER
  • 26. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY AN INTUITIVE LOWPASS FILTER http://www.micromodeler.com/dsp/ https://dsp.audio/editor/DPRVKDSZZLF6RTNnDp7A/1
  • 27. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY AGENDA / PRESENTATION ▸ What is sound? & The Fourier Theorem ▸ Fundamentals of digital sampling and the Nyquist Theorem ▸ Introduction to the architecture of a digital signal processing unit ▸ Intuitive exploration of a first order lowpass filter ▸ Questions? "Waveform" by Scott Middler is licensed under CC by-nc-nd 3.0
  • 28. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY AGENDA / WORKSHOP ▸ Introduction to JUCE and creating the project template. ▸ Walkthrough of the project template and configuring our build. ▸ Exposing a parameter and (time permitting) simple gain example. ▸ Implement our lowpass filter and load it into Unity.
  • 29. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY THE PROJUCER
  • 30. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY THE PROJUCER
  • 31. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY THE PROJUCER
  • 32. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY WORKSHOP (Walking through the example in Xcode & Unity)
  • 33. UNDER THE HOOD: NATIVE AUDIO PLUGINS FOR UNITY THANK YOU! ▸ Twitter/Insta: @creativeintent_ ▸ Email: nick@creativeintent.co ▸ Website: http://creativeintent.co/ ▸ Personal: http://nickwritesablog.com/