Oscimorph is a full-screen desktop app for turning media, shapes, text, or scripts into oscilloscope-style, audio-reactive MP4 videos. Oscimorph treats sound as signal and visuals as geometry.
Developed by David Cody - Honeycomb Lab
Honeycomb Lab: https://www.honeycomblab.art
How It Works
- Choose an input mode: Media, Shapes, Text, or Script.
- Choose an audio source: Audio File or Oscillator.
- Adjust render settings, overlays, and effects.
- Render to an MP4.
Features
- Input modes: media (GIF, image, or video), shapes, text, or Python script geometry
- Audio source: audio file analysis or internal oscillator (with optional audio monitor)
- Render modes: edge-only or edge-overlay with waveform line and lissajous overlay
- Built-in shapes: ring, polygon, ellipse, heart, star, rectangle, spiral, lemniscate, cardioid, clover, superellipse
- Audio modulation targets:
all,low,mid,high,band:<index>, orosc - Effect stack: smoothing, displacement, thickness, glow, threshold, warp, rotation, trail, flicker, hue shift, scanline, decimate, jitter, dither, phosphor, bloom, vignette, chromatic aberration, barrel distortion, noise, horizontal jitter, vertical roll, color bleed
- Preset save/load (JSON) with built-in presets in
app/presets/ - MP4 output via MoviePy/FFmpeg with resolution, FPS, and aspect controls
Requirements
- Python 3.11+
ffmpegon PATH (for reliable MP4 output)
Quick Start (Windows)
- Double-click
install_dependencies.batand review the dependency check report. - Choose whether to install/update missing items.
- Double-click
run_oscimorph.batto launch (logs:app/debug/oscimorph_run.log). run_oscimorph.batis launch-only and will prompt you to run the installer if checks fail.
Quick Start (macOS/Linux)
bash install_dependencies.shand review the dependency check report.- Choose whether to install/update missing items.
bash run_oscimorph.shto launch (logs:app/debug/oscimorph_run.log).run_oscimorph.shis launch-only and will prompt you to run the installer if checks fail.
Manual Run
python -m pip install -r app/requirements.txt
set PYTHONPATH=app/src
python -m oscimorphIf you install the package in editable mode, you can also run oscimorph directly.
Input Modes
- Media: Uses a GIF/image/video as the base frame source.
- Shapes: Generates procedural outlines (see shapes list above).
- Text: Converts a font outline into polylines.
- Script: Runs a local Python file that returns polylines per frame.
Audio Analysis Oscimorph analyzes the audio into 5 bands and exposes these to modulators and scripts:
subs,lows,low_mids,high_mids,highs, plusall(average)oscis available when mixing the internal oscillator
Script API
Provide a .py file with a generate function:
def generate(t, audio, settings):
# Return a list of polylines, each polyline is a list of (x, y) tuples.
# Coordinates are normalized in [-1.0, 1.0].
return [
[(-1.0, 0.0), (1.0, 0.0)]
]audio keys: subs, lows, low_mids, high_mids, highs, all, osc
settings keys: width, height, fps
This allows fully procedural, generative, and fractal visuals driven directly by sound.
Example scripts live in app/scripts/ (e.g., lissajous.py, spirograph.py, julia_set.py).
Presets
- Use the Effects panel to save and load JSON presets.
- Built-in presets are stored in
app/presets/.
Output & Logs
- Default output:
app/output/output.mp4 - Render log:
app/debug/oscimorph_run.log - Temporary files:
app/temp/
Controls & Tips
- Press
Escto exit (with confirmation). - Preview is lightweight and intended to show modulation behavior, not final pixel quality.
- If rendering is slow, reduce resolution or FPS.
Project Layout
app/src/oscimorph/: application code (GUI, audio analysis, renderer)app/presets/: effect presetsapp/scripts/: example procedural geometry scriptsapp/assets/: icons and brandingapp/output/,app/debug/,app/temp/: runtime directories
Who Oscimorph Is For
- Music producers who want custom visuals for their tracks
- Artists making lyric videos or logo reveals
- Developers and math/graphics nerds who enjoy procedural geometry
Not intended as a VJ performance tool or real-time live visuals (yet).
License
MIT License. See app/legal/LICENSE.txt.