Amazing Oscilloscope Graphics

From what we can understand, [ompuco] has built a 2D audio output on top of the Unity game engine, enabling him to output X and Y values from his stereo soundcard straight to an oscilloscope in XY mode. His code simply scans through all the vertexes in the scene and outputs the right voltages into the left and right audio streams. He’s using this to create some pretty incredible animations. Check out the video “additives” below for an example. (See if you can figure out what’s being “added”.)

As a first demonstration application, [ompuco] wrote an oscilloscope drawing application: electricanvas (demo video). You draw lines and electricanvas converts them into audio, and then it’s off to the scope. And have a look at his pyramid demo.

The work is good enough that he’s inspired another forum user, [Pishtaco] to come up with his own phosphor-vectorscope simulation tool, which also looks pretty sweet. If you don’t have an old phosphor scope around, it’s the next best thing. At least it’s fun to listen to music through; a 45-degree line means that the left and right audio channels are similar. Fuzz guitar in only one channel makes a nice hairy ball. Try it out.

We don’t know anything about Unity, and we’d love to see some of [ompuco]’s wireframe code, because this stuff looks amazing! He wrote us back and said he’d release it after it gets cleaned up. We’ll keep in touch.

25 thoughts on “Amazing Oscilloscope Graphics

  1. I tried the o-scope raster graphics once when I was given an older scope. I am wondering if it didn’t work because I was using a chopped off headphone cable or if it was just too slow. Perhaps the ?8ohm? wire messed up the voltage transitions due to impedance mismatch in under a meter?
    Is there a best cable to use?
    It seems most utube demos assume you will be using the ‘right’ cable & connector so go straight to computer code.

    1. You might not have had your scope configured properly, you might have had a cable with an open conductor, or some other problem. It’s unlikely that the type of the cable was an issue at audio frequencies. Frequencies that low don’t really care too much about having impedance matched cables and things like that, at least not when it comes to getting the signal into an oscilloscope.

    2. More likely you didn’t have the scales set-up right so you ended up with just a big dot in the middle. Failing that you may of forgotten to switch it over to x-y mode. Both easy to do unless you’re doing it all the time and used to the kit.

    3. Some computer audio outputs don’t bother filtering out the high frequencies generated by a simple sigma-delta D-A converter, depending on your headphones to do so. Sending the R/L outputs of such a system will show something that looks more like digital noise than anything else. Try using a low-pass RC filter with a time constant of ~100 us (cutoff frequency of 10 KHz).

      To determine if this is the problem, just look at either one of the channels with the scope in regular sweep mode. If it looks like audio, then the X-Y display should work. If it looks digital (all highs and lows, very little in-between), then it needs to be filtered.

  2. As “all roads lead to Rome” my ideas often associate to the … well … 3D printing :-). This clever software certainly could be used for driving (deflecting) an UV laser, using galvos, in a Peachy-like resin printer.

      1. So you’re begrudging someone charging $100 for an SLS printer. It was one thing when people were saying, “$10,000? There’s got to be a better way.” But if you think you can even put together the components for significantly less than that, well, good luck.

    1. I don’t know just how clever this software is, but it seems to me like the smallest of hurdles in putting together something like Peachy is converting the shapes to a list of X, Y vectors to send to an audio card. It’s almost like saying, “Look at this cool steering wheel. I could certainly build a car with this!”

  3. This is really cool!

    This could really make DIY laser light shows more accessible. Buy / build your laser hardware (mirrors + galvos, or maybe something exotic like DLP?) then render your scene in Unity.

    I wonder how many vertices you can cram in before it would fall apart…

      1. Galvos used for laser shows are sold with kpps (kilo-points-per-second) ratings. These range from 5kpps for poor quality non-differential systems to around 60kpps systems for professional setups. For a hobbyist, I would recommend something in the 20kpps+ range. Complexity-wise you should be able to draw out simple logos/vector images with this (i.e. the hackaday logo outline) but not too much more. Check out OpenLase for open source software to drive something like this.

      2. How about piezo driven mirror deflectors? Get piezo devices that bend on a single axis when a voltage is applied, then mount very lightweight mirrors on them. Mount them at the usual 45 degree angles, 90 degrees to each other. If the deflection isn’t very much it would need plenty of projection distance to get a decent image size.

        Still waiting on someone to do a LASER MAME system and *finish it* instead of getting it half-arsed and quitting.

  4. Saw LOTS of this in the 70’s and 80’s. Always in smoke filled Silicon Valley basements occupied by very stoned engineers with dreams of movie theater size venues for their mesmerizing creations. But I wasn’t stoned and to me it looked pretty much like this.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.