All Projects β†’ jameshball β†’ osci-render

jameshball / osci-render

Licence: GPL-3.0 license
γ€°πŸ“ΊπŸ”Š Software for making music by drawing objects on an oscilloscope using audio.

Programming Languages

java
68154 projects - #9 most used programming language
CSS
56736 projects
python
139335 projects - #7 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to osci-render

blender-colab
Render Blender 3.x and 2.9x scenes with Google Colaboratory
Stars: ✭ 78 (-42.22%)
Mutual labels:  blender, rendering
Rd Blender Docker
A collection of Docker containers for running Blender headless or distributed ✨
Stars: ✭ 111 (-17.78%)
Mutual labels:  blender, rendering
export multi
Use the multi-exporter for Blender and check in (and tweak) various scenes step by step.
Stars: ✭ 31 (-77.04%)
Mutual labels:  blender, rendering
RefRESH
Create RefRESH data: dataset tools for Learning Rigidity in Dynamic Scenes with a Moving Camera for 3D Motion Field Estimation (ECCV 2018)
Stars: ✭ 51 (-62.22%)
Mutual labels:  blender, rendering
Armory
3D Engine with Blender Integration
Stars: ✭ 2,350 (+1640.74%)
Mutual labels:  blender, rendering
Bitwrk
Bitcoin-fueled Peer-to-Peer Blender Rendering (and more)
Stars: ✭ 114 (-15.56%)
Mutual labels:  blender, rendering
DuBLF DuBlast
Quick Playblast tool for Blender
Stars: ✭ 18 (-86.67%)
Mutual labels:  blender, rendering
Sheepit Client
Client for the free and distributed render farm "SheepIt Render Farm"
Stars: ✭ 244 (+80.74%)
Mutual labels:  blender, rendering
Appleseed
A modern open source rendering engine for animation and visual effects
Stars: ✭ 1,824 (+1251.11%)
Mutual labels:  blender, rendering
Herebedragons
A basic 3D scene implemented with various engines, frameworks or APIs.
Stars: ✭ 1,616 (+1097.04%)
Mutual labels:  blender, rendering
Hdcycles
Cycles Hydra Delegate
Stars: ✭ 197 (+45.93%)
Mutual labels:  blender, rendering
Blender Cli Rendering
Python scripts for rendering images using Blender 2.83 from command-line interface
Stars: ✭ 241 (+78.52%)
Mutual labels:  blender, rendering
glTF-Blender-IO-materials-variants
Blender3D addon for glTF KHR_materials_variants extension
Stars: ✭ 56 (-58.52%)
Mutual labels:  blender
Robatim
a hard-coded music generator
Stars: ✭ 29 (-78.52%)
Mutual labels:  midi
biology
one key generate biology 3D modul by blender,such as animal,plant,micra
Stars: ✭ 33 (-75.56%)
Mutual labels:  blender
modifier list
Blender add-on with enhanced UI layout for modifiers with handy features. Replaces the regular modifier UI and adds a tab in the Sidebar and a popup.
Stars: ✭ 206 (+52.59%)
Mutual labels:  blender
drum-machine-patterns
Transcription of the book 200 Drum machine patterns by RenΓ©-Pierre Bardet
Stars: ✭ 49 (-63.7%)
Mutual labels:  midi
pose-thumbnails
Blender add-on that adds thumbnails to a pose library.
Stars: ✭ 65 (-51.85%)
Mutual labels:  blender
thicket
Thicket: Laubwerk Plants Add-on for Blender
Stars: ✭ 51 (-62.22%)
Mutual labels:  blender
DeepBump
Normal & height maps generation from single pictures
Stars: ✭ 185 (+37.04%)
Mutual labels:  blender

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

This allows for 3D rendering of .obj files, .svg images, .txt files, and Blender scenes on Windows, macOS, and Linux.

You can use MIDI to interface with osci-render to make and record music.

Read more about 'Rendering shapes through audio signals' in this article featuring osci-render!

Send an email to [email protected] if you have any issues, feedback, feature requests, or anything else!

Video Demonstrations

Full overview

osci-render full overview

youtube.com/watch?v=PKVCx7rs_r8

Getting started

getting started with osci-render

youtube.com/watch?v=ZeP-0U8ebKU

Current Features

  • Render .obj files on an oscilloscope
  • Render .svg files
  • Render text
  • Blender integration
  • Software oscilloscope visualisation
  • Rotation of objects
  • Scaling images
  • Translating images
  • Applying image effects
    • Bit Crush
    • Vertical/Horizontal Distortion
    • Image Wobble
    • Smoothing
    • Image Tracing
  • Save rendered audio to .wav file
  • Show current frequency of audio
  • MIDI control!
  • Frequency control
  • Animating image effects

Screenshots

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 example cube object. 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
  • Weight of the lines drawn
  • Rotation speed
  • Volume/scale of the image
  • Frequency

There are some additional controls for .obj files:

  • Focal length of camera
  • Rotation speed
  • Rotation direction

Additional effects can be applied to the image such as:

  • Vector cancelling (every other audio sample is inverted)
  • Bit crush
  • Horizontal/Vertical distortion
  • Image Wobble (plays sin wave at same frequency as output)
  • Smoothing
  • Image Trace (traces out the image, drawing only a portion of the whole image)

Using osci-render with Blender

This video explains how to install and use osci-render with Blender. Below is an overview of the process, assuming you've already installed osci-render.

  • Download the latest Blender add-on from Releases named osci-render-blender-addon.zip
  • Install and enable the add-on in Blender
  • 'osci-render settings' menu will now appear under 'Render Properties'
  • Open osci-render
  • Click 'Connect to osci-render'
    • If the filename in osci-render changes to 'Rendering from external input' you have successfully connected
  • Add a camera to the scene (if not already present)
  • Add a Scene Line Art object to the scene
    • Press Shift+A and navigate to Grease Pencil > Scene Line Art
  • Go to 'Modifier Properties' of the newly created Line Art object
  • Click 'Bake Line Art' under the the 'Bake' settings to generate line art for the current animation/scene/camera
  • You should now see the scene on your oscilloscope!

If there are any problems, please create an issue!

Using osci-render without an oscilloscope

osci-render now has a software oscilloscope built-in! It is a modified version of m1el/woscope, an amazing web-based software oscilloscope.

You can open it from Window > Open Software Oscilloscope which will open james.ball.sh/oscilloscope in your default browser.

If there are any problems, please create an issue!

MIDI

You can use MIDI to control the frequency of the output - just plug in or open a MIDI software/hardware device and open osci-render and start playing notes!

To control the sliders using a MIDI slider or knob from a physical device, do the following:

  • First, plug-in MIDI device
  • Open osci-render
  • Click MIDI logo next to the slider you want to control
  • Red means the slider is 'armed' and waiting for you to choose a MIDI key to associate it with
  • Move a CC slider/knob etc. on your MIDI device
  • The MIDI logo now turns green, and is controlled by your MIDI device!

Installing

Head over to Releases and download the latest .exe, .pkg, .deb, or .jar.

.exe, .pkg, or .deb is recommended, if possible, as it is simpler to get up and running.

Installing using .exe (Windows)

  • Download the latest osci-render-VERSION.exe from Releases
  • Open the .exe skipping any Windows security warnings
  • It should open briefly and then close without any user input
  • Check your start menu for osci-render or open osci-render.exe at C:\Program Files\osci-render
  • Start rendering!

Updating to later versions is as simple as running the latest osci-render-VERSION.exe again.

To uninstall, use Windows control panel, as you would expect.

Installing using .pkg (macOS)

  • Download the latest osci-render-VERSION.pkg from Releases
  • Since I haven't paid for a developer licence, you'll be warned that it is from an 'unidentified developer' when trying to run the installer
  • To mitigate this, do the following (explained on the macOS User Guide)
    • Locate the downloaded .pkg file in Finder
    • Control-click the file, and choose Open from the shortcut menu
    • Click Open
  • Follow the steps in the installer
  • Open osci-render from the Launchpad
  • Start rendering!

Installing using .deb (Ubuntu)

  • Download the latest osci-render_VERSION-1_amd64.deb from Releases
  • Install as usual, according to your distro
    • e.g. on Ubuntu, just double click to open and choose software installer
  • After installing, you can execute /opt/osci-render/bin/osci-render to run!
  • Start rendering!

Running using .jar (all platforms)

  • Download the latest osci-render-os-VERSION.jar from Releases
    • Download the version that is relevant to your OS, otherwise the program will not open
    • i.e. osci-render-win-VERSION.jar for Windows and osci-render-unix-VERSION.jar for Linux
  • Download and install Java 19 or later
  • Run the following command from your terminal to run the .jar, substituting the correct path to your .jar file
  • java "-Dfile.encoding=UTF8" -jar "PATH/TO/osci-render-os-VERSION.jar"
  • Start rendering!

Building

I am using Maven for dependency management and to package the program. Doing the following will setup the project. I highly recommend using IntelliJ.

  • Download and install Java 19 or later
  • Run git clone [email protected]:jameshball/osci-render.git
  • Open the project in IntelliJ
  • I use SceneBuilder to edit the GUI
    • The FXML project files for each GUI element are located in src/main/resources/fxml
  • You're good to go!

You should now be able to run sh.ball.gui.Launcher and start the program 😊

Contact

James Ball, [email protected]

Special Thanks

'Rendering shapes through audio signals' article author: Sudarshan Sreeram

@javierplano_videonix for testing and providing advice as an artist

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].