raubana.github.io

Vectorscope Renderer

Summary

Project Type
Video
Art

Created
2018-2-5

Language
Python

Program Type
Script

Modules
Pygame
PyOpenGL
PyOpenCV
PIL

Status
Finished

Source Code
Closed

Details

This project was inspired by the works of Jerobeam Fenderson, an artist known for his vectorscope music. By using the sound data as X-Y coordinates on a graph, an image can be created.


Traditional oscilloscopes use a cathode ray tube and a phosphorescent display. A beam of electrons is fired at the display through the tube, using electromagnetism to control the direction of the beam. Whenever electrons hit the display, that part will briefly glow, or fluoresce. By changing the direction of the beam over time, a continuous line will be shown on the display, often called a lissajous. While oscilloscopes are typically known to graph a curve over time, an oscilloscope that allows control of the X and Y coordinates of the beam is instead called a vectorscope.


This script was designed to emulate this process while also producing the clearest possible images. It allows for variable resolution, FPS, quality, and hue. The renders are written to several AVI files, as the script is designed to break up the render every 15 seconds, just in case any part becomes corrupt.


This script is now the property of SoundEmote.

Images

A 4k image rendered from Jerobeam Fenderson's "Lines".

A 4k image rendered from Jerobeam Fenderson's "Blocks".

A 4k image rendered from Jerobeam Fenderson's "Asteroids".