PWM oscillator aliasing on duty cycle sweep


#1

The PWM oscillator alias's audibly when its duty cycle is adjusted for me. Has anybody else noticed this? It is a crackling noise present when the oscillators pwm varies actively. It stops when the pwm stays in a set position, however if the duty cycle is continuously swept, it will continously alias. It manifests as a crackling. It can be gotten rid of by heavily low pass filtering the osc, but that is not ideal.


#2

If I remember correct I am pretty sure that happens to all my synths when using pulse osc. I have Micro Q, Blofeld, Nord g2, Axoloti. I will chck later today


#3

Have you tried putting a "logic/smooth" object between your control and the osc? It could be the jumping data that causes the crackling. If that doesn't work you might try sending the value to a modsource and using the square wave output as a trigger for the modsource so it only updates the value at the beginning of the duty cycle. That technique might spike DSP usage though.


#4

this is a bug in the osc/pwm object


#5

Thanks for the response Johannes and others :>
Glad to know its a bug, @ jaffasplaffa in my experience so far its not a normal thing for my synthesizers at least. I have a microbrute which while analog(and as such totally different) has PWM osc and its doesnt crackle when the pwm is swept

I have not tried the logic/smooth, i will give that a try to see if it has an effect.


#6

yeah true. I can easily be wrong. But as far as I remember there are some kind of artifacts when sweeping PWM.. But might not be aliasing...


#7

A fix is in the GIT repository now. The behavior of the pw inlet has changed, now 0 corresponds to 50% duty cycle, and goes from 0% to 100% duty cycle.


#8

woo lets celebrate! that was the first bug in the GIT! (thanks to @janne808)


#9

woot thanks! Cant wait to mess around with pulse width stuff now :>


#10

Yeah! One question: when new release is going to be available?


#11

I hope to make a release this weekend.
If you want to test the improved pwm oscillator now, you could download
https://github.com/axoloti/axoloti/raw/master/objects/osc/pwm.axo
and replace objects/osc/pwm.axo with the downloaded file.