Page 1 of 1

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

Posted: Fri Jan 27, 2023 5:49 pm
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-)

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

Posted: Fri Jan 27, 2023 11:06 pm
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

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

Posted: Sat Jan 28, 2023 6:43 am
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

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

Posted: Fri Feb 03, 2023 10:49 am
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.

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

Posted: Fri Feb 03, 2023 10:51 am
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. :)

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

Posted: Fri Feb 03, 2023 1:07 pm
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

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

Posted: Fri Feb 03, 2023 5:14 pm
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?

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

Posted: Fri Feb 03, 2023 8:42 pm
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