0

I'm developing a software emulated analog synthesizer in the style of Euro Rack Modules. I have a problem with the volume amplifier.

Whenever I control the volume button via mouse/hand/manually rapidly (fast low and up, or fast from low to middle), I hear lots of little cracks while changing the volume. The confusing fact is, when controlling the button via automatism, like via LFO (Low-Frequency Oscillator), all is fine.

I already checked if all values are within the valid ranges (floating between -1 to 1).

Does anyone have an idea why this occurs and what I could do to avoid this?

Here's a short demonstration:

https://youtu.be/5PXcoTd32RM

Marcus Müller
  • 30,525
  • 4
  • 34
  • 58
Arakis
  • 111
  • 4
  • Not exactly sure how you implemented it. But if you change the volume really fast, there might be a high-frequency transient. When you change the volume slowly, the transient is a low-frequency transient. Maybe that's a part of the explanation.

    Can you show us a waveform when you change the volume quickly ?

    – Ben Jun 20 '20 at 22:21
  • 3
    It could be "zipper noise". Common when changing volume in steps, periodically, without waiting for zero crossing. – Justme Jun 20 '20 at 22:30
  • 1
    the zipper noise can be dealt with by low-pass filtering the gain signal that comes from the volume control. it doesn't have to search for zero-crossings. – robert bristow-johnson Jun 21 '20 at 03:34
  • If you're developing an analog synthesizer, what do you mean by digital amplifier? – pipe Jun 21 '20 at 09:27
  • Good Point. I corrected the wording. I mean software emulated analog synthesizer: https://github.com/AximoGames/Aximo.AudioRack – Arakis Jun 21 '20 at 09:37

1 Answers1

4

I’ve heard it called popcorn noise before. Think of the output signal as the product of the input signal and the volume signal. A discontinuity in the volume signal causes a discontinuity in the output signal. The solution is to limit the bandwidth of the volume signal. The most common implementation I’ve seen is to limit how fast the volume can change. Another option would be to feed the volume signal through a low pass filter. Note that the output of an LFO is already (pretty much) band limited, which explains why you wouldn’t hear any noise in that case.

Dan Szabo
  • 1,038
  • 6
  • 9