SlideShare a Scribd company logo
Dynamic Audio
For Apps and Games
360 iDev tackmobile.com
About Me
• @thillerson, +thillerson (if you’re into that)
• Developer at Tack Mobile (tackmobile.com)
• iOS, Android, and Mobile Web
• Rails, Node, maybe Elixir (one day)
360 iDev tackmobile.com
Rawk Star
About Me
360 iDev tackmobile.com
About Me
• Bass
• Electronic Music
• Some day I hope to
play this thing
--------->
360 iDev tackmobile.com
Sound Design Work: Start
• Alarm App
• Alarm Sounds
• App Store: “Start by Tack”
360 iDev tackmobile.com
Sound Design Work: Adrift
• Puzzle Game - “Adrift by Tack” in App Store
• Background Music
• Sound Effects
360 iDev tackmobile.com
Programming Sound
• In Beta Soon*
(*this week)
• http://pragprog.com/
• What we’re talking
about today...
• ... and much more
360 iDev tackmobile.com
What We’re Going To Do Today
• Answer: What Is Sound Design?
• Discuss UX Principles of Sound Design
• Introduce Pure Data
• Introduce libpd
• Tour Two iOS Apps Embedding Pd
360 iDev tackmobile.com
When We Are Done, You Will
• Understand Sound Design
• Understand Procedural Audio
• Know what Pd is, and how libpd makes it
awesome
• Be excited about Dynamic Audio in your apps
and games
360 iDev tackmobile.com
What is Sound Design?
360 iDev tackmobile.com
A Sound Designer
Ben Burtt
360 iDev tackmobile.com
A Sound Designer...
• Conceptualizes
• Captures or Designs
• Records
• Engineers
• Produces
• ... the sound for
an experience
360 iDev tackmobile.com
Sound Designer Skills
• Understand Sound
• Intuitive vs. Theoretical
• Music vs. Sound
• Audio Engineering
360 iDev tackmobile.com
Sound Design in Mobile Apps
• Developers/Designers wear lots of hats
• Control
• Efficiency
• Asset size
360 iDev tackmobile.com
Sound Design Principles
360 iDev tackmobile.com
A Sound Designer’s Goals
• Audible Feedback
• Fulfill Expectations
• Immersion
• Emotional Response
360 iDev tackmobile.com
Sound Design and Good UX
• Your app doesn’t need sound
• Expect to be turned off
• Don’t make me listen to you
• Listen on lots of devices/environments
• Engineer for small speakers
• Make your sound mean something!
360 iDev tackmobile.com
Always
• Test with phone calls
• Test while playing music
• Have fallbacks - e.g. No music, just effects
• Provide control to the user
360 iDev tackmobile.com
A Good Example: Clear
• Realmac Software
• Josh Mobley
• Meaningful Sound
• demo
360 iDev tackmobile.com
Sound
360 iDev tackmobile.com
Longitudinal Waves
360 iDev tackmobile.com
Of Pressure
360 iDev tackmobile.com
Through A Medium
360 iDev tackmobile.com
Transverse Wave
Longitudinal Wave
360 iDev tackmobile.com
• Longitudinal Waves
• Of Pressure
• Through a Medium
Sound
360 iDev tackmobile.com
Properties of Waves
• A - Wavelength (Distance), Period (Time)
• B - Amplitude
• C - Frequency - 1/Period (measured in Hertz)
A
B
B
C 1 2 3
360 iDev tackmobile.com
Fourier Series
• Based on his work ------->
• Periodic signals composed
of simple oscillating
functions
• Sine/Cosine waves are
fundamental
360 iDev tackmobile.com
Oscillators
• Something that moves according to a periodic
function
• A physical body
• An electronic device
360 iDev tackmobile.com
Basic Electronic Sound
oscillator
voltage
magnet
pressure
waves
speaker
360 iDev tackmobile.com
Digital Audio
• Stream of Numbers
• Signal
• Frequency and Amplitude
• DAC - Digital to Analog Converter
360 iDev tackmobile.com
Dynamic Audio
360 iDev tackmobile.com
Procedural Audio
• Functions
• Objects
• Controls and Components
• Produce a Signal
• “Building Sound from First Principles”
360 iDev tackmobile.com
Pure Data
• Procedural Audio
• Visual Programming Environment
• Free and Open Source
• pure-data.info
360 iDev tackmobile.com
Pure Data 101
360 iDev tackmobile.com
Signals and Values
• Signals are streams of numbers, usually audio
data
• Values are numbers or symbols
360 iDev tackmobile.com
• Pd’s class
• or, kind of like a command line tool
Objects
osc~ 440
signal inlet inlet
signal outlet
class name arguments
360 iDev tackmobile.com
Hot vs Cold Inlets
• Hot inlets make objects immediately act
• Cold inlets usually store a value
• Execution is right to left
360 iDev tackmobile.com
• Signal connections are thick
• Others are thin
Connections
osc~ 440
*~
dac~
1
360 iDev tackmobile.com
Messages
• Used for sending values without a connection
• [send] and [receive] objects
• Message boxes
360 iDev tackmobile.com
libpd
• http://libpd.cc
• Peter Brinkmann - Google Engineer
• Enables you to embed an instance of Pd in your
app
• iOS and Android
360 iDev tackmobile.com
Examples
360 iDev tackmobile.com
Source Code
• github.com/thillerson/dynamic-sound-ios
• Examples of capabilities, not necessarily the
best architecture
• Goal: understand capabilities, have a place to
start
360 iDev tackmobile.com
Example 1: A Simple Keyboard
• Sine wave oscillator
• Single voice
• Note on/off
360 iDev tackmobile.com
Example 1: A Simple Keyboard Patch
osc~
dac~
receive midinote
mtof
receive gate
line~
*~
;
midinote 60;
gate 1;
;
gate 0$1 1
print
360 iDev tackmobile.com
Example 2: A Game
• Top down perspective space shooter
• Code by Lucas Jordan
from iOS 5 Game Dev ->
• Now with sound!
360 iDev tackmobile.com
Example 2: A Game Patch
load a square wave
at startup
Thruster
noise~
*~
samphold~
dac~
hip~ 200
phasor~ 800
line~
$1 200
*~ 0.1
receive thruster
BulletShip_HitAsteroid_Hit
samphold~
tabosc4~ square
dac~
line~
phasor~ 8000
tabosc4~ square
line~
unpack f f
0 $1
tabosc4~ square
line~
unpack f f
0 $1
hip~ 1000
unpack f f
0 $1
*~ 0.5
receive asteroid receive ship receive bullet
8-bit-ify
these sounds
cut low frequencies
comment
comment
Test_Messages
;
bullet 25 200;
;
thruster 0
;
thruster 1
pd wavesetup
;
ship 1000 50;
;
asteroid 200 100;
360 iDev tackmobile.com
Further Reading
• puredata.info && libpd.cc
• youtube.com/user/cheetomoskeeto
• http://designingsound.org
• mitpress.mit.edu/books/designing-sound
360 iDev tackmobile.com
Questions
Thank you!
Dynamic Audio • Tony Hillerson
• We’re Hiring!
• careers@tackmobile.com
• Excellent Team
• Awesome Projects
• Great Office

More Related Content

PDF
Dynamic Sound for Android
PDF
Totally Build Apps for Free! (not really)
PDF
Elements of Connected Products
PDF
Supergluing Asterisk to the Web with Adhearsion
KEY
Call Control Power Tools with Adhearsion
PPTX
Rails Spree My Pain :)
PPTX
JavaOne: Welcome alexa, your personal assistant [con1700]
PDF
Call Control Power Tools with Adhearsion
Dynamic Sound for Android
Totally Build Apps for Free! (not really)
Elements of Connected Products
Supergluing Asterisk to the Web with Adhearsion
Call Control Power Tools with Adhearsion
Rails Spree My Pain :)
JavaOne: Welcome alexa, your personal assistant [con1700]
Call Control Power Tools with Adhearsion

What's hot (12)

PPTX
Assignment2 presentation
PDF
MacPeople Presentation - June, 2014
PDF
Kubernetes and AWS Lambda can play nicely together
PDF
Low Friction Personal Data Collection - Open Source Bridge
PPTX
Interns What Is DevOps
PDF
Web APIs: The future of software
PPTX
Adopting Elixir in a 10 year old codebase
PDF
Ansible-DK: So That's a Thing
PDF
Elevations credit union furniture overview
PPTX
Maintaining the Netflix Front Door - Presentation at Intuit Meetup
PDF
Talk Like Orcs in Warcraft
PPTX
Localization Challenges of Non-Traditional Content in Games - Declan Groves (...
Assignment2 presentation
MacPeople Presentation - June, 2014
Kubernetes and AWS Lambda can play nicely together
Low Friction Personal Data Collection - Open Source Bridge
Interns What Is DevOps
Web APIs: The future of software
Adopting Elixir in a 10 year old codebase
Ansible-DK: So That's a Thing
Elevations credit union furniture overview
Maintaining the Netflix Front Door - Presentation at Intuit Meetup
Talk Like Orcs in Warcraft
Localization Challenges of Non-Traditional Content in Games - Declan Groves (...
Ad

Similar to Dynamic Sound for iOS Apps and Games (20)

PDF
Un-muting Design | Seattle Interactive Conference 2018
DOCX
Mobile Audio Synthesiser - Final Year Thesis
PDF
Voice That Matter 2010 - Core Audio
PPTX
Better Know an Audio Programmer
PDF
Track 1 session 2 - st dev con 2016 - dsp concepts - innovating iot+wearab...
PDF
Experimental Mobile Music - Pd/iOS Workshop
KEY
Prototyping Early Learning Processes
PDF
Core Audio: Don't Be Afraid to Play it LOUD! [360iDev, San Jose 2010]
ZIP
Battle of Music: SDK from iPhone, Nokia, BlackBerry, Android, Palm
PDF
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
DOCX
Jordan smith ig2 task 1 revisited
DOCX
Ig2 task 1 work sheet s
DOCX
Ig2 task 1 work sheet s
PDF
Designing Audio Effect Plugins With C Will Pirkle
PDF
IGDA - i Phone Presentation
PDF
The Game Audio Tutorial A Practical Guide To Sound And Music For Interactive ...
DOCX
Jordan smith ig2 task 1 revisited v2
PPTX
How to play audio from a microcontroller
KEY
Core Audio in iOS 6 (CocoaConf Portland, Oct. '12)
PDF
Exploring Real-Time Audio Dataset Applications in AI and Machine Learning
Un-muting Design | Seattle Interactive Conference 2018
Mobile Audio Synthesiser - Final Year Thesis
Voice That Matter 2010 - Core Audio
Better Know an Audio Programmer
Track 1 session 2 - st dev con 2016 - dsp concepts - innovating iot+wearab...
Experimental Mobile Music - Pd/iOS Workshop
Prototyping Early Learning Processes
Core Audio: Don't Be Afraid to Play it LOUD! [360iDev, San Jose 2010]
Battle of Music: SDK from iPhone, Nokia, BlackBerry, Android, Palm
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
Jordan smith ig2 task 1 revisited
Ig2 task 1 work sheet s
Ig2 task 1 work sheet s
Designing Audio Effect Plugins With C Will Pirkle
IGDA - i Phone Presentation
The Game Audio Tutorial A Practical Guide To Sound And Music For Interactive ...
Jordan smith ig2 task 1 revisited v2
How to play audio from a microcontroller
Core Audio in iOS 6 (CocoaConf Portland, Oct. '12)
Exploring Real-Time Audio Dataset Applications in AI and Machine Learning
Ad

More from Tack Mobile (9)

PDF
Assembly • Creative Mornings
PDF
Introduction to Hardware with littleBits
PDF
Prototyping with Framer.js
PDF
Adrift: The Making of an iOS Game
PDF
Advanced Android Design Implementation
PDF
Git for Android Developers
PDF
Scala for android
PDF
Designing an Android App from Idea to Market
PDF
Mobile Means Business
Assembly • Creative Mornings
Introduction to Hardware with littleBits
Prototyping with Framer.js
Adrift: The Making of an iOS Game
Advanced Android Design Implementation
Git for Android Developers
Scala for android
Designing an Android App from Idea to Market
Mobile Means Business

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Machine learning based COVID-19 study performance prediction
PDF
Electronic commerce courselecture one. Pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
KodekX | Application Modernization Development
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Approach and Philosophy of On baking technology
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Mobile App Security Testing_ A Comprehensive Guide.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Chapter 3 Spatial Domain Image Processing.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
MYSQL Presentation for SQL database connectivity
Machine learning based COVID-19 study performance prediction
Electronic commerce courselecture one. Pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
KodekX | Application Modernization Development
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Approach and Philosophy of On baking technology
Advanced Soft Computing BINUS July 2025.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...

Dynamic Sound for iOS Apps and Games