A controller, either a
microprocessor or
finite state machine, is used to generate a pulse
train whose frequency and
duty cycle can be varied to alter the frequency and amplitude of the output of a driven audio
transducer. The ability to control both frequency and amplitude allows programmatic synthesis of many audio effects such as steady tones, warbles, beeps, sirens and chimes with no hardware or circuit changes. The
transducer can be a piezoelectric bender or a speaker. The output of the controller controls a switch that builds current in an
inductor when the switch is on. When the switch is turned off, the energy stored in the
inductor is dumped into the audio
transducer, either directly or through intermediate
capacitor storage. This allows the generation of voltages across the transducer many times the supply
voltage. By the use of two outputs from the controller the drive circuit can be duplicated with the duplicate driving the other terminal of the audio transducer with a
signal out of phase from the original
signal, the resulting push-pull drive can quadruple the output power. The ability to programmatically modify the frequency and amplitude within the controller allows the use of a feedback input to an internal
voltage discrimination circuit to modify the
audio signal in response to a variety of inputs. The audio transducer drive frequency can be adjusted to maximize a feedback
signal related to the drive power. This allows adaptive maximization of the output for resonant transducers such as piezoelectric benders. The
control signal can be the ambient
noise so the output amplitude is louder with high ambient
noise and at a less annoying level when there is no
background noise.