Hi All,
I posted here about 6 months ago to announce a proof-of-concept Python video synthesizer I was working on. After several large refactors I am back to announce the first versioned release!
Python Video Synthesizer is built for creating live, collaborative, experimental video art via a dual-source video mixer with modular effect chains, a procedural animation library, LFO modulation, and audio reactivity. It can be controlled locally via a Qt GUI and/or MIDI controllers, or remotely via a React web app, REST API, Ollama chat prompt, or Open Sound Control. PVS outputs via OBS, FFmpeg, or virtual camera, easily integrating with other applications and video hardware. No video hardware or expensive computer is required - PVS was developed on a laptop without a GPU.
Changes since last post:
- 1 modular effects chain per source with an additional modular effects chain on the mixed output
- Qt desktop GUI for solo use and browser-based web app GUI for collaborative use
- Audio reactivity: FFT band energy mapped to any parameter, with beat detection and live BPM display
- LFO modulation on any parameter (sine, square, triangle, sawtooth, Perlin noise waveforms) with nested LFO support
- MIDI mapper GUI panel with MIDI learn: no static, hand-coded mappings required
- OSC control compatible with TouchOSC, SuperCollider, Max/MSP
- Patch save/load system with autopilot mode to cycle patches automatically
- Performance controls: blackout, freeze frame, and keyboard shortcuts for live use
- Dockerized stack for easy deployment including Node.js, Ollama, and FFmpeg
- Performance profiling to identify frame pipeline bottlenecks
- OBS WebSocket, FFmpeg (file/UDP/RTMP/SRT), and virtual camera outputs
- Virtual camera input source (useful as an additional feedback source)
- pytest suite with GitHub Actions CI on every push
- GitHub Actions workflow for building and releasing a Windows .exe
- GitHub Pages documentation site
- Control parameters with natural language via Ollama chat web UI
- New animations: Lenia, Fractal Zoom, Oscillator Grid, Harmonic Interference,
- Perlin Noise, and more (21 sources total)
- New effects: pixel sorting, chromatic aberration, XY pad control surface, audio spectrum display (and more)
Links:
Releases: Releases · Khendi1/PVS · GitHub
Full documentation including API reference, parameter tables, and getting started guide: Video Synth
Source code: GitHub - Khendi1/PVS · GitHub
Still early days but the core engine is solid. Happy to answer questions or hear what features would be useful for your workflow.
Thanks!