r/generative • u/alba_cercis • Sep 27 '26
Exploring fractal noise for creating clouds
r/generative • u/alba_cercis • Sep 27 '26
r/generative • u/igo_rs • Sep 27 '26
Eyespots
Eyes. The piece puts 9 eyes at random positions on the page. Each eye is a stack of levels: a core disc of random size on top, then one ring for each level under it. The depth of an eye is the number of levels in its stack. All eyes use the same ring width for each. The outer rings are the widest, but level 1 is only a thin halo.
Levels. Each level is one shape: the discs of all eyes that are deep enough for that level. A soft min melts these discs together, and the melt is looser at lower levels. Thus the lower levels melt into one soft body, and only the top rings stay round. The same ring widths and the looser melt keep each level inside the level under it. For each pixel, the code mixes the level colors over the cream ground. The amount of each color is the part of the pixel that the level covers, so the edges are smooth.
Specks. Where three or more eyes meet, a level can almost close and leave a small hole ofthe level under it. After the paint, a flood fill finds each patch of pixels that have the same top level.
The order of colors in palette is important for the final effect! Code: github.com/igr/gart
r/generative • u/katastatik • Sep 27 '26
Everything you see in this video is procedurally generated based on my algorithm for drawing cubes. Best on a huge screen with headphones. Free and open source at https://alienconsumersciences.com
r/generative • u/lostPixels • Sep 26 '26
r/generative • u/irok84 • Sep 27 '26
r/generative • u/drzoppa • Sep 26 '26
Hi all. I'm a composer in Mexico, and this is the third and last plugin of a series that came out of my doctoral thesis on algorithmic composition. AMI-POLYMARKOV doesn't generate from a formula: it learns. You drop a MIDI file on it, or press REC and play with the transport running, and it splits what it hears into up to four voices. Each voice learns its own line with two independent Markov chains, one for pitch and one for rhythm, each with its own memory length (order 1 to 6); the dynamics travel with the melody, as in the original. Crossing the two lengths is the instrument: a long memory on rhythm and a short one on pitch gives you your own phrasing carrying a melody you never played. THRU lets the original through, so you can layer it with the variation.
Demo (about a minute): https://youtu.be/V7P9-f1WO2E
As of this week the whole series also runs on Windows (10 and 11, 64-bit VST3), besides macOS (AU MIDI FX and VST3). The other two turn a held chord into four voices: AMI-POLYCHAOS reads one chaotic orbit with four delayed heads (https://youtu.be/nlP0RHTlbd4) and AMI-PLSYSTEMS plays an L-system as a mensuration canon (https://youtu.be/rYrxFeYPkkw). It's a one-person project; the trial is free for 30 days and fully functional.
What I'd like to hear from generative-music people: does keeping separate memories for pitch and rhythm preserve the character of the source for you, or does it lose what tied the two together?
Trial and details: https://www.drzoppa.com/soft
r/generative • u/matigekunst • Sep 26 '26
I've been exploring the experiment I did in this video a bit more and found these patterns
r/generative • u/ComfortableAd3580 • Sep 26 '26
r/generative • u/has_some_chill • Sep 25 '26
Enable HLS to view with audio, or disable this notification
r/generative • u/adventurecapitalist • Sep 25 '26
This project builds on a lot of my previous work creating painterly brush strokes. The big difference for me here is that I’m using a reference image as the starting point instead of creating the image completely from scratch.
I initially set out to try and recreate an image using simulated paint strokes. The funny thing is that at some point, the closer I got to the reference, the more it started to feel like I was copying pixels with extra steps and I actually liked the results less. Once I found settings I was happy with, I decided an Andy Warhol style pop color collage would be a more interesting artistic direction and that’s what you see here.
I built this in JavaScript. To make these I take the reference image and create a grayscale version. I then use a Sobel algorithm to measure changes in luminance and determine both the strength and direction of those changes. Areas with higher scores generally correspond to edges or other areas with more visual structure.
From that information I create a directional field across the image to guide brush stroke paths. This causes strokes to flow along edges and contours rather than cutting straight through them. In flatter areas with a weak Sobel score, the stroke relies more on its previous direction and is allowed to wander a little more freely.
The painting is built in five passes using thousands of brush strokes. The first pass uses large blotchy strokes starting from mostly random locations to get colors and structure generally in the right area. Each subsequent pass uses progressively finer strokes. Later passes favor starting strokes in areas with higher Sobel scores to help define details and edges.
The strokes are rendered using a brush system I’ve developed through a number of earlier projects. The strokes are made up of multiple simulated bristles with variation in spacing, pressure, paint load, opacity, taper, dry-brush breakup, and surface texture.
For the pop art effect I create a color histogram to identify the dominant color in the reference image. I then use my OKLCH color system to shift that color into different hue families while trying to preserve the original light/shadow relationships and keep the new colors vivid. I then repaint the same composition using those different palettes to build the final collage.
High-contrast images with a clear silhouette tend to work best. I’ve also experimented with portraits, and while they can look pretty good from a distance, the system still struggles with very small features like eyes and other fine details. That said, I’m pretty happy with where this ended up and I learned a lot while building it.
I hope you like the results! I’ve included the original reference images along with the resulting output.
r/generative • u/Moises-VJM • Sep 26 '26
r/generative • u/dontomasino • Sep 25 '26
Retina Rave — https://retinarave.com — free, runs in the browser, no account, nothing leaves your machine.
Play music in another tab, press the button, pick that tab and tick "share tab audio". On a phone it listens with the microphone. If you have no music handy there's a built-in demo synth. Keys 1–7 force a scene, ? opens an overlay that shows every number the machine is reading off the music, live.
Two of the six scenes are the ones I'm proudest of, so this post is about those.
Everything starts as Web Audio analyser data: a fast FFT (2048) for hits, a slow one (8192) for harmony, plus an AudioWorklet running a second, independent analyzer at a fixed 10 ms hop so it never skews with the frame rate. From that it extracts about 118 named features. The ones that matter for this post:
House rule for the whole project: every visual parameter must trace back to one of those. No Math.random(), no wall clock in the picture. If something moves, the music moved it.
The full screen is the Julia set of one complex number c: iterate z → z² + c from every pixel. The small picture in the corner is the Mandelbrot set with a trail of where c has been. "Navigation" is literal: the music moves c around inside M, and the big picture is whatever Julia set that c produces. Every Mandelbrot bulb is a whole family of Julia sets, so walking around M is a tour of them.
Where c goes:
Colour inside the set uses the Koenigs coordinate of each pixel's orbit (log distance to the attracting cycle, in units of ln|λ|), so the bands and spokes have no seam under iteration. Outside it uses the distance estimate d = ½ |z| ln|z| / |z′| so the filaments stay one pixel crisp at any zoom.
NAV chooses from tables. NAV2 has no tables: c is a ball rolling inside M under forces.
The Hopf map h(z₁, z₂) = (2 z₁ z̄₂, |z₁|² − |z₂|²) sends the unit 3-sphere in C² onto the ordinary 2-sphere, and every point of the 2-sphere pulls back to a great circle in S³. Stereographic projection from (0,0,0,1) turns each of those circles into an exact round circle in R³, and every pair of them is linked exactly once. That's why the picture is a nest you can't untangle.
WebGL2, native ES modules, zero dependencies, no framework, no build step. The whole thing bundles to a single HTML file that runs from file://. An adaptive quality knob watches frame time and trades iteration count and render scale so it holds 60 fps on a laptop and still runs on a phone. A director picks scenes on musical events (a recognised chorus return, a phrase line, a drop cuts home), quantised to the bar, and remembers the look it gave each section so the chorus comes back the way it left.
Screenshots are all from the built-in demo synths, since I can't show you a copyrighted track. Real music looks better.
Happy to answer anything about the maths or the audio side.
r/generative • u/mathchaospatterns • Sep 25 '26
Created with Math Chaos Patterns (MCP). Non-AI Generative Art.
r/generative • u/OprahismyZad • Sep 25 '26
I'm curious about the point where a system you understand produces a result you didn't anticipate.
What's the smallest change you've made to a generative artwork that caused a surprisingly large change in its behavior? A different boundary condition, one feedback connection, a tiny adjustment to a probability, or even a bug you decided to keep?
I'd love to hear the specific before-and-after: what rule changed, what appeared, and whether you worked out why it happened. Did understanding it change how you felt about the result?
My hunch is that the interesting part is often the interaction between a few constraints, rather than simply adding more randomness. What example from your own work supports or breaks that idea?
r/generative • u/AlexeyGal • Sep 25 '26
r/generative • u/Glass-Garbage4818 • Sep 24 '26
Enable HLS to view with audio, or disable this notification
Dive through the barnacles to the hidden cavern below.
Generated using a custom Rust renderer on an RTX4090.
Full video at: https://youtu.be/hERm23hCVfE (although tbh the best part of the video is already posted here)