ASG01(Ambient Sound Generator 01) - link
ASG01: A Deep Dive into My Browser-Based Ambient Sound Laboratory
In the world of digital music production, we are often tethered to complex DAWs, gigabyte-heavy plugins, and intricate installation processes. ASG01 (Ambient Sound Generator 01) was born from a different philosophy: what if a complete ambient performance environment could live entirely within a single, dependency-free HTML file?
ASG01 is a self-contained browser instrument designed for the creation of evolving soundscapes, generative rhythms, and gestural textures. It requires no build step and no server—just a browser and an imagination.
The Aesthetic: A Terminal into the Ether
Before a single note is played, ASG01 establishes its identity through a meticulously crafted CRT-terminal aesthetic. Utilizing the **Share Tech Mono** font and a series of CSS and Canvas-based overlays—including scanlines, vignettes, and a layer of shifting film grain—the app feels like a recovered piece of retro-futuristic hardware.
The UI is intentionally minimalist, favoring dim whites and blacks, punctuated by a user-selectable accent color that synchronizes across all instruments. It’s an environment designed to fade into the background, allowing the sound to take center stage.
UI Overview showing the grid tab with spiral configuration.
The Triptych of Sound
ASG01 is divided into three distinct modules, each exploring a different facet of sound synthesis and performance.
1. Granular (GS01): The Texture Engine
The Granular module is the heart of ASG01's textural capabilities. It functions as a live audio "freezer" and redistributor. By capturing audio from your system, microphone, or the internal Grid/Bloom engines, it populates a 4-second circular buffer.
From this buffer, thousands of "grains"—tiny snippets of sound—are spawned, each with randomized pitch, position, and stereo placement.
Key Features:
prsv (Buffer Preservation):A feedback dial that allows old audio to persist, creating layers similar to a tape echo.
Pitch Drift & Head Jumps:Stochastic controls that introduce glitchy textures and sudden discontinuities.
BH-Viz: A mesmerizing "Black Hole" particle disk that reacts to the audio's frequency spectrum.
Granular Panel showing the waveform, splice markers, and the BH-disk particle visualization
2. Grid (IG01): The Rhythmic Architect
The Grid is a 16x16 step sequencer designed for minimal, ambient pulses. Rather than forcing the user to program every note, it features a context-aware **Generate** engine. Based on a selected "Mood" (Ambient, Dark, Bright, Chime, etc.), it populates the sequencer with patterns that feel organic and evolving.
The Spiral View: Beyond the traditional grid, users can toggle a polar "Spiral" sequencer, offering a unique geometric perspective on rhythmic loops.
Song Mode: A long-press on the generate button composes a full 8-page "song arc," moving from intro to peak and breakdown, with mathematically derived harmonic progressions.
Poem Footnote: Every generation is accompanied by a prose summary—a "poem"—describing the song's character and algorithmic structure.
grid tab in spiral mode with an active 16-step sequences
grid tab in grid mode with an active 16-step sequences
grid panel in spiral view with fx controls exposed
The Generation Engine: Controlled Randomness
At the heart of the Grid module is a context-aware generation system that goes well beyond simple randomization. Rather than placing notes at random, it operates through a layered set of musical constraints — mood profiles, rhythmic strategies, and harmonic gravity centers — that guide the algorithm toward patterns that feel composed rather than computed.
Mood Profiles
Each of the ten generation modes — stochastic, transient, laminar, diffuse, periodic, harmonic, resonant, crystalline, modal, and nodal — is a named acoustic profile. Each profile defines a complete parameter space: BPM range, voice types (sine, triangle, bowl, bell, chime, glass), reverb and delay depth, filter cutoff range, envelope style, LFO behavior, bass drone probability, and ghost note density. Selecting a profile is less like choosing a genre and more like selecting the physical medium the music will inhabit.
Single-Page Generation
A standard generate populates the active page using one of two rhythmic strategies. Euclidean distribution spreads a chosen number of pulses as evenly as possible across the 16 steps using the Bjorklund algorithm — the same mathematical method found in West African and Cuban rhythmic traditions. Anchor-scatter fixes a set of structural column positions (the "anchors"), then probabilistically distributes additional voices around them. The result in both cases is a 16-step pattern that feels neither mechanical nor random.
Song Arc: Shift+Generate
Holding Shift before clicking Generate activates Song Mode, which composes all 8 pages at once as a single structured arc. This is where the system moves from texture generator into something closer to algorithmic composition.
The arc follows an 8-section narrative: intro → build → build → peak → peak → develop → breakdown → outro. Each section carries its own density value — a multiplier that governs how many notes appear, how much reverb the sound carries, and how open the filter is. Density ranges from 0.14 at the intro to 0.46 at the peak — sparse by any conventional standard, but calibrated for ambient space rather than rhythmic drive.
A 4-chord harmonic progression (tonic → subdominant → dominant → tonic return) runs beneath the arc, expressed not as traditional chord voicings but as harmonic gravity centers: clusters of rows (pitch registers) that notes are pulled toward with varying probability. Notes near a section's gravity center play more reliably; notes further away are quieter and more likely to drop out.
Two elements provide continuity across all 8 pages. A seed Euclidean rhythm is generated once and shared as rhythmic DNA — each page rotates it by a prime number offset [0, 2, 5, 7, 11, 13, 3, 6], so the pulse feels familiar without repeating. A melodic motif of 3–4 cells is similarly generated once and placed on every page, with variations: a retrograde (time-mirror) at the peak, and a column offset in the outro. The result is a composition with internal coherence across its full duration.
Sparse ghost notes — very quiet, high-register sine tones — appear throughout, weighted toward the edges of the arc where density is lowest. At the intro and outro, they form much of the texture; by the peak, they have largely receded.
The Poem
Every generation concludes with a prose footnote: a short algorithmic poem describing the session's character. It names the mood, the scale, the rhythmic strategy, the motif length, the bass register, and the structural shape of what was just generated. It's equal parts musical description and proof of work — a record of the exact decisions the algorithm made, rendered in the same quiet register as the music itself.
3. Bloom (BM01): The Gestural Expressionist
Bloom is an instrument of pure gesture. Inspired by the concept of "blooming" sound, it features a dual-panel interface. The right panel is a touch-responsive field where each interaction spawns a sustained tone. Dragging your finger controls stereo pan and filter cutoff in real-time.
The left panel visualizes these voices through **Chladni patterns**—mathematically accurate representations of standing waves in a vibrating plate. As you add voices, their patterns superimpose, creating a living, shifting tapestry of geometry and sound.
Bloom Panel showing multiple active touches on the right and superimposed Chladni patterns on the left
Technical Underpinnings: The Magic of Web Audio
ASG01 is a testament to the power of the modern Web Audio API.
AudioWorklet: The granular engine runs on a custom AudioWorklet, ensuring high-performance audio processing that remains glitch-free even during heavy modulation.
Custom Waveforms: The "Chime" waveform uses a custom `PeriodicWave` with inharmonic partials to simulate the metallic strike of a cylindrical rod.
Zero Dependencies: The entire application—from the audio processing to the marching-squares algorithm used for Chladni visuals—is written in vanilla JavaScript.
Synergy: A Unified Performance Space
While each instrument is powerful on its own, the true magic of ASG01 lies in their synergy:
Audio Routing: The output of the Grid and Bloom can be routed directly into the Granular engine, allowing you to sequence a melody and then instantly shatter it into a cloud of shimmering textures.
BPM & Color Sync: A shared clock ensures that your granular density and Bloom LFOs stay in time with the Grid's pulse. A single click on the color legend updates the entire app's visual identity.
Saving, Sharing, and Exporting
ASG01 has three ways to capture what you make, depending on which instrument you're working with.
Grid: save, load, and share
The grid sequencer has a full session system. Hit save to download a .json file containing your entire 8-page composition — every note, every FX setting, every LFO, the BPM, the scale, even the accent color. Load restores it exactly as you left it. This means you can build something over multiple sessions, or hand a file to someone else to open.
Share goes further: it compresses your entire session into a URL hash and copies it to your clipboard. Anyone who opens that link gets your exact composition loaded automatically, no file needed. The state is encoded directly in the URL itself — there's no server involved.
Granular: audio export
The granular tab has an export button that records the processed output — the grain cloud after reverb — directly to a file. You can choose WAV (uncompressed, full quality) or WebM (smaller, Opus-compressed), and pick a duration of 10, 30, or 60 seconds. It captures whatever is playing at that moment, so freeze a buffer texture you like, dial in the grain settings, hit export, and you get a clean audio file you can drop into a DAW or upload anywhere.
Closing Thoughts
ASG01 is more than just a synthesizer; it's a sandbox for discovery. It's about finding the beauty in a single frozen grain of sound or the accidental harmony generated by a rhythmic algorithm.
Whether you're looking for a tool for live ambient performance or a meditative background soundscape for focus, ASG01 invites you to open a browser and start listening.
Try it out at here. and if you like it feel free to donate via Venmo to @zarniko