A real-time video effects console for live visual performance and experimentation.
Vidromancer is a desktop application for creating and performing real-time video effects. Inspired by classic video synthesizers and modern creative coding tools, it provides a visual playground for artists, VJs, and experimenters.
This is a Fladry Creative experiment.
- Real-time GPU-accelerated effects — 60 FPS performance using WebGL/Three.js
- 15+ built-in effects — Colorama, feedback, glitch, kaleidoscope, VHS, scanlines, and more
- Dual video source mixing — Load videos, images, or use your webcam
- Audio-reactive visuals — Effects respond to audio input with spectrum and waveform analysis
- LFO modulation — Automate any parameter with sine, square, triangle, or random waveforms
- MIDI control — Map hardware controllers to any parameter for live performance
- Effect chaining — Stack and reorder effects with drag-and-drop
- Recording output — Capture your creations as video files
Coming soon
Download the latest release for macOS (Apple Silicon):
Download Vidromancer v0.1.0-beta
Note: This is an unsigned beta release. On first launch:
- Right-click the app and select "Open"
- Click "Open" in the security dialog
Or run in Terminal:
xattr -cr /Applications/Vidromancer.app
- macOS 12+ (Monterey or later)
- Apple Silicon (M1/M2/M3)
- 4GB RAM minimum
- GPU with WebGL 2.0 support
- Node.js v18 or higher
- npm (comes with Node.js)
- macOS with Xcode Command Line Tools
# Clone the repository
git clone https://github.com/drftstatic/vidromancer.git
cd vidromancer
# Navigate to the app directory
cd vidromancer
# Install dependencies
npm install
# Start development server
npm run dev# Build the application
npm run buildThe installer will be created in vidromancer/release/.
vidromancer/
├── vidromancer/ # Electron application
│ ├── src/
│ │ ├── renderer/
│ │ │ ├── engine/ # Core rendering engine
│ │ │ │ ├── effects/ # GPU shader effects
│ │ │ │ ├── modulation/ # LFO and audio-reactive
│ │ │ │ └── visualizers/ # Audio visualizers
│ │ │ ├── components/ # React UI components
│ │ │ └── services/ # MIDI, Audio, Recording
│ │ └── App.tsx
│ ├── electron/ # Electron main process
│ └── package.json
├── landing-page/ # Marketing website
└── README.md
- Electron — Cross-platform desktop framework
- React 18 — UI components
- Three.js / React Three Fiber — GPU-accelerated rendering
- TypeScript — Type-safe codebase
- Vite — Fast development and builds
- Web Audio API — Audio analysis
- Web MIDI API — Hardware controller support
| Effect | Description |
|---|---|
| Colorama | HSL color cycling and shifting |
| Feedback | Video feedback delay loops |
| Glitch | Digital distortion artifacts |
| Kaleidoscope | Radial symmetry patterns |
| Mirror | Horizontal/vertical reflection |
| Blur | Gaussian blur with radius control |
| Pixelate | Retro pixel reduction |
| Posterize | Color quantization |
| Edge Detect | Sobel edge detection |
| Scanlines | CRT monitor simulation |
| VHS | Analog tape distortion |
| Invert | Color inversion |
| Displacement | Texture-based warping |
| Luma Key | Brightness-based transparency |
| Audio Spectrum | Frequency visualization |
| Audio Waveform | Time-domain visualization |
| Audio Glow | Beat-reactive glow effects |
- Windows support
- Syphon/Spout output for VJ software integration
- Preset save/load system
- Additional effects and blend modes
- NDI input/output
- OSC control support
This is an experimental project and not currently accepting contributions. However, feedback and bug reports are welcome!
MIT License — See LICENSE for details.
Fladry Creative robb@fladrycreative.com
Built with obsession by Fladry Creative