Beads Time CV noise issue

Absolutely loving Beads! The v/oct tracking on density makes for endlessly fascinating waveshaping experiments. Which leads me to this issue: I noticed that when I have a patch cable plugged into Time CV (regardless of whether it’s plugged into anything else or not), if the attenurandomizer is anywhere but 12:00, I get substantial noise, almost as though no patch cable were present. Specifically, here is how to reproduce the issue:

Make sure all attenurandomizers are at 12:00, Pitch at 12:00, reverb CCW, feedback CCW, etc. Then…

  1. Plug an audio source into In L (easiest to see with a basic waveshape), let it play for a bit, and hit freeze.
  2. Crank Density fully CCW, set to fully wet. You should have a nice, clear tone coming out at C3.
  3. Plug a patch cable into the Time CV input, with the other end unplugged. Turn the Time attenurandomizer CW.

As I understand it, plugging the cable in should disable the randomization of the attenurandomizer when turned CW. However, doing the above results in noise that sounds quite similar to the noise you get if there were nothing plugged in at all. At just barely CW of 12:00, it sounds noisy, but not quite the same. At like 3:00, it sounds pretty much identical to having nothing plugged in, except that the grains remain in mono (vs the random panning that occurs with nothing plugged in).

I’ve tried this with a dummy cable, as well as using an offset source with negative, 0, and positive voltage. The issue occurs as long as (as far as I can tell) CV + Time knob position remain within range of the Time knob (e.g. with Time at 12:00 anything outside of +/- 2.5v gives a clear tone).

This issue might also occur when grains are not firing at audio rate; it’s basically impossible to tell since minor offsets in phase don’t really affect anything except at audio rate. Testing with a very a dynamic sound source on long but sparse grains, there is no audible impact. Thus, either the problem does not occur at low grain densities, or the noise on Time is sufficiently small as to become inaudible in those cases. Actually, now that I try it with a dynamic sound source at audio rates, there is a very clear distinction between patch cable and no patch cable, so I would assume it’s the latter (that is, the amount of noise is very low amplitude).

Is this expected? Has anyone else experienced this? Is this simply a limitation of audio-rate grains given how incredibly sensitive they naturally are to tiny shifts in Time?

Noise is expected in this situation.

Ground the tip if you want to make a reliable measurement! If you still observe a problem, it could be a calibration issue. If you have easy access to 1V / 3V source you can try running the calibration procedure!

1 Like

Also, some maths because it could be an entirely different (and normal) thing…

Let’s say you use the module in high-quality mono (8s) and you record a 500 Hz sine wave into it (or any tone with that period). The audio buffer will be filled with 4000 oscillations.

You seed grains at 500 Hz.

You turn the attenurandomizer fully CW. Then, a CV of 5/(500*8) = 1.25mV will be enough to modulate the phase by 100%. This is huge.

You turn the attenuverter to 10%… Still a noise of a few mV will be enough to significantly cause jitter in the phase of the generated tone (try patching this a VCO with linear phase or FM control and a noise source).

With audio rate grains and audio rate content, the smallest variation in TIME has a catastrophic effect. I do my best with the STM32H7’s ADC (16-bit – more like 13-bit in practice, hardware averaging, extra software filtering), but in the situation you describe, it’s expected that a nudge by a few mV will still totally trash the signal.

3 Likes

Ah, that makes total sense. Thank you for your help!

After experimenting more, I think you’re exactly right; just a few mV noise destroying the waveform. I actually found a very tiny sweetspot on the attenurandomizer where Time CV becomes usable at audio rates. I’m sure it depends a ton on power supply, modules, etc., but is a few mV of noise pretty typical in Eurorack signals?

If/when you release the firmware source code, I would be very interested in experimenting with adding “zoom” controls on Time, or perhaps simply trying log scaling on the Time attenurandomizer pot, to make pseudo-PM experiments easier (not that it’s really PM of course since it only happens between grains rather than within).

Absolutely! Honestly, sensitivity of Time aside, I’m blown away by the audio rate capabilities. v/oct tuning on density (and in delay & beat repeat mode!) is such a wonderful touch. Being able to craft complex formants (I guess? not sure if there’s better term…) from arbitrary audio sources leads to such endlessly fascinating voices. Then CVing pitch while playing your melody on density; absolutely bonkers! And, with the fidelity of the audio so high, doing all this without it falling apart into a digital mess. Just wonderful.

Absolutely.

Poor power distribution, non-shielded cables, arbitrary long signal chains, VCA/OTAs everywhere in analog modules… Aiming for more than a 80dB SNR is a little bit silly. That’s like… 13 or 14 bit.

I although thought about making the response curve of the TIME attenurandomizer (and the amount of software filtering on the TIME CV input) dependant on the grain rate, but then modulating the grain rate would also modulate the amount of modulation. Not a good idea.

A “zoom” button combo would work better for you!

2 Likes