[pd-ot] electric circuits in software

Hans-Christoph Steiner hans at eds.org
Fri Apr 28 11:44:34 CEST 2006

On Apr 28, 2006, at 4:39 AM, Christian Klippel wrote:

> hi,
> Am Freitag, 28. April 2006 03:21 schrieb Chris McCormick:
>> On Thu, Apr 27, 2006 at 02:13:17AM -0400, Mathieu Bouchard wrote:
>>> On Thu, 27 Apr 2006, Chris McCormick wrote:
>>>> representation of two waveforms at Nyquist; if you have a  
>>>> squarewave
>>>> and a sawtooth wave, both sampled at 44100 and playing at a  
>>>> frequency
>>>> of 22050, these waves will both be represented by two samples each,
>>>> correct? So when they are sent back into the analogue domain, won't
>>>> these two waveforms look identical? Wouldn't they look like  
>>>> exactly the
>>>> same sound? On analogue gear, wouldn't it be the case that the  
>>>> exact
>>>> shape of the waveforms would be more accurately represented (e.g. a
>>>> sawtooth and a squarewave at 22050 would look like such)?
>>> yeah, it would be more accurate, but are ears capable of hearing the
>>> difference? If the resonance of each sensor of the ear is linear,  
>>> then
>>> each sensor can only react to one frequency band, and so if the  
>>> smallest
>>> sensor's frequency is about 20000 Hz, then the ear is incapable of
>>> discerning.
>> This sounds a bit speculative to me - too many assumptions. It's  
>> probably
>> not wise to be so quick to dismiss the viewpoint of "analogue  
>> cultism"
>> until we have concrete research that confirms that humans are  
>> unable to
>> perceive such differences.
> here are some attempts to explain why analog sounds analog .....
> lets take the example of a square wave ..... you have two  
> frequencies at once
> here: for one, the fundamental frequency of the waveform, and then the
> frequency resulting from the rise/fall time of the wave. since the  
> latter is
> probably much higher than the fundamental one, you can never ever  
> reproduce
> that with a dac (unless, of course, you are sampling in the mhz  
> range).
> on analog equipment, to the contrary, that compnent is preserved,  
> maybe even
> shaped by the filters.
> another example, the sine wave .... on analog equipment, you have  
> an infinite
> number of different levels forming the sine. on a dac, you only  
> have discrete
> values. the filtering after the dac shapes the waveform into  
> something that
> should closely resemble the original wave, but only close (like, a  
> square
> comming out as sine at all). since you have to jump between  
> discrete levels,
> that again adds some harmonics, which need to get filtered out,  
> effectively
> modifying the overall frequency response.

I think you mean the opposite.  With decent quality digital vs.  
analog, you'll have a much more perfect sine wave from a digital  
source than an analog.  And that's why things "sound" analog, because  
analog is imperfect.


> if you have purely digital generated sounds (for example,  
> oscillators), they
> are far too perfect. in fact, each osc~ sounds the same. this is  
> never the
> case in the analog world. you can have 100 osc circuits, all built  
> the same,
> but you will never ever find two osc's that have an exact identical  
> output.
> just 1 cm more wire makes a difference. each and every connection  
> between
> analog equipment is some kind of a filter: you have the capacitance  
> of the
> wire-pair, plus its resistance, plus the source's or sink's impedance.
> of course all these differencies are very, very subtle, and you may  
> not be
> able to hear the difference between two single elements. but if you  
> now mix &
> combine all that together, the many non-linearities add up as well,  
> giving a
> much wider spectrum (number of active frequencies) than what you  
> would have
> with digital stuff.
> oh, and last but not least: noise and distortion. every analog  
> source has some
> noise, and maybe a small level of distortion. each part/wire adds  
> some more
> noise. of course, the noise is part of the final sound as we hear  
> it. many
> people complain that digital sound is too "sterile" ... thats why ...
> something is missing.
> you can do a quick test yourself: create an osc~ object (copy the  
> existing
> one, for example). inside the dsp routine, at the end, add some  
> noise to the
> signal (sample[x] = sample[x] + ((1000 / random(1000)) *  
> noise_level) or the
> like (thats probably non-working code above ;)... create some synth  
> with
> these osc~'s and compare the generated sound against the standard  
> osc~'s ....
> try with higher/lower noise_level settings. take it even further  
> and add the
> same stuff to the used *~, +~, etc ..... if you multiply somewhere  
> with a
> fixed number, make that  number fluctuate a little as well. same  
> for filter
> parameters, etc..... do that sample-by-sample, and not just reusing  
> one
> single random value over the whole block ....
> you will be surprised by the difference! (and of course, by the  
> increase of
> cpu load as well ;-)
>> Best,
>> Chris.
> greets,
> chris
>> -------------------
>> chris at mccormick.cx
>> http://mccormick.cx
>> _______________________________________________
>> PD-ot mailing list
>> PD-ot at iem.at
>> http://lists.puredata.info/listinfo/pd-ot
> _______________________________________________
> PD-ot mailing list
> PD-ot at iem.at
> http://lists.puredata.info/listinfo/pd-ot


Man has survived hitherto because he was too ignorant to know how to  
realize his wishes.
Now that he can realize them, he must either change them, or perish.
		                                                -William Carlos  

More information about the PD-ot mailing list