I have a disconnect between how amazing the visuals look in oscistudio vs rendered


Hello all!

It would be great if I’m doing something wrong, and somebody can point it out to me. I realize that we are in a digital world, and are therefore limited by the sampling rate of our audio, but I’m very frustrated at that. I was messing around with blender and oscistudio, and I found a visual I REALLY liked!

I recorded this with my apple screen cap, and it lags occasionally, so using screen cap software is not ideal. So I recorded it in the maximum possible sampling rate of 192khz. I recorded it into Ableton at 192k, exported it out in 192k, and I rendered it to video with the oscilloscope software, and it looks like this

The corners are all jagged and not smooth and round like in the one above from within oscistudio.

Is it because the “internal sampling rate” is infinite, and it’s forcefully cutoff when recording it to audio? Is it at all possible to create a proprietary audio format with 1millionkhz resolution, or some other arbitrarily high number but still possible to compute? I mean, it’s obvious that it’s POSSIBLE, in that the software CAN draw those higher quality images, but I don’t know what I’m missing to be able to render them like that since it’s not possible to do it in real time.

Any help is greatly appreciated!



oscistudio uses upsampling, which makes it appear very similar to a typical audiointerface->oscilloscope pipeline.
the oscilloscope simulator version you are using doesn’t have that feature yet so it appears a bit more like a digital oscilloscope.

you can try a bleeding edge build.

Mac OS X: https://asdfg.me/up/oscilloscope/Oscilloscope-1.0.15-osx.zip
Windows: https://asdfg.me/up/oscilloscope/Oscilloscope-1.0.15-win64.zip
Linux: https://asdfg.me/up/oscilloscope/Oscilloscope-1.0.15-linux64.zip

note that these are not polished, they’re testing versions…!
i’m really really waiting/hoping for feedback from the linux testers, see also Testing the linux version


ps. there’s a “A” button which turns analog mode on/off. if you click it you should see exactly the difference between between your two videos (…can you confirm that?)

also that “A” button is already gone again, because early feedback indicated no one understands what it’s doing :slight_smile:


Whoa awesome! Thanks so much on letting me in on the cutting edge version! HUGE improvement!! Is there any way I can open up the shader code and increase the upsampling amount? I still feel like it looks better in oscistudio, and don’t understand why it would look different at all. Theoretically is the shader code any different? If anything, I’d think oscistudio should look worse because it has to be in real time, but with the oscilloscope software it doesn’t have to be in real time. Still a huge upgrade though so I’m happy! But once you see what the visuals CAN look like, it’s hard to go back.

Is it maybe like a "Z"clipping thing? Should I be recording audio in 3 channels? But as far as I can tell oscistudio doesn’t output the Z channel (Though I know version 1.0.9 can render with a Z channel)

Are there any other tips I should be aware of? Is running the audio through blackhole into Ableton a less than ideal setup? Like, too many points of failure maybe to reduce bitrate? Am I overthinking it?

I’m gonna have to go through and rerecord a bunch of stuff lol. Thanks so much for your response!


there is currently no upsampling support for “microphone input”.

you can only change the upsampling rate in source code: https://github.com/kritzikratzi/Oscilloscope
but if you’re not a programmer and have a tiny bit of experience with OF, this is probably not an option. …


Hi @kritzikratzi , I’m collaborating with my Max coder friend, @AlexStahl, on creating visuals generated similarly to your awesome Oscilloscope app. Would you mind sharing how you decided upon your rendering technique?

We are looking at these techniques:

  1. Drawing fewer points (from the audio buffer) and drawing blurry bezier lines between them

  2. Drawing more points (from the audio buffer) and drawing a single blurry point that bounces around the screen at a high refresh rate

For afterglow we are also looking at frame-by-frame (fullscreen) fades vs changing the raster of the individual point to fadeout with graduated blurriness levels over time.

Can you tell us which path you chose & why? Thanks so much for pioneering this art form so masterfully :slight_smile:


m1el wrote an article about the physics/maths aspect of intensity: http://m1el.github.io/woscope-how/

dood.al is a crazy nice scope overal: https://dood.al/oscilloscope/


@sargentpilcher the reason it looks even softer in oscistudio, is because it upsamples more. if you reduce the sample rate of your exported file to 96k or 48k (whatever you were using in oscistudio) and then put it in the simulator, you should get an almost equal result.

but all in all … but overal, examples like yours will always look different on any audio interface/analog oscilloscope combination too. i think it’s nice that there’s some wobble room in the final output ^^