Cherry Audio oscilloscope module oscillates between high framerate and low framerate?

For discussion of the Voltage Modular synthesis ecosystem.
Post Reply
BetterAngels
Posts: 9
Joined: Fri Jan 27, 2023 5:30 pm

Cherry Audio oscilloscope module oscillates between high framerate and low framerate?

Post by BetterAngels »

Hi guys,

I've been using the VM900 and Voltage Modular Ignite bundles for a few weeks now, and I love experimenting with them!

One minor complaint I have though, is that in Ableton on Windows 10, on my (very) high end computer, the Cherry Audio oscilloscope's UI oscillates between being a smooth high fps for half a second, then low 5-10 fps for three seconds, and repeat. This pattern seems perfectly consistent.

Has anyone else run into this problem?

Any help would be appreciated. :) If I can do anything to help in terms of sharing the context I am experiencing the issue in, then feel free to ask me for details.

Thanks. 8-)
Last edited by BetterAngels on Fri Feb 03, 2023 9:36 pm, edited 1 time in total.
User avatar
huggermugger
Posts: 336
Joined: Tue Jun 29, 2021 6:42 pm

Re: Cherry Audio oscilloscope module oscillates between high framerate and low framerate

Post by huggermugger »

Do you mean something like this? If so, I think this is typical. An oscilloscope exhibits a kind of aliasing depending on the frequency of the incoming waveform, kind of like the visual aliasing of a wagon wheel in a movie. With VM, that aliasing is kind of jerky. I usually activate one of the Auto Trig buttons if I want a good look at a periodic waveform.

https://youtube.com/shorts/frps7dyICm4
UrbanCyborg
Posts: 588
Joined: Mon Nov 15, 2021 9:23 pm

Re: Cherry Audio oscilloscope module oscillates between high framerate and low framerate

Post by UrbanCyborg »

Any module can exhibit this behavior in VM, because most of the UI is running in a timer thread at 200 samples/s, and not at the full sample rate. I first spotted this when writing my Poly VMeter module, which is why it has a control to change the UI timer within reasonable limits.

Reid
Cyberwerks Heavy Industries -- viewforum.php?f=76
BetterAngels
Posts: 9
Joined: Fri Jan 27, 2023 5:30 pm

Re: Cherry Audio oscilloscope module oscillates between high framerate and low framerate

Post by BetterAngels »

huggermugger wrote: Fri Jan 27, 2023 11:06 pm Do you mean something like this? If so, I think this is typical. An oscilloscope exhibits a kind of aliasing depending on the frequency of the incoming waveform, kind of like the visual aliasing of a wagon wheel in a movie. With VM, that aliasing is kind of jerky. I usually activate one of the Auto Trig buttons if I want a good look at a periodic waveform.

https://youtube.com/shorts/frps7dyICm4
It's exactly that!

And yeah interesting. So it's some kind of like digital phasing?
I've not really seen this before, so that's why I thought it was curious.
BetterAngels
Posts: 9
Joined: Fri Jan 27, 2023 5:30 pm

Re: Cherry Audio oscilloscope module oscillates between high framerate and low framerate

Post by BetterAngels »

UrbanCyborg wrote: Sat Jan 28, 2023 6:43 am Any module can exhibit this behavior in VM, because most of the UI is running in a timer thread at 200 samples/s, and not at the full sample rate. I first spotted this when writing my Poly VMeter module, which is why it has a control to change the UI timer within reasonable limits.

Reid
Hmm, so why does it have that low (?) sample rate? Is that just just for performance?

In what way does that sample rate cause this oscillating/phasing effect?

Thanks for the answer. :)
UrbanCyborg
Posts: 588
Joined: Mon Nov 15, 2021 9:23 pm

Re: Cherry Audio oscilloscope module oscillates between high framerate and low framerate

Post by UrbanCyborg »

It's because the UI is updated in a function that gets called every 50 ms by default. Hmmn. Looks like I slipped a decimal. Sorry about that. It's effectively about 20 Hz. It has the effect it does for the same reason any aliasing occurs: you're sampling a signal with higher bandwidth (in this case, higher sample rate) at a rather sparse interval. If that interval happens to sync with something in the original signal, it can either emphasize or suppress it. Just think of wagon wheels going backwards and standing still in old westerns when seen on TV. That's an instance where there are two levels of sampling going on: the first at 24 times a second for the original film, the second at, as I recall...well, no, as I don't recall. Spent too much time dealing with different video rates to remember the television standard. But not much, at any rate, although more than 24/s. I noticed this with Poly VMeter when measuring a signal that cycled at a harmonic of 50 ms; the numbers, which should have been changing rapidly, were almost frozen, just drifting a bit. With the control in place to vary the UI refresh rate, a slight shift was enough to get things to where they should (!) have been. In other words, I was seeing an aliasing artifact. You'll always get aliasing when there's harmonic content in the signal that's higher than the Nyquist frequency of your sampling. What it might look like is sometimes hard to recognize.

Reid
Cyberwerks Heavy Industries -- viewforum.php?f=76
BetterAngels
Posts: 9
Joined: Fri Jan 27, 2023 5:30 pm

Re: Cherry Audio oscilloscope module oscillates between high framerate and low framerate

Post by BetterAngels »

Yeah I expected it was something like this. Thanks for explaining it in more detail!!

This is then not a problem that can really ever be eliminated by upping the UI update rate? It would not be sufficient to simply match that update rate to your display, because it's the interaction between the sound frequency and that update frequency that's causing this phenomenon?
UrbanCyborg
Posts: 588
Joined: Mon Nov 15, 2021 9:23 pm

Re: Cherry Audio oscilloscope module oscillates between high framerate and low framerate

Post by UrbanCyborg »

Yep. And you really don't want to be updating your UI at the sample rate. That'd bog any CPU down pronto.

Reid
Cyberwerks Heavy Industries -- viewforum.php?f=76
Post Reply

Return to “Voltage Modular”