Visuals
General
See also Audio#Visualisation, Video, Creative coding, Networked media, Shaders, Lighting
post consolidation, to rework
- https://en.wikipedia.org/wiki/VJing - a broad designation for realtime visual performance. Characteristics of VJing are the creation or manipulation of imagery in realtime through technological mediation and for an audience, in synchronization to music. VJing often takes place at events such as concerts, nightclubs, music festivals and sometimes in combination with other performative arts. This results in a live multimedia performance that can include music, actors and dancers. The term VJing became popular in its association with MTV's Video Jockey but its origins date back to the New York club scene of the 70s. In both situations VJing is the manipulation or selection of visuals, the same way DJing is a selection and manipulation of audio.One of the key elements in the practice of VJing is the realtime mix of content from a "library of media", on storage media such as VHS tapes or DVDs, video and still image files on computer hard drives, live camera input, or from computer generated visuals. In addition to the selection of media, VJing mostly implies realtime processing of the visual material. The term is also used to describe the performative use of generative software, although the word "becomes dubious (...) since no video is being mixed".
- https://en.wikipedia.org/wiki/Video_art - an art form which relies on using video technology as a visual and audio medium. Video art emerged during the late 1960s as new consumer video technology such as video tape recorders became available outside corporate broadcasting. Video art can take many forms: recordings that are broadcast; installations viewed in galleries or museums; works streamed online, distributed as video tapes, or DVDs; and performances which may incorporate one or more television sets, video monitors, and projections, displaying live or recorded images and sounds.
- Visual Music Archive - a non-institutional and highly subjective collection of inspirational works from the ever expanding field of Visual Music. This is a non-profit online art archive of links more than films. There is no commerce going on here, no ads, nothing and we will gladly remove anything you ask us to.
- Drawing Sound - Postgraduate course in Interactive Music Systems Design (CDSIM), Pompeu Fabra University
Video synthesis / bending
- YouTube: Alex Pelly Video Synthesis Workshop
- getting_started with video feedback - andrei_jay_creative_coding
- how does video feedback work - andrei_jay_creative_coding
- how_to_capture - andrei_jay_creative_coding
Examples
- YouTube: INP0031- Earl Grey - French Exit EP - video example
- YouTube: Video Synthesis ✱
Hardware
- LZX Industries - Analog / Digital Video Synthesizers - Video Art
- underscores – open video hardware label, for research and distribution of accessible open-source video-art making instruments
- Synkie - a modular open source analog video processor, developed byMichael Egger, Flo Kaufmann and Max Egger. Like the venerable modular Moog synthesizer it lets you toy around with the signal using patch cables – but this time not producing sound but images. It is an instrument for video, a playground, a platform to explore new ways to transform a video signal. Synkie is still in development, we constantly develop new modules – and even the base specifications may still change over time.
- https://github.com/Ttreintaysiete/chaves - Cheap Hacky Audio/Video - Glitch VGA synth based on jonasbers.com/chav/This is a WIP, and PCBs have not fully tested, if you want to contribute send a build to your favorite pcb provider and give us any feedback.
- https://github.com/meltdream/strange-loop - a digital feedback processor based on openFrameworks and the Raspberry Pi. It allows the user to control several parameters of the feedback loop that are fixed or difficult to alter in standard video mixer feedback, with an embedded control interface consisting of two clickable joystick and four potentiometers.
- videffektor - a glitchy, lo-fi distortion effect for analog video signals. It was originally designed by James Schidlowsky via postings to Electro-Music.com; and was recently revived by Javier Plano (@Videonic) who designed and published a PCB design which you can freely download. I led a few workshops (see workshop documentation) using this design.
- https://github.com/cyberboy666/r_e_c_u_r - an embedded python/openframeworks application on raspberry pi3 that uses input from the keypad to control video while displaying a simple text ui on a rpi lcd screen
- https://github.com/cyberboy666/c_o_n_j_u_r - r_e_c_u_r started as a video sampler / looper - using python on rpi to trigger clips via omxplayer. as the project grew i wanted more flexibity on how the videos were played so decided to replace omxplayer with a custom openframeworks app called c_o_n_j_u_r
c_o_n_j_u_r is the custom c++ video backend for r_e_c_u_r. they communicate via osc locally.
- https://github.com/cyberboy666/i_n_c_u_r - a r_e_c_u_r video sampler extension circuit - adding knobs, cv and serial midi control
- https://github.com/cyberboy666/c_l_i_k_r - a r_e_c_u_r video sampler extension circuit - custom keypad & midi controller
- https://github.com/cyberboy666/d_e_t_o_u_r - raspberry pi video performance tool that samples input video frames from piCaptureSd1, into RAM and allows dynamic short-term access to them via midi control this is an open community project based on the proof-of-concept @Autr and i created and inspired by the JonesFrameBuffer
- https://github.com/cyberboy666/_rupture_ - this circuit takes any composite video signal as input and destroys the signal in many interesting and unpredictable ways - due to the nature of analog video glitches for best results you should output this signal directly to a crt tv.
- https://github.com/cyberboy666/recurBOY - a rpi0 video-instrument – created in collaboration with Guergana Tzatchkova
- https://github.com/cyberboy666/sync_ope - effect send + sync restoring circuit - adapted from a gael jaton design
- https://github.com/cyberboy666/_bisect_ - a card-shaped video distribution amplifier
- https://github.com/cyberboy666/sync_ope - a companion circuit for analog glitch & circuit bent video instruments. it preserves the sync pulses from the original signal and allows for smooth mixing between clean (dry, and distorted (wet) video. preserving the sync pulses means the distorted video is less likely to drop out (blue screen) when sent to analog video decoders such as in projectors, capture cards and digital tvs
- https://github.com/cyberboy666/two_point_one_colorizer - analog video colorizer effect - adapted from a rob schafer design
- https://github.com/cyberboy666/two_comparator_effect - analog video posterisation effect - adapted from a rob schafer design
- https://github.com/Teletect/VS-002_Dual-Enhancer - Eurorack 4hp Dual Video Enhancer module. Based on the Archer Video Enhancer.
- https://github.com/cfoge/OPEN_SPECTRE - Project aimed at recreating the EMS SPECTRE VIDEO SYNTHESIZER in HDL
- CHA/V - CHEAP, HACKY, A/V, is a #DIY, #audiovisual, #A/V, #video synthesizer, that has inexplicably been built by civilians around the world, as well as in international workshops and fancy art schools. I also will never shut up about the fact that it was included in Handmade Electronic Music, one of my all-time favorite books. Now that all my impressive-sounding words and hashtags in there we can begin communicating like humans. If you are new to video synths, fasten your seat belt. You just opened up a huge can of wormholes. This project has grown a lot since I launched it in 2016 (under the title “how to make a crap video synth for $10), so much so that it unfortunately requires a table of contents now.
$
- Critter & Guitari: Video Scopes
- blittertech: video synthesizer - lo-res video synthesizer hardware rich analog visuals from a unique audio-reactive video synthesizer
- Sleepy Circuits: Hypno - Semi-Modular Video Synthesizer System
Web
- https://github.com/morukutsu/popart-io - a WebGL project inspired by hardware video synthesis. Using basic waveforms (sin, square, tri or saw) and advanced modulation, it is possible to combine different effects to create unique video sequences.Each build block has a set of parameters which can be tweaked to reveal new shapes and patterns.
- RGBNDR -
Tools
See also Synthesis#TX Modular
- https://github.com/joncampbell123/composite-video-simulator - Code to process video to simulate analog composite video.
- https://github.com/burningion/pygame-video-synthesizer - Video Synthesizer in Pygame and Python
Scintillator
- Scintillator - a visual synth designed to be controlled via OSC from the music programming language SuperCollider. This software is distributed in two pieces but both are maintained in this repository. The first piece is the visual synth itself, called scinsynth, which is C++ program that uses the Vulkan API to generate video imagery in real time. The source code for scinsynth can be found in src/, and some related documentation, including build instructions, are in src/doc/. The synth relies on a bunch of open source libraries to help with various functions, these are mostly included as git submodules, and all third-party code lives in the third_party directory. The second half of Scintillator is a collection of SuperCollider sclang class files. These are distributed normally as a Quark, and indeed this repository is the Scintillator Quark as available from the in-app Quarks system. Documentation for these classes is in the SuperCollider help format, but can be found in the HelpSource directory.
EYESY
- EYESY - reacts to your music to create endlessly mesmerizing visuals. Simply plug it in and start creating. But don't be fooled by the simplicity of the EYESY, there are many features and goodies hidden inside. Whether you are creating live visuals, working on a music video, or want to program your own graphics, the EYESY will become an indispensable tool.
- https://github.com/critterandguitari/EYESY_OS - The operating system for the EYESY video synthesizer device. The system contains three main components: engines, generally a video engine takes audio, midi, and control messages as input and outputs video; pd, a Pd patch for controlling the video engine; web, a web based editor and file manager. Multiple video engines are supported as long as they respond to the messages sent by the controller. The controller is a Pd patch that reads the hardware knobs and buttons, handles MIDI and LINK connections and fowards all this to the video engine as Open Sound Control messages. Other random commands are in the system folder and platform specific files and services are in the platforms folder. Eventually other platforms may be supported, but currently it is all designed to run on the Raspberry Pi based EYESY hardware.
- https://github.com/jqrsound/EYESY_OS_for_RasPiSound - Adaptation of the Critter&Guitari EYESY video synth for Raspberry Pi with Patchbox OS and Blokas PiSound.
- https://github.com/jqrsound/eyesy-ctl-scripts - scripts to use Eyesy with the Pisound mobile App.
- https://github.com/Lcchy/Eyesy_for_fates - Adaptation of the Critter&Guitari Eyesy video synth in order to run it on Fates (or norns shield, as a Sidekick App
- https://github.com/jqrsound/patchbox-module-eyesy - EYESY Module for Patchbox OS
- https://github.com/Vonholt/Eyesy-Controller - A midi controller based around an arduino micro for controlling Eyesy
- https://github.com/caljup/eyesy-modes - Eyesy Modes Created: S - Beat Bat T - Parked Car
- https://github.com/jkc909/eyesy - collection of custom Eyesy modes
- https://github.com/balancespring/EYESY - Custom modes for the Critter & Guitari EYESY
- https://github.com/bosgood/eyesy-modes - Modes for the EYESY video synthesizer
- https://github.com/Syntheist/eyesy-snake - An Eyesy "mode" that makes a snake move to the beat.
- https://github.com/okyeron/EYESY_oFLua_Modes - openFrameworks Modes for EYESY video synth
- https://github.com/critterandguitari/EYESY_oFLua_Examples - openFrameworks / Lua examples for the EYESY
- https://github.com/critterandguitari/EYESY_OF - OF app for the EYESY that runs lua scripts. It is part of EYESY_OS
- https://github.com/trev-rock/Eyesy - dedicated to the Critter and Guitar Eyesy device
- https://github.com/notmatthancock/eyesim - a simulator for the eyesy visual synth. Its purpose is to allow you to develop new eyesy visualization modes when you're too lazy to get out of bed and plug in audio, video, and power cables.
- https://github.com/ohmbre/ohmstudio - portable virtual modular synth platform that aims to be fun, usable, collaborative, and extensible. UI designed for ohmbre hardware synthesizer or similar touchscreen device, yet it is fully cross-platform.
Vector synthesis
- YouTube: Derek Holzer: A Media Archaeology of Vector Graphics (PART ONE)
- YouTube: Derek Holzer: A Media Archaeology of Vector Graphics (PART TWO)
- https://en.wikipedia.org/wiki/Vector_monitor - vector display, or calligraphic display is a display device used for computer graphics up through the 1970s. It is a type of CRT, similar to that of an early oscilloscope. In a vector display, the image is composed of drawn lines rather than a grid of glowing pixels as in raster graphics. The electron beam follows an arbitrary path, tracing the connected sloped lines rather than following the same horizontal raster path for all images. The beam skips over dark areas of the image without visiting their points.
- The Secret Life of XY Monitors - This article represents what I know about XY Monitors. XY was Atari's name for what the Computer Graphics industry calls '"Random Scan" and the Video Game Community calls "Vector Games." The major parts of the XY Monitor are the Cathode Ray Tube (CRT), the Deflection Amplifiers, and the High Voltage Supply.
- macumbista.net » Vector Synthesis - allows the creation and manipulation of 2D and 3D vector shapes, Lissajous figures, and scan processed image and video inputs using audio signals sent directly to oscilloscopes, hacked CRT monitors, Vectrex game consoles, ILDA laser displays, or oscilloscope emulation softwares using the Pure Data programming environment. Audio waveforms control the vertical and horizontal movements as well as the brightness of a single beam of light, tracing shapes, points and curves with a direct relationship between sound and image. The technique is based on the well-known principle of Lissajous figures, which are a mathematical representation of complex harmonic motion. Originally displayed by reflecting light between mirrors attached to a pair of vibrating tuning forks, we are most used to seeing them on the screen of an oscilloscope, where they can be produced using pairs of electronic oscillators tuned to specific ratios. There is a wealth of such experiments from the 1950s onward by major figure such as Mary Ellen Bute, John Whitney, Larry Cuba, Manfred Mohr, Nam June Paik, Ben Laposky, Bill Etra, and Steina & Woody Vasulka, which were all highly inspiration to the development of this library.
- https://github.com/schlae/scopetrex - Have you ever wanted to buy a Vectrex, but you can't afford the high prices on auction sites? Do you already have a hoard of Vectrexes, but want another one? Well now you can build your own! The SCOPETREX is basically a Vectrex on a single board without a monitor. To play games, you have to connect it to an oscilloscope or an XY monitor.
Visualisation
- https://github.com/willianjusten/awesome-audio-visualization - A curated list about Audio Visualization.
ffmpeg
ffmpeg/ffmplay
- mpv audio visualization - basic overview
- https://trac.ffmpeg.org/wiki/FilteringGuide - medium, best
- FFmpeg Filters Documentation - long
ffmpeg -filters --lavfi-complex=<string>
Set a "complex" libavfilter filter, which means a single filter graph can take input from multiple source audio and video tracks. The graph can result in a single audio or video output (or both). Currently, the filter graph labels are used to select the participating input tracks and audio/video output. The following rules apply: - A label of the form ``aidN`` selects audio track N as input (e.g. aid1). - A label of the form ``vidN`` selects video track N as input. - A label named ``ao`` will be connected to the audio output. - A label named ``vo`` will be connected to the video output.
Each label can be used only once. If you want to use e.g. an audio stream for multiple filters, you need to use the ``asplit`` filter. Multiple video or audio outputs are not possible, but you can use filters to merge them into one. It's not possible to change the tracks connected to the filter at runtime, unless you explicitly change the ``lavfi-complex`` property and set new track assignments. When the graph is changed, the track selection is changed according to the used labels as well. Other tracks, as long as they're not connected to the filter, and the corresponding output is not connected to the filter, can still be freely changed with the normal methods. Note that the normal filter chains (``--af``, ``--vf``) are applied between the complex graphs (e.g. ``ao`` label) and the actual output.
- ``--lavfi-complex='[aid1] [aid2] amix [ao]'`` Play audio track 1 and 2 at the same time. - ``--lavfi-complex='[vid1] [vid2] vstack [vo]'`` Stack video track 1 and 2 and play them at the same time. Note that both tracks need to have the same width, or filter initialization will fail (you can add ``scale`` filters before the ``vstack`` filter to fix the size). To load a video track from another file, you can use --external-file=other.mk. - ``--lavfi-complex='[aid1] asplit [t1] [ao] ; [t1] showvolume [t2] ; [vid1] [t2] overlay [vo]'`` Play audio track 1, and overlay the measured volume for each speaker over video track 1. - ``null:// --lavfi-complex='life [vo]'`` A libavfilter source-only filter (Conways' Life Game).
mpv '--lavfi-complex=[aid1]asplit[ao][a];[a]showvolume[vo]' --alpha=no yourfile.wav
- FFmpeg Filters Documentation: showcqt - Convert input audio to a video output representing frequency spectrum logarithmically using Brown-Puckette constant Q transform algorithm with direct frequency domain coefficient calculation (but the transform itself is not really constant Q, instead the Q factor is actually variable/clamped), with musical tone scale, from E0 to D#10.
- https://github.com/mfcc64/showcqt-js - a javascript audio visualization engine based on ffmpeg showcqt filter.
- https://github.com/mfcc64/youtube-musical-spectrum - Audio visualizer for YouTube with musical notes. [1]
- https://github.com/mfcc64/html5-showcqtbar - ShowCQTBar javascript version from ffmpeg/mpv audio visualizer.
- ffviz - a real time a/v visualizer using an ffmpeg filter complex
MilkDrop / ProjectM
- MilkDrop - a music visualizer - a "plug-in" to the Winamp music player. As you listen your music in Winamp, MilkDrop takes you flying through the actual soundwaves you're hearing, and uses beat detection to trigger myriad psychedelic effects, creating a rich visual journey through sound. MilkDrop can also be driven by a live audio feed (microphone or line-in) - see the documentation for details. MilkDrop 2 is now here, rocking the pixel shaders.
- https://sourceforge.net/projects/milkdrop2
- http://en.wikipedia.org/wiki/MilkDrop - a hardware-accelerated music visualization plugin for Winamp, which was originally developed by Ryan Geiss in 2001. It uses DirectX and intelligent beat detection to render iterated images which blend seamlessly. MilkDrop uses a complex system of interpolation to transition between presets gradually through time, creating a constantly changing visual experience.
- ProjectM - open source MilkDrop, compatible with presets. not compatible with all MilkDrop presets. uses older OpenGL immediate mode not OpenGL ES. [2]
- https://github.com/DISTRHO/ProM - projectM is an awesome music visualizer. DISTRHO ProM makes it work as an audio plugin (LV2 and VST).
- LWN.net: An introduction to projectM [3]
- https://github.com/AerialX/projectM-android - OpenGL ES1 fork
- https://github.com/DISTRHO/ProM - projectM is an awesome music visualizer.DISTRHO ProM makes it work as an audio plugin (LV2 and VST).
Presets
- http://forums.winamp.com/showthread.php?t=325669 - milkdrop presets for projectm discussion
butterchurnviz
- https://butterchurnviz.com
- https://github.com/jberg/butterchurn - Butterchurn is a WebGL implementation of the Milkdrop Visualizer [5]
- https://github.com/jberg/milkdrop-preset-converter - Convert Milkdrop presets to Butterchurn JSON format
- https://github.com/jberg/milkdrop-eel-parser - Parses NSEEL2 equations and converts them to Javascript for use within Butterchurn
- Speeding Up Webamp's Music Visualizer with WebAssembly / Jordan Eldredge - Webamp.org's visualizer, Butterchurn, now uses WebAssembly (Wasm) to achieve better performance and improved security. Whereas most projects use Wasm by compiling pre-existing native code to Wasm, Butterchurn uses an in-browser compiler to compile untrusted user-supplied code to fast and secure Wasm at runtime. This blog post details why we undertook this project, the challenges we faced, the solutions we found, and the performance and security wins they unlocked.
- https://github.com/captbaritone/eel-wasm - EEL-Wasm is a compiler, written in TypeScript, that can convert Milkdrop EEL source code into a WebAssembly module in the browser.
- https://github.com/jberg/butterchurn-video-creator - Create videos of Milkdrop presets using Butterchurn
VSXu
- VSXu - (VSX Ultra) is an OpenGL-based (hardware-accelerated), modular programming environment with its main purpose to visualize music and create graphic effects in real-time.
Cthugha
- Cthugha Development Page - a program that listens to sound and displays graphics. It is sort of like an oscilliscope, but a lot cooler; the graphics Cthugha displays have flame effects, changing colors, and an alomst endless combination of attributes. Its sort of an interactive multimedia thing, at least it is interacting with the music. Originally Cthugha was a PC-DOS program, but the new version is designed to take advangaes in Windows graphics. This new version is still being developed, but that shouldn't stop you from checking it out! Cthugha is a native Win95 application. Cthugha should support all sound cards and graphics cards. High Res (640x480) and possibly high-color. Midi support (tired of CD's ??). New modes. Smooth palette changes
bomb
- https://github.com/scottdraves/bomb - 90s open source artwork "bomb" now on github.
- YouTube: Understand - example
FLAM3
- FLAM3 - The Flame Algorithm. Flames are algorithmically generated images and animations. The software was originally written in 1992 and released as open source, aka free software. Over the years it has been greatly expanded, and is now widely used to create art and special effects. The shape and color of each image is specified by a long string of numbers - a genetic code of sorts.
- https://github.com/scottdraves/flam3 - cosmic recursive fractal flames
Flickernoise
- Flickernoise - our VJ application that is made for our Milkymist One device. It has got a user-friendly interface that should make it very easy to use for anyone that wants to interact or control the Milkymist One. Our VJ application is optimized to be as easy to use as possible. So even if you do not know a lot of computer languages or programming, you should still be able to make use of our devices, through the Flickernoise application, rather easily. You would find that our Flickernoise application can render visual effects without a problem. And that you are also able to use it with no trouble as well. The application itself can render visual effects through hardware acceleration. The effects that are rendered through hardware-accelerated graphics are very similar to that of MilkDrop 1.x.
- https://github.com/m-labs/flickernoise
radiance
- radiance - video art software for Mac and Linux VJs. It supports beat detection, animated GIFs, YouTube video, and OpenGL shader effects.
Goom
- Goom 2k4 - allows you to admire your music! It's a cool visual effects generator for almost every multimedia player. (Goom will dazzle you with its hypnotic ...) It includes a large number of trippy hypnotic effects that dance, swirl and pop with the music.
audio-visualizer-python
- https://github.com/djfun/audio-visualizer-python - a little GUI tool which creates an audio visualization video from an input audio. You can also give it a background image and set a title text. tested on Linux (Ubuntu 16.04) and Windows (Windows 7), it should also work on Mac OS X.
Kubus
- Kubus is a minimalist audio visualizer, written in C/C++ using OpenGL and RtAudio. The aesthetic of Kubus draws inspiration from artists like Ryoji Ikeda and Viznut. Audio input is buffered into Kubus 1024 samples at a time, where it is sequentially mapped onto a 32 x 32 grid of squares. The amplitude of each particular sample controls the square color's lightness at that point in time. If FFT mode is enabled, the FFT bins are mapped onto the grid as well, controlling the saturation level of the squares.
Teardrop
- https://github.com/jlblatt/Teardrop - using the Web Audio API and a more traditional method of visualizing an audio signal. Teardrop implements time & frequency domain analyses, as well as beat detection, and uses WebGL to render 3D graphics inside of the browser.
Oscilloscope
- Oscilloscope - A software oscilloscope made for looking at music. Drop an audio file in the application and watch the waveforms.
phosphorm
- https://github.com/ex-zee-ex/phosphorm - an audio visual synthesizers optimized for x-y oscilloscope displays for the waaave pool distro
Alloscope
- https://github.com/rodneydup/Alloscope - A cross-platform X-Y (octopus) Oscilloscope built in Allolib
osci-render
- https://github.com/jameshball/osci-render - Project for making music by drawing objects on an oscilloscope using audio.
video_waaaves / waaaave_pool
- https://github.com/ex-zee-ex/VIDEO_WAAAVES_2 - a playground for video feedback synthesis
- https://github.com/ex-zee-ex/VIDEO_WAAAVES_2.5_suite - a video mixer, framebuffer delay, and feedback resynthesis engine built in openFrameworks
- https://github.com/ex-zee-ex/waaaave_pool - a port of video_waaaves to raspberry pi
- https://github.com/ex-zee-ex/phosphorm - an audio visual synthesizers optimized for x-y oscilloscope displays for the waaave pool distro
- https://github.com/ex-zee-ex/spectral_mesh - a scan processing inspired video resynthesizer for the waaave pool rpi distro
- https://github.com/ex-zee-ex/SUPER_HAECKEL_ADVENTURES_64 - A superformula based freeware video synth for the waaave_pool raspberry pi distro
- https://www.facebook.com/groups/440566853501750 - a discussion group for the Video_waaaves software family. all open source stuffs although I am very happy to receive donations if yr so inclined and I also build and sell various NTSC , PAL, and HDMI friendly teeny tiny hardware video synths as well!
Plane9
- Plane9 - a 3d visualizer where you never have to settle for just one view ever again. It features over 250 predefined scenes to choose from. But it doesn't end there since the scenes can be combined with one another to form a near endless supply of new views to experience. 39 transition are used to form a continous experience when moving from scene to scene. The visualizer can be used either as standalone window, screensaver, oculus rift or HTC Vive VR visualizer. It is sound sensitive and reacts to what your currently listening to, be it from spotify, iTunes or any another sound source, it can even react to what you record from a microphone or other input. Windows 7/8/8.1/10 (32 or 64 bit), Graphics card with OpenGL 3.3 support (Make sure you have the latest drivers for your card)
GLava
- https://github.com/jarcode-foss/glava - an OpenGL audio spectrum visualizer. Its primary use case is for desktop windows or backgrounds. Development is active, and reporting issues is encouranged.
KeyboardVisualizer
- https://gitlab.com/CalcProgrammer1/KeyboardVisualizer - Razer Chroma, Corsair RGB, and other RGB peripherals spectrograph visualizer for Windows and Linux
music_visualizer
- https://github.com/xdaimon/music_visualizer - Shader viewer / music visualizer for Windows and Linux
Heilan X3D
- Heilan X3D Browser - a cross-platform OpenGL X3D browser written in C++ and designed for audiovisual performance. Specifically, it forms the environment within which I developed an audiovisual instrument (Ashitaka) for my PhD.
Hydra
- Hydra - a platform for live coding visuals, in which each connected browser window can be used as a node of a modular and distributed video synthesizer.
audioMotion.js
- https://github.com/hvianna/audioMotion.js - a high-resolution real-time audio spectrum analyzer and full-featured music player written in JavaScript.
Magic Carpet
- https://github.com/PaulSlocum/magic-carpet - A generative audiovisual artwork that produces imagery using rapidly spinning photos of rugs and quilts. Magic Carpet is written in cross-platform C++ using SDL with minimal dependencies. It currently builds for Raspberry Pi and iOS, and it should be possible to add builds for Android and Windows. This code was ported from my original Magic Carpet iOS Objective C app.
Lasp
- https://github.com/keijiro/Lasp - a Unity plugin providing low-latency, high-performance and easy-to-use audio input functionality that is useful for creating audio reactive visuals.
NestDrop
- NestDrop - allows you to perform with high-resolution high-fps visuals which react in realtime to the music and then broadcasts the video via Spout. Since the Milkdrop engine is at the core you can easily bring in your own Milkdrop presets. Use any audio source to drive the visuals, even live audio. We know that your attention bandwidth is already in high demand and so we've streamlined NestDrop to be simple and fast to use.
Radiance
- https://github.com/zbanks/radiance - video art software for VJs. It supports beat detection, animated GIFs, YouTube video, OpenGL shader effects. It is designed for live performance and runs on Linux and MacOS.
soundshader
- GLSL & Sound | Some ideas on sound visualization. - Different images use slightly different coloring schemes. Usually, linear mapping of ACF values to color brightness produces the best results, but in a few cases I had to use a more sophisticated scheme to capture a mix of too low and too high ACF values, which often happens in loud club music. The only reason a coloring scheme is needed at all is the very limited brightness range of LCD monitors: those generally can’t display pixels that differ in brightness 10,000 times.
- https://github.com/soundshader/soundshader.github.io - ACF is a simple method to visualize music that produces surprisingly good results. Perhaps the most unexpected property of ACF is that it accurately transfers the subjective "harmony level" from music to images. It's almost an unreasonable property, if you think about it. Images below are ACF height maps in polar coordinates.
pytaVSL
- https://github.com/orlammd/pytaVSL - python tiny alpproximative VSL. It's a VJing and lights-projector virtualization program using pi3d.
- https://github.com/PlagiatBros/pytaVSL
Radiance
- Radiance - Chain together simple building blocks to create fantastic video effects. All rendering is GPU-accelerated for good performance, even on laptops. Radiance comes pre-loaded with over 150 effects, which are written in GLSL and can be edited live.
modular-music-visualizer
- https://github.com/Tremeschin/modular-music-visualizer - High quality video music visualization tool for the music production community. Support for Piano Roll and Music Bars mode, post processing with experimental custom GLSL shaders.
cli-visualizer
- https://github.com/dpayne/cli-visualizer -Command line visualizer. Supports mpd, with experimental support for alsa and pulseaudio.This project was heavily inspired by C.A.V.A, ncmpcpp, and rainbow
FFT-Power-Spectrum
Vkav
- https://github.com/Dougal-s/Vkav - an audio visualizer written in C++ using Vulkan as its rendering backend.
Spectrum3D
- Spectrum3D - displays a 3D audio spectrogram in real time or not from the microphone or an audio file (including recorded file from the microphone); it is compatible with Jack (jack-audio-connection-kit). Optionally, it supports multitouch gestures from touchscreen and touchpad. It is build with the Gstreamer, SDL (or Gtkglext), OpenGl, GTK+-2.0 and uTouch-Geis free libraries and is under GPL license. It is written for Ubuntu but works for other Linux distributions except for the multitouch frame (the uTouch suite is now available for Ubuntu).Spectrum3d can be compiled against GTK2 or GTK3. SDL will be used as the OpenGL extension by default untill GtkGlExt has a stable release for GTK3 (however, GtkGlExt can be used already in Spectrum3d, including the development version (GTKGLEXT3 for GTK3), but this has to be specifically enabled at the time of compiling).
PHANTOMa
- https://github.com/Foltik/PHANTOMa - Music reactive VJ environment with custom WebGPU rendering pipeline and audio analysis tools
ReCidia Audio Visualizer
- https://github.com/GhostNaN/recidia-audio-visualizer - A highly customizable real time audio visualizer on Linux
Whorld
- Whorld - a free, open-source visualizer for sacred geometry. It uses math to create a seamless animation of mesmerizing psychedelic images. You can VJ with it, make unique digital artwork with it, or sit back and watch it like a screensaver. Whorld's visualization is controlled via parameters which can be adjusted manually, or modulated by oscillators. A given setting of the parameters and their oscillators form a patch. You can use the demo patches, or create your own.Patches can be grouped together in a playlist. You can play patches manually, or Whorld can auto-play them for you. Whorld also includes a crossfader, which allows you to interpolate between two patches (AKA "tweening"). Whorld is optimized for VJing. All of its functions are available in full-screen mode, via shortcut keys, mouse or trackball, and MIDI controllers. Whorld can be synchronized to music, using tap tempo, or MIDI clocks.
Music Visualizer
- Music Visualizer
- https://github.com/waltonseymour/visualizer - Music visualizer built with WASM, Canvas, and Web Audio API
Spectro
- Spectro - Real-time audio spectrogram generator for the web
CCWT
- https://github.com/Lichtso/CCWT - Complex Continuous Wavelet Transform
- https://github.com/grz0zrg/ccwt.js - Javascript port of the CCWT library
Flitter
- Flitter - a functional programming language and declarative system for describing 2D and 3D visuals. The language is designed to encourage an iterative, explorative, play-based approach to constructing visuals. The engine is able to live reload all code and assets (including shaders, images, videos, models, etc.) while retaining the current system state - thus supporting live-coding. It also has support for interacting with running programs via MIDI surfaces. Flitter is designed for expressivity and ease of engine development over raw performance, but is fast enough to be able to do interesting things.
LedMusicStudio
- https://github.com/newcat/LedMusicStudio - A WIP music visualization editor based on Electron, Vue 3 and BaklavaJS.
Colour
Lazy-Guy
- https://github.com/EAMIRorg/Lazy-Guy - allows color tracking (from a laser pointer or other colored object) to be translated as diatonic pitch events.
ColorChord
- https://github.com/cnlohr/colorchord - Chromatic Sound to Light Conversion System. It's really that simple. Unlike so many of the sound responsive systems out there, ColorChord looks at the chromatic properties of the sound. It looks for notes, not ranges. If it hears an "E" it doesn't care what octave it's in, it's an E. This provides a good deal more interesting patterns between instruments and music than would be available otherwise.
Neural network
Neural Synesthesia
- Neural Synesthesia - visualizing music with #GANs! [7]
- YouTube: Neural Synesthesia
StyleGAN 2 JACK visualizer
- https://github.com/simoncrowe/stylegan2-jack-visualizer - Visualise the spectral density of a JACK client's audio output in real time using StyleGAN 2
Deep Music Visualizer
- https://github.com/msieg/deep-music-visualizer - The Deep Music Visualizer uses BigGAN (Brock et al., 2018), a generative neural network, to visualize music.
Generative
- Romanesco - Generative Live Art Application - built with Processing
Mixing
FreeJ
- FreeJ - a vision mixer: a digital instrument for realtime videomanipulation used in the fields of dance teather, veejaying, onlinestreaming, medical visualisation and TV.It runs a video engine in which multiple layers can be filtered thrueffect chains and then mixed together with images, movies, livecameras, particle generators, text scrollers and vector graphics. Allthe resulting video mix can be shown on a screen, encoded into a movieand streamed live to the internet.FreeJ can be controlled locally or remotely, also from multiple placesat the same time, using its ascii console interface; operations can bescripted in javascript and triggered live via keyboard, mouse, MIDIcontrollers, Joysticks, OSC clients, Wiimotes and more devices. FreeJ's sourcecode is written in portable C and C++ and it works onmost platforms supported by the GNU C compiler, including 32bit and64bit processors, PowerPC and various ARM flavours.
Freeseer
- Freeseer - Designed for capturing presentations at conferences. Pre-fill a list of talks to record, record them, and upload them to YouTube with our YouTube Uploader.
- Kaliscope download | SourceForge.net - a set of tools and plugins to create a professional pipeline for cinema works. It can also be used to create a telecinema that convert silver films into numeric movies. The goal is to produce reliable sophisticated tools to help artists in their analog/numeric film projects by respecting the quality of their precious images.
GLMixer
- GLMixer - performs real time graphical blending of several movie clips and of computer generated graphics.Drop video files in the mixing workspace and place them in a circular area to change their opacity ; if you selects two videos, moving them together performs a fading transition. This principle generalizes to a large number of videos. Direct interaction with the video allows to be fast and reactive, and to move and deform them on screen.The output of your operations is shown in the output window, typically displayed in full-screen on an external monitor or a projector. But the output can also be saved as a video file.Control GLMixer through network using OpenSoundControl, and generate graphics with ShaderToy GLSL code.
MultiLayeredVideoSequencer
- https://github.com/MAKIO135/MultiLayeredVideoSequencer - A multi layered video sequencer created with Processing, GSVideo, GLGraphics and ControlP5
freemix
- freemix - a limitless, open to creativity project, in beta stage. The aim is to develop a tool that any videoartist can adapt to it's style, taking advantage of it being free (as in speach) to modification or extension. Later reverting these back to the project. Feel free to drop ideas, comments or even cool code.
vusion
- vusion - a video mixer that supports input from either an image, MPEG-1 encoded video or from a Video4Linux device. Vusion was written in python and uses the pygame library for mixing.It's designed to be controlled via a MIDI controller rather than a standard mouse or keyboard.
Snowmix
- Snowmix - a Swiss army knife tool for mixing live and recorded video and audio feeds. It supports 2D and 3D clipping, scaling and transparent overlay of video, png graphics and text. It supports animation of video, images and texts through native commands changing scale, placement, transparency and rotation. Animation and actions can also be controlled through native scripting and an embedded Tcl interpreter. Snowmix is designed for control over low bandwidth links and can work as a standalone CLI based program. Control over both CLI and a TCP connections.Input and outputs can be done through GStreamer pipelines or the GStreamer shmsrc/shmsink API.
Kaliscope
- Kaliscope - a set of tools and plugins to create a professional pipeline for cinema works. It can also be used to create a telecinema that convert silver films into numeric movies. The goal is to produce reliable sophisticated tools to help artists in their analog/numeric film projects by respecting the quality of their precious images.
Nageru
- Nageru - a live video mixer. It takes in inputs from one or more video cards (any DeckLink PCI card via Blackmagic's drivers, and Intensity Shuttle USB3 and UltraStudio SDI USB3 cards via bmusb), mixes them together based on the operator's desire and a theme written in Lua, and outputs a high-quality H.264 stream over TCP suitable for further transcoding and/or distribution. Nageru is free software, licensed under the GNU General Public License, version 3 or later. Nageru aims to produce high-quality output, both in terms of audio and video, while still running on modest hardware. The reference system for two 720p60 inputs is a ThinkPad X240, ie. an ultraportable dual-core with a not-very-fast GPU. Nageru's performance scales almost linearly with the available GPU power; e.g., if you have a GPU that's twice as fast as mine (which is not hard to find at all these days; desktop GPUs are frequently more like 10x), going to 1080p60 will only cost you about 10% more CPU power.
mixlab
- https://github.com/charliesome/mixlab - Digital audio/video workstation. AGPLv3.
Syphon
- https://github.com/Syphon/Syphon-Framework - Mac OS X technology to allow applications to share video and still images with one another in realtime, instantly.
vimix
- https://github.com/brunoherbelin/vimix - performs graphical mixing and blending of several movie clips and computer generated graphics, with image processing effects in real-time.Its intuitive and hands-on user interface gives direct control on image opacity and shape for producing live graphics during concerts and VJ-ing sessions.The ouput image is typically projected full-screen on an external monitor or a projector, but can be recorded live (no audio). vimix is the successor for GLMixer - sourceforge.net/projects/glmixer
Spout2
- Spout - Ultra-fast, realtime video routing for WindowsSpout leverages your graphics card enabling to you send realtime video between Windows applications with near-zero latency or overhead. It is provided free and open source thanks to support from its users.
- https://github.com/leadedge/Spout2 - a video frame sharing system for Microsoft Windows, which allows applications for Microsoft Windows to share OpenGL textures in a similar way to Syphon for the Mac.Spout supports DirectX 9, DirectX 11 and OpenGL textures and includes a developer SDK and sample applications. If you are interested in assisting with development, please contact using the email address indicated for this GitHub repository.
to sort
to sort
- YouTube: Armin van Buuren - DJ setup explained - using SMTPE timecode
- https://github.com/erwan35/bastardvj - a simple all-in-one veejaying patch for Pure Data.
- FLxER is a audio video mixing software based on Adobe Flash™ tecnology born in 2000. FLxER is free. FLxER application is about 80kb and is available for Windows, MAC, Linux, PocketPC, iPhone, iPad and all the other platform with Flash Player, there is also a fully functionality web version that can be used from every computer connected to internet.
- https://vidvox.net/ - VDMX - $
- FreeJ is a video mixer: an instrument for realtime video manipulation used in the fields of dance theater, veejaying, medical visualization and TV. Its development started in 2001 and continued actively for many years.
- Videopong is a community dedicated to expanding and connecting the world of VJs and video art. It is a hub to share not only video clips, but everything behind the visuals: source code, interactive patches, executables, and more.
- Open Sound Control (OSC) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic musical instruments, OSC's advantages include interoperability, accuracy, flexibility, and enhanced organization and documentation.
- http://gieskes.nl/browserjockey/ - web app used to make visuals for live music
- https://github.com/sat-metalab/switcher - switcher for audio, video, data and network streams
- harry – text-mode audio file viewer - text-mode audio file viewer
- https://code.mathr.co.uk/harry
- https://github.com/K0F/revolver - a digital video synthetiser. It inputs valid c++ code snippet and turns it into a values/pixels. Something similar as GLSL is doing to your screen on GPU but computed and dumped onto disk by CPU.
- https://github.com/vooku/skinny - Mix video loops and apply simple effects triggered by MIDI events.Using openFrameworks with additional plugins ofxMidi, ofxArgs and ofxDatGui.Originally prototyped at FEL CTU.
- https://github.com/vadimkantorov/mpegflow - for easy extraction of MPEG-flow (motion vectors) from video files along with a visualization tool vis, both under the MIT license
- https://github.com/erwan35/bastardvj - Bastardvj tends to be be a simple all-in-one veejaying patch for Pure Data.It was originaly created in 2007 but I wanted to see if this was still working after more than 10 years. It might also provide people with some ideas.It was quite stable and used during live sessions without problems and was working smoothly on a celeron 1.4ghz.
Linux
- Facebook: Linux visual artists
Luz
- http://lighttroupe.com/luz/ kinect control
- YouTube: superlighttube Luz
v4l2loopback
- v4l2loopback - a kernel module to create V4L2 loopback devices. this module allows you to create "virtual video devices". normal (v4l2) applications will read these devices as if they were ordinary video devices, but the video will not be read from e.g. a capture card but instead it is generated by another application. this allows you for instance to apply apply some nifty video effects on your Skype video... it also allows some more serious things (e.g. I've been using it to add streaming capabilities to an application by the means of hooking GStreamer into the loopback devices).
Qeve
- Qeve - a vj software for Gnu/linux. It was born as a prototype for the performance of Qè and after the economic support received by the catalan association Telenoika it has been published as a public vj linux program. The project has evolved and remain just a couples of blogs reviews for historical reason.
GemQ
- GemQ - a vj software developed primary for GNU/Linux Operative System and working on all platforms (with little effort). GemQ is based on Pure Data framework, a real-time programming language for multimedia. GemQ is the new version of Qeve, the first version of this project developed with the economic help of catalan association Telenoika and Hangar centre de Arts. GemQ uses Gem Video Library, a porting of opengl library for Pure Data, many externals built-in in the pd-extended version and objects written through python bridge (pyext). The aim of this project is to have an easy to use program for make visuals and video editing in real-time primary on linux platform.
PantaliQa
- PantaliQa is the evolution of GemQ, that it was a vjing program developed in puredata language. PantaliQa is more mature, the code is cleaner and some how it rappresents all the things I have been learning in the last year in programming. The aim of the project is to develop a live video editor tool for real time perfomance with a focus on educational environments.
freej
Veejay
- Veejay - a visual instrument and realtime video sampler. With veejay, you can play the video like you would play a piano. While playing, you can record the resulting video directly to disk (video sampling), all effects are realtime and optimized for use on modern processors, Veejay likes the sound of your video's as much as their images: sound is kept in sync ( pitched when needed - trickplay) and delivered to JACK for possible further processing. You can cluster to allow a number of machines to work together over the network (uncompressed streaming, veejay chaining) And much more... The engine is historically based upon mjpegtools's lavplay and processes all video in YUV planar It performs at its best, currently with MJPEG AVI (through ffmpeg) or one of veejay's internal formats. Veejay is built upon a servent architecture.
LPMT
- LPMT - a little projection-mapping tool for use in our office, it is developed in C++ using OpenFrameworks. It’s based on simple quad warping paradigm, and, though rather simple, can be used to achieve complex and professional projection-mapping sets.
delvj
Radiance
- https://github.com/zbanks/radiance - video art software for VJs. It supports beat detection, animated GIFs, YouTube video, OpenGL shader effects. It is designed for live performance and runs on Linux and MacOS.
vDome
- https://github.com/charlesveasey/vdome - an application designed to calibrate multiple projectors on a hemispherical dome surface and display a domemaster formatted video, image, or interactive application. vDome is generally used in two ways: 1) as a media player and 2) as a background process that listens to software/hardware input streams.
VFX
- VFX - a software system for manipulating, triggering and mixing digital video clips and loops. There are two main parts to it: the Performer for playing, mixing and manipulating video in real time (not unlike VJamm or Arkaos) and the Compositor for rendering video effects for later use.
VjPirate
voctomix
- https://github.com/voc/voctomix - Full-HD Software Live-Video-Mixer in python. CCC.
Le Biniou
- Le Biniou - As an artist/creator/DJ/VJ, create live visuals based on your audio performances. As a user/listener, watch an everlasting and totally unseen creation reacting to the music.
IQSynth
- IQSynth - VJ software for Ubuntu. Software for freestyle jamming of video and effects.
3DAudioVisualizers
- https://github.com/TimArt/3DAudioVisualizers - An OpenGL Audio Visualizer suite in C++ using JUCE for Audio and GUI. This was used as my final project in Computer Graphics class at Baylor University.
GoldMosh
- https://github.com/qwentl/GoldMosh - an application to facilitate datamoshing and make it accessible to the public.
PocketVJ
- PocketVJ - the simple and intuitive media server solution which fits in your pocket. Developed and engineered in Berne, Switzerland.
Windows
Windows/macOS
MS-DOS
- https://github.com/foone/VGAPride - An MS-DOS application for showing Pride Flags
Pure Data
See also Audio#Pure Data
- Pure Data (aka Pd) is an open source visual programming language. Pd enables musicians, visual artists, performers, researchers, and developers to create software graphically, without writing lines of code. Pd is used to process and generate sound, video, 2D/3D graphics, and interface sensors, input devices, and MIDI. Pd can easily work over local and remote networks to integrate wearable technology, motor systems, lighting rigs, and other equipment. Pd is suitable for learning basic multimedia processing and visual programming methods as well as for realizing complex systems for large-scale projects.
- GEM stands for Graphics Environment for Multimedia and is an external (plugin) for the computer-music software Pd.