You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you set the width (duty cycle) argument to exactly 0.5, you don’t get a symmetric waveform (equal number of ups and downs). To test this, it's most obvious when you set a high frequency (use an even multiple of the sample rate, so you should expect equal number of ups and downs). If you change the width to slightly over 0.5, it works as expected.
Compare:
var freq = s.sampleRate/4; {[LFPulse.ar(freq, 0, 0.5), LFPulse.ar(freq, 0, 0.500001)]}.plot(freq.reciprocal * 5);
// First one is [H, L, L, L, H, L, L, L, ...]
// Second one (correct) is [H, H, L, L, H, H, L, L, ...]
I tested this in v3.6.5 on OS X, but the code (in LFPulse_next_a() doesn't seem to have changed in current). Fixing this might change the sound of existing synths (at high frequencies). On the other hand, it definitely seems wrong; you'd expect a duty of 0.5 to produce equal numbers of highs and lows over time!
The text was updated successfully, but these errors were encountered:
totalgee
added a commit
to totalgee/supercollider
that referenced
this issue
May 27, 2015
If you set the width (duty cycle) argument to exactly 0.5, you don’t get a symmetric waveform (equal number of ups and downs). To test this, it's most obvious when you set a high frequency (use an even multiple of the sample rate, so you should expect equal number of ups and downs). If you change the width to slightly over 0.5, it works as expected.
Compare:
I tested this in v3.6.5 on OS X, but the code (in
LFPulse_next_a()
doesn't seem to have changed in current). Fixing this might change the sound of existing synths (at high frequencies). On the other hand, it definitely seems wrong; you'd expect a duty of 0.5 to produce equal numbers of highs and lows over time!The text was updated successfully, but these errors were encountered: