[PD] dac object question

Lex Ein lex_ein at f-m.fm
Thu Jul 8 19:50:14 CEST 2004

Frank Barknecht wrote:
>  Hallo, Lex Ein hat gesagt: // Lex Ein wrote:
> > In Pd, to block DC offsets, we frequently use the [hip~ 5] object,
> > which passes all interesting audio, and blocks DC.
>  Okay, these are questions I wanted to ask for a long time: In the
>  example patches, Miller often puts a [hip~ 5] before the dac~ which
>  as I understand should do exactly that: remove a DC offset.
>  Two questions: Why do they remove the DC? And is this always
>  necessary?

A) It's not directly audible, and is therefore useless for audio.

B) DC offset can cause assymetrical clipping in following audio chain.

C) DC steps and transients (and low frequencies) can cause sonic
distortions: low frequencies can add an unpleasant FM or doppler
effect to superimposed violin or piano sounds in full-range speakers.

D) DC offset can damage DC-coupled inductive loads like speakers,
headphones, transformer coupled electrostatic speakers, etc.  A
DC-coupled amplifier driving those loads will dissipate more power:
RMS signal power + the DC offset power (V*I.)

E) Control changes to signal objects such as filters can "bleed through" 
low-level DC "thumps" which are audible especially if they happen 
Step gain changes using [*~] will cause DC bumps as well.
Setting [hip~ FREQ] to just above the lowest used audio frequency in a patch
will do a better job of masking these step changes.  Of course [line] in the
control path goes a long way towards eliminating the source of zipper noise.

F) We never know who's going to plug their laptop into the input of
50,000 watt bass amp stack in the Astrodome and test Pd demo patches,
so ...

G) It's good engineering design practice to build equipment and software 
input protection against unintended signals, and output protection for 
equipment against those same spurious signals.  Since some soundcards will
pass DC to their outputs, [hip~ 5] will tend to provide some protection to
DC-coupled amplifiers and their associated speaker systems.

>  Then why not build something like that directly into [dac~]?

A) Because Pd isn't necessarily just for audio.  Somebody's going to want
DC-coupled output for something, and building [hip~] into [dac~] forbids 
 - servo positioners for pneumatic or hydraulic robot systems
 - a retro oscilloscope X-Y plotter or vector game
 - a laser x-y deflection system for VJs

B) The principle of simplicity says: don't cram too much into one thing.
Time exists to keep everything from happening all at once, and space
exists to allow you to decide exactly how much jam, and not buicks, you
want on your toast.  By extension, [hip~] must never merge with [dac~]
(see attachment)

C) Since [dac~ ] is usually buried in an output subpatch, it's just
as easy to bury the [hip~ 5] there as well.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dogsandcats1.mp3
Type: audio/mpeg
Size: 8858 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20040708/a7edcc56/attachment.mp3>

More information about the Pd-list mailing list