Git Product home page Git Product logo

bakingbread's Introduction

[Ba]king [Br]ead

CircleCI

Sound cards have been used as oscilloscopes for a really long time. Why not connect them in reverse? If the input can work, the output should too. Let's draw pretty pictures! Or, more accurately, ugly clocks.

ScreenShot

Usage

Connect your stereo sound card output to your oscilloscope in XY mode. Note: when preparing the cable, don't remove insulation with your teeth - you'll damage the enamel.

If you have libao, compile with make and run with:

./baking.py | ./bread

If you don't, substitute any other player capable of reading raw audio in unsigned, 8-bit, stereo, 44100Hz sample rate mode. Linux example:

./baking.py | aplay -f U8 -c 2 -r 44100

which works exactly the same but isn't as hip.

Why?

Because I was bored; because no one did it before (as far as I searched).

Limitations

Sound card output is band-limited. The implications, amongst others, are that it's really hard to just draw in a goto(x,y) manner. I used some crude tricks to prevent the dot from swinging wildly around the screen; alas, they are not perfect and may cause flickering as a result. See this presentation to learn enough DSP basics to know how band-limiting affects signals (especially square waves).

The program was tested on a really old analog oscilloscope. If you own a digital one, you may be disappointed. They don't really make good oscilloscopes anymore.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.