📺🔊 Synthesiser audio plugin for making music by drawing objects on an oscilloscope using audio.
 
 
 
 
 
 
Go to file
James H Ball c7b9cd3dab Fix typo in README.md 2020-12-04 21:50:29 +00:00
lib Complete project standardisation overhaul 2020-12-04 20:30:46 +00:00
src Complete project standardisation overhaul 2020-12-04 20:30:46 +00:00
.gitignore Complete project standardisation overhaul 2020-12-04 20:30:46 +00:00
LICENSE Create LICENSE 2020-02-11 22:40:41 +00:00
README.md Fix typo in README.md 2020-12-04 21:50:29 +00:00
pom.xml Bump junit from 4.12 to 4.13.1 2020-12-04 21:38:28 +00:00

README.md

osci-render

Program for drawing objects, text, and images on an oscilloscope using audio output.

This allows for 3D rendering of .obj files, .svg images, and .txt files.

Lots of this code was built as part of a 24hr hackathon: IC Hack 20. The original repository can be found here: https://github.com/wdhg/ICHack20 It won 'Best Newcomers Prize' at the event.

Video Demonstration

osci-render demonstration

Current Features

  • Render .obj files on an oscilloscope
  • Render .svg files
  • Render text
  • Rotation of objects
  • Scaling image
  • Translating image
  • GUI for controlling renderer

Proposed Features

  • Tune and transpose audio output
  • Support rendering of multiple objects
  • Saving pre-rendered frames to file for later loading
  • Saving audio output to file
  • (long term) Keyframing/animating objects and camera

Usage

Using osci-render is very easy; run the program and choose the file you would like to render, and it will output as audio to visualise on your oscilloscope.

By default, the program loads the cube.obj example. If this is working, you're good to go and should be able to load your own objects, files, or images!

Control the output using the sliders and text boxes provided. Currently the following can be controlled:

  • Translation and speed of translation of the output
  • Weight of the lines drawn
  • Rotation speed
  • Scale of the image

There are some additional controls for .obj files:

  • Focal length of camera
  • Position of camera

Building

All dependencies are specified in the pom.xml file. Cloning this repo and using IntelliJ should make building a painless process.

xtaudio is the only library that is not on Maven central, and so it is provided in the lib folder and a system dependency is given in pom.xml.

Contact

James Ball, james@ball.sh

Special Thanks

IC Hack 20 Team Members: James Ball, William Grant, Jessica Lally, Noor Sawhney, and Andy Wang