Some Math Sine is the “purest” waveform both in math and acoustical presentation: f(x) = sin(x) Square waves are an infinite summation of sine waves: All those terms beyond the fundamental frequency are “harmonics”
Some Examples Using the SH101 analog synthesizer – Sine – Square – Triangle – PWM Microcontrollers driving motors often use PWM…
Pulse Width Modulation PWM: fixed period, changing duty cycle Used as motor drive, DAC, and in sound synthesis (and others) Back to the square wave function… …does changing duty cycle change harmonics? YES! Bonus: what’s a 100% duty cycle PWM called?
Phun With Harmonics Subtractive Synthesis – Start with a signal with lots of harmonics – Filter it! Low pass filter
More Filtering Traditional analog synths use voltage controlled filters VCF Modern synths use digital filters running on DSPs
The Filter Sweep Classic electronica music effect
Triangle Man (Delta) Non-changing waveforms sound dull, even irritating ∆ Sounds more interesting How to implement change? – LFO, repeatable change – “Random” change
Art of Noise Noise is random Pseudo-random isn’t random, nor noise What does it sound like? – Noise on the SH101 – Pseudo-random on the SH101 – How the pros use pseudo-random influences InfoSec tie-in: see how limited pseudo- random is a bad choice for seeding crypto?
Making Sound With Microcontrollers Two basic approaches: – Synthesis – Sample playback Two areas of concern: – Hardware – Firmware
Making Sound With Microcontrollers: Firmware Synthesis options – Hardware based (waveform into VCF) – Math based (calculations in firmware) Sample option – Look up table – Can be waveform data (sine, triangle, DTMF) – Can also be “sample” in the sense of digital recording
Microcontrollers: Hardware Synthesis options – Output waveform and control of external elements (VCF, VCA) – Heavily filtered square wave – DAC…
Example: DEFCON 18 Badge Hack What happens when you combine: – DC18 Badge – Beer – Pr0n – Top engineers from famous comm corp – And me? The Optimized Tomfoolery DC18 badge hack entry! (Kingpin approved!) The Hacker Jeopardy answer is: “Hey, what’s the input impedance of an LM386?”
DEFCON Badge Hack Limited microcontroller code space… …and limited hardware options (no PWM) Sampled desired sound to get.wav Edit.wav to get C #include Crude R-2R ladder DAC (considered other methods) Play samples back from codespace 4-bit low sample rate, was recognizable!
DC18 Badge Hack Tools used: – Audacitiy: sound recording manipulation tool – Lame: mpg recorder option for Audacity – HxD: hex editor – Code Warrior: microcontroller IDE Search youtube for “DC18 Theater” for Kingpin’s video of our entry (NSFW!)