01Getting started
Open chilleddvs.com/daw. There is nothing to install, no account, and nothing to pay for. It works in any current Chrome, Edge, Firefox or Safari on a desktop or laptop. The layout adapts to a phone, and the step grids scroll horizontally. A mouse is still best for piano-roll editing, waveform chopping and drag-to-reorder controls.
Browsers will not make sound until you interact with the page, so the first click on Play is what starts the audio engine. If the very first bar sounds thin, that is the engine warming up, not a fault.
Make something in five minutes
- Pick a starting point In Compose, open Pattern library and click a genre — Neurofunk, Jungle, Liquid. It fills the drum rows and sets the tempo and swing to match.
- Press play Spacebar works too. You are hearing the pattern loop.
- Add a bassline In the Sub piano roll, click to draw notes. Drag them around, drag the right edge to make them longer.
- Load a break Choose Sample & sound, then Load into slot 1 and Snap to hits. Return to Compose and click cells in the slot's slice lane to place chops.
- Build the track Make more patterns, drop them into the arrangement with repeat counts, switch to song mode, balance your levels in Mix, then choose Export WAV.
02The layout
The buttons below the transport choose which tools you see. The studio opens in Compose. Switching workspaces keeps your project and playback in place; it does not change the playback mode.
| Workspace | Tools |
|---|---|
| 01 Compose | Pattern library, Play in, drum grid, piano rolls, slice lanes and automation. Song automation appears in song mode. |
| 02 Sample & sound | Eight sample slots, waveform chopping, per-slice settings, drum kit and lead synth. |
| 03 Mix | Channel levels, EQ, sends, effects, sidechain and the master chain. |
| All panels | All of these tools together on one page. |
The guide, transport and Arrangement panel remain available in every workspace. The Arrangement panel contains the pattern / song / live playback modes and the pattern bank. The clip grid appears when you select live mode.
The transport stays at the top while you scroll on wider screens. On phones it scrolls with the page to leave room for editing.
03Transport
| Control | Notes |
|---|---|
| Play / Stop | Spacebar does the same when focus is on the page. Focused buttons, links, menus and input fields keep their normal keyboard behavior. Holding Space does not repeatedly toggle playback. |
| Position | bar . beat . 16th, then the total length of whatever is playing. |
| BPM | Type any tempo, decimals included. No genre cap — 40 and 400 are both fine. − and + nudge by one. |
| Tap | Tap four beats and it sets the tempo from your timing. |
| Swing | 0–60%. Delays every second 1/16, which is the classic shuffle. It applies to 1/16 pairs even though the grid stores 1/32. |
| Loop | Off means playback stops at the end instead of wrapping. |
| Undo / Redo | Patterns and arrangement only. Ctrl+Z / Ctrl+Shift+Z. |
| Export WAV | Bounces to 24-bit. The small 16 button gives 16-bit instead. |
| Share | Copies a link containing the whole project. |
Changing BPM rescales the FX delay so it keeps the same note division. A delay left at a fixed number of milliseconds stops being in time the moment the tempo moves, which turns a throw into a smear.
Notes, drum cells, slice lanes, pattern automation, pattern and arrangement edits. Mixer moves are deliberately excluded: a fader is trivially put back, and filling the stack with hundreds of gain values would push the edit you actually wanted out of reach. Dragging counts as one step, not forty.
04The three modes
The mode buttons sit in the Arrangement panel and decide what the play button plays.
| Mode | What plays | Use it for |
|---|---|---|
| pattern | The pattern you are editing, looped. | Writing. |
| song | The arrangement, start to finish. | Hearing the whole track. |
| live | Whatever you launch by hand. | Performing, and trying combinations. |
05Step grid
Four drum rows: Kick, Snare, Ghost and Hat. Click a cell to toggle
it. The × beside a row name clears that row.
Ghost is a quiet in-between snare. It is what makes a break breathe rather than march, and it is the single most useful row for making programmed drums sound less programmed.
Bars and resolution
Bars sets the pattern length: 1, 2, 4, 8 or 16. Growing a pattern keeps what you already wrote; shrinking it drops what falls off the end.
Grid switches the editor between 1/16 and 1/32. The important part: the data is always 1/32. The 1/16 view simply renders every second cell, so switching the view can never delete the 32nds in a hat roll. A cell hiding a 32nd between it and the next cell gets a small corner notch so you can see it is there.
06Piano rolls
Sub, Reese and Lead are note lanes, not on/off rows, because a bassline needs pitch and length. Each has its own sensible pitch window — a sub does not need six octaves — and scrolls vertically.
| Action | Result |
|---|---|
| Click empty space | Draws a note at that pitch and step. |
| Drag a note | Moves it in time and pitch. |
| Drag its right edge | Changes its length. |
| Right-click a note | Deletes it. |
| −8ve / −1 / +1 / +8ve | Transposes the whole lane. |
| Clear | Empties the lane. |
New note in the pattern header sets the pitch that freshly drawn notes start at. It does not move notes you have already written.
Which lane for what
- Sub — a pure sine. It goes to the bass bus, is summed to mono below 90 Hz and is ducked by the drums. Never distorted: saturating a sine is how a sub turns into a mid-range buzz.
- Reese — two detuned saws beating against each other, with moving detune and a driven 24 dB/oct filter. One trick, done properly.
- Lead — the general-purpose synth. Fully editable in the Lead panel.
07Sampler & chopping
Eight slots, numbered along the top. Each holds one sample with its own chops, settings, output bus and tempo-lock. Select a slot, then Load into slot N.
Chopping
| Action | Result |
|---|---|
| Click the waveform | Adds a cut. |
| Drag a cut | Moves it. |
| Right-click a cut | Deletes it. |
| Double-click a slice | Plays it. |
| 1/16, 1/32 | Cuts the sample into equal divisions. |
| Snap to hits | Finds transients automatically. |
| Clear chops | Back to one slice. |
Hit Snap to hits, then fix the two or three it got wrong by hand. Auto-detection and manual chopping write to the same cut points, so there is no mode to switch between.
Playing slices
Every slot gets its own slice lane in the pattern grid, labelled with its number and sample name. Click a cell to place the selected slice; right-click to clear it. Because each slot has a separate lane, slots layer — a chopped break and a vocal stab can hit the same step.
Per-slice settings
| Control | What it does |
|---|---|
| Pitch | ±24 semitones. Does not change the slice's length, so a pitched snare still lands on the grid. |
| Pitch env | Extra semitones at the start, decaying across the slice. Small negative values give the classic drum drop. |
| Gain / Pan | Level and stereo position for that slice alone. |
| Reverse | Plays the slice backwards. |
| Attack / Decay / Sustain / Release | Amplitude envelope. Defaults carry 2 ms attack and 6 ms release because a slice cut mid-waveform starts and ends on a discontinuity, which clicks. |
| Out | Which bus the slot plays into: drums, bass or synths. A vocal does not want the drum bus's sidechain. |
08Tempo-locking loops
Fit to stretches the whole sample to 1, 2, 4 or 8 bars at your project tempo — without changing its pitch. This is what makes a borrowed loop or an acapella sit on your grid instead of drifting off it within a bar.
The readout tells you the stretch factor and how many bars the sample naturally is at the current tempo, so you can pick the right target. Every slice stretches by the same factor, so your chops stay in their relative places, and the whole thing follows if you change the tempo.
Pitch and time are separated by granular resynthesis: grain origins advance at the stretch rate while the read pointer inside each grain advances at the pitch rate. The two are independent, so you can stretch without repitching, repitch without stretching, or both.
Load an acapella, set Fit to so its bars line up, route it Out → synths so it skips the drum sidechain, and chop it where the phrases start. Then drop those chops into its slice lane wherever you want them.
09Drum kit
The four drum rows use synthesised voices until you load your own. Any row with a sample plays
it; any row without keeps the built-in voice, so a half-loaded kit is usable rather than
half-silent. ▶ auditions, × goes back to the synth voice.
| Control | What it does |
|---|---|
| Pitch | ±24 semitones. Couples to length, the way a sampler should. |
| Gain / Pan | Level and position for that piece. |
| Choke | Cuts the tail after a set time. Fades over 8 ms rather than hard-stopping, because cutting mid-cycle clicks. |
10Lead synth
Unison oscillators into a filter with its own envelope, then an amp envelope. Standard architecture on purpose — it behaves the way you expect a synth to.
| Control | What it does |
|---|---|
| Saw / Square / Tri | Oscillator shape. |
| Unison | 1–7 copies. They start at spread phases, so you get width from the first sample rather than waiting for them to drift apart. |
| Detune | How far apart those copies sit, in cents. |
| Sub | A sine an octave down, routed past the filter so a sweep cannot eat it. |
| Cutoff / Reso | Filter frequency and resonance. |
| Env | How far the filter envelope pushes the cutoff, in octaves. |
| F.decay | How fast the filter closes again. Short values give the click of a stab. |
| Attack / Decay / Sustain / Release | Amplitude envelope. |
| Level | Output gain. |
Adding voices divides the level by √N, so turning unison up changes the width and not the loudness. Without that, "more voices sounds better" would only mean "louder".
11Playing notes in
Pick an instrument under Play in, then play with a MIDI keyboard or the computer keys. Holding a key sustains the note.
| Control | What it does |
|---|---|
| Sub / Reese / Lead | Which lane you are playing and recording into. |
| Octave | Where the lower key row starts. The upper row is one octave above it. |
| Quantise | Snaps recorded notes to 1/16, 1/8, 1/4, or off for raw 1/32 timing. |
| Record | When armed and the transport is running, what you play is written in. |
| Enable MIDI | Asks for device access. Only requested when you click it. |
Note length is measured from key-down to key-up, so how long you hold a note is how long it lasts in the pattern.
Wheels and pressure
| Control | What it does |
|---|---|
| Pitch bend | Bends sounding notes by up to ±2 semitones, the near-universal default. A small deadzone around centre stops a resting wheel from detuning everything. |
| Aftertouch | Opens the voice's filter — up to two octaves on the Lead, three on the Reese. Pressure making a held note grow is brightness, not volume. |
| Mod wheel | Does the same as aftertouch, since that is what players reach for on a controller without pressure. |
Wheel positions are remembered, so a note struck while the wheel is already held starts bent rather than snapping into place. Bend and pressure affect what you play live; they are not recorded into the pattern.
If the arrangement is playing a different pattern than the one open in the grid, recording is refused rather than writing notes into a pattern you cannot see. Either switch to pattern mode, or open the pattern that is playing.
12Automation
Add a lane from the dropdown under the grid, then click to place points, drag to move them and right-click to delete. A lane is flat before its first point and after its last, so a single point is a constant value rather than a ramp from nowhere.
Fourteen targets are available:
| Group | Targets |
|---|---|
| Filter | Drums, Bass and Synth filter cutoff. |
| Volume | Drums, Bass, Synth and Master volume. |
| Send | Drums, Bass and Synth send into the FX return. |
| FX | Reverb amount, Delay amount, Delay feedback, Synth drive. |
Cutoff is mapped exponentially. A linear sweep from 40 Hz to 20 kHz spends three quarters of its travel above 5 kHz where almost nothing audible happens; mapping it exponentially puts the useful range under the middle of the lane, where you draw.
Automation belongs to the pattern, so it repeats everywhere that pattern plays. Values are ramped between steps rather than stepped, because at 174 BPM a 1/32 is 43 ms and stepping a cutoff that often is audible as zipper noise.
Across the whole arrangement
A pattern lane restarts every loop, which is right for a per-bar wobble and useless for a sweep that rises across a sixteen-bar drop. Song automation, under the arrangement in song mode, draws lanes along the whole track measured in bars instead.
Same controls — click to place, drag to move, right-click to delete — with placement snapped to a quarter bar, which is what you can aim at on that scale. Where a song lane and a pattern lane drive the same target, the song lane wins: it is the higher-level intent, and the one you drew while listening to the whole track.
13Pattern library
Sixteen starting points: eleven genre skeletons (Drum & Bass, Liquid, Neurofunk, Dark DnB, Jump Up, Techstep, Crossbreed, Technoid, Breaks, Hardcore, Jungle) and five classic breaks (Amen, Think, Funky Drummer, Apache, Two-Step).
Loading one replaces the drum rows only. Your notes, slice lanes and automation are left alone, so you can audition skeletons underneath a bassline you already wrote. A one-bar preset repeats across however many bars your pattern has.
Each preset carries its own tempo and swing — a Jungle skeleton at 174 with no swing is not Jungle — but that is a toggle, in case you set your tempo deliberately.
14Arranging
The pattern bank at the bottom of the Arrangement panel holds your patterns. Click one
to edit it; the + beside it appends it to the song.
| Control | What it does |
|---|---|
| New | Adds an empty pattern. |
| Duplicate | Copies the current pattern — the usual way to make a variation. |
| Clear | Empties the current pattern, keeping its length and root note. |
| Delete | Removes it, along with any blocks in the song that used it. |
The timeline
Each block names a pattern and how many times it repeats. Blocks are sized by how many bars they occupy, so the shape of the track is visible at a glance — you can see the intro is eight bars and the drop is thirty-two without counting.
| Action | Result |
|---|---|
| Drag a block | Reorders it. |
| − / + | Changes its repeat count. |
| Double-click a block | Loops that section. |
| ▶ on a block | Plays the song from there. |
| × on a block | Removes it from the song. |
Storing repeats rather than copying bars is why editing a pattern updates every place it plays — and why a six-minute arrangement is still a few hundred bytes.
15Live clips
Switch to live mode and the pattern bank becomes a grid: patterns across the top, parts down the side.
| Action | Result |
|---|---|
| Click a pattern in the top row | Launches every part from that pattern. |
| Click a cell | Switches just that part to that pattern. |
| Click a queued cell again | Cancels it. |
| Click a part name | Drops that part out entirely. |
| Launch every | How long a queued change waits: 1, 2, 4 or 8 bars. |
| Double-click a pattern | Opens it for editing without launching it. |
Queued cells pulse until the boundary arrives. That is the point of quantised launching: you press early and trust it to land on the bar, so you need to see the press registered.
Because each part chooses its own pattern, you can run the drums from one pattern and the bass from another. Patterns are not split into per-track clips — a pattern still holds every part — each part simply picks which pattern to listen to, which means any pattern works as a clip for any part.
Dropping a part out is a live control and is not saved with your project — but if you leave one muted and export, it stays muted in the file.
16Mixer
Three source buses — Drums, Bass, Synths — plus an FX return.
| Control | What it does |
|---|---|
| M / S | Mute and solo. Solo silences the others but leaves the FX return audible, so soloing the drums still gives you the drums' reverb. |
| Meter | Peak and RMS, measured on the audio thread. |
| Fader | Bus level. |
| EQ — Low / Mid / at / High | Low shelf, sweepable mid bell, high shelf. Flat at 0 and always in circuit. |
| Send | How much of the bus goes to the FX return. Post-fader, so pulling a fader down takes its reverb with it. |
Bass — Duck
A real sidechain compressor keyed from the drum bus, not a gain envelope faked on every kick. It follows the actual drum signal, so a ghost kick ducks less than a downbeat — which is what makes the pump breathe instead of stutter.
| Amount | How much of the effect is applied. |
| Thresh | Level at which ducking starts. |
| Release | How fast the bass comes back. |
Synths — Saturate
Three-band saturation. Driving a Reese full-range is what makes it fizz: the growl lives in the mids, but a wideband shaper cooks the low end to mush before the mids are dirty enough. Splitting first lets you cook the mids and leave the rest alone.
| Low / Mid / High | Drive per band. |
| Mix | Blend against the dry signal. At 0 it is bit-transparent. |
Gain is compensated so a signal at −12 dBFS comes out at −12 dBFS at any drive setting. Turning it up changes character, not loudness — otherwise "more drive sounds better" would just be "louder sounds better".
FX return
| Reverb — Amount / Size | Level and tail length. |
| Delay — Amount / Feedback / Damp | Level, regeneration, and how dark the repeats get. |
| 1/16, 3/16, 1/8, 1/4, 1/2 | Delay time as a note division. 3/16 is the DnB default. |
One shared reverb rather than one per channel: cheaper, and it puts the whole track in one space instead of three different ones.
17Master chain
Everything sums into a three-band limiter, then a lookahead clipper, then the master fader.
| Limiter GR | How hard the limiter is working. |
| Ceiling | The clipper's output limit, in dB. |
| Drive | How hard you push into it. Loudness with grit rather than clean headroom. |
Sub content below 90 Hz is summed to mono automatically. Wide sub cancels on big systems and eats headroom, so DnB low end is kept dead centre.
18Exporting
Export WAV bounces to 24-bit, 44.1 kHz. The 16 button gives 16-bit.
24-bit is the default because the limiter lands a bounce near full scale, and 24-bit costs 50%
more bytes for 48 dB more room underneath.
What gets rendered depends on the mode:
| pattern | The pattern you are editing. |
| song | The whole arrangement. |
| live | Your current clip setup, over the longest pattern any part is running. |
Two seconds of tail are added so reverbs and long notes finish. The render runs faster than real time and goes through the same voices, the same EQ, the same sidechain and the same limiter you monitored through — there is no second code path that could drift.
Check the master fader, and check whether a bus is soloed or a part is dropped out. Solos, mutes and live drop-outs all carry into the file.
19Saving & sharing
Your project saves automatically in this browser and reloads when you come back. Settings live in local storage; samples live in IndexedDB, stored as their original encoded bytes rather than decoded audio, which is roughly ten times smaller.
Share copies a link containing the whole project — patterns, arrangement, automation, mixer, chop points — compressed to around a kilobyte, small enough to paste into a chat.
Audio files are megabytes and cannot go in a URL. A shared project arrives complete but with empty sample slots. That is usually what you want: someone hears your arrangement and drops their own breaks into it.
Reset project clears everything, including loaded samples. There is no undo for that beyond a share link you saved earlier.
20Beat Lab & DAW transfer
Beat Lab is the quick sketchpad: a one-bar Grid Sequencer and a 32-row Tracker. Each tracker row is a 16th note, so a tracker pattern is two bars long.
Working in Beat Lab
| Control | How to use it |
|---|---|
| Pattern library | Expand it in Grid Sequencer to choose a genre or classic break. Loading a preset replaces the grid and changes its tempo and swing; Undo restores the previous beat. |
| Grid steps | Each click cycles off → on → accent → off. The square beside a track name mutes that track. Steps and mute buttons also work with keyboard focus. |
| Tracker | Choose an instrument, click a pattern cell and type notes. Use the pattern slots and Song order to build a longer arrangement. The sampler lets you load and chop a break. |
| Play / Stop | Use the button or Space when focus is on the page. The position display follows the current step or tracker row. |
| Undo / Redo | Use the buttons, Ctrl+Z and Ctrl+Shift+Z (Command on Mac). Covers grid edits and accents, track mutes, tracker notes, patterns and song order, tempo, swing, volume, reverb and delay. Clear and Randomise can be undone. Undo history lasts for this page visit; sample loading and chop edits are outside its scope. |
| Saving | Beat settings and patterns save in this browser and restore on reload. The status above the editor reports whether saving is available. Sample audio lasts for the current visit: reload the original audio file when returning to a sampled beat. |
| Share / Export WAV | Share copies a beat link with patterns and settings, without sample audio. Export WAV renders the sound, including loaded samples and effects. |
Continue in the DAW
→ Send to DAW saves your Beat Lab session and opens the imported project in the same tab. The imported project becomes the DAW's current project. Save a share link for an existing DAW project before replacing it, and keep your original sample files.
- Grid Sequencer: sends the one-bar grid. Muted tracks are omitted. Sub and Reese rhythms become notes at fixed starting pitches, ready to edit in the piano rolls.
- Tracker: sends all eight two-bar pattern slots, the selected pattern and the song order. Sub and Reese retain their note pitches; Stab becomes the DAW's Lead. Song playback mode carries across when a song order is present and enabled.
- Timing: both editors use 16ths; the DAW stores 1/32, so a Beat Lab step occupies two stored DAW ticks. Tempo and swing carry across.
- Sound mapping: clap becomes snare; open hat and ride become hat. Drum accents become on/off steps. Reverb and delay are mapped to the DAW's effects. The result uses DAW instruments, so it will sound different.
If any tracker pattern contains sample slices, Send to DAW displays a message and keeps you in Beat Lab. Use Export WAV to include the samples, then load that WAV into a slot under Sample & sound in the DAW. WAV also preserves the sound of a synth beat when that matters more than editable notes.
21Keyboard reference
| Key | Action |
|---|---|
| Space | Play / stop |
| Ctrl+Z | Undo |
| Ctrl+Shift+Z, Ctrl+Y | Redo |
| z s x d c v g b h n j m , l . ; / | Lower octave, white and black keys as on a piano |
| q 2 w 3 e r 5 t 6 y 7 u i 9 o 0 p | Upper octave |
| Pitch / mod wheel | Bend and brighten sounding notes |
| Right-click | Delete — a note, a chop, a slice-lane step, an automation point |
| Double-click | Audition a slice · loop an arrangement block · open a pattern in live mode |
Typing in a text field never triggers notes or shortcuts.
22Troubleshooting
| Symptom | Cause |
|---|---|
| No sound at all | Browsers block audio until you interact. Click Play. |
| A panel is missing | Choose Compose, Sample & sound or Mix for its tools, or All panels to show everything. Workspace changes do not delete content. |
| Beat Lab will not send to DAW | A tracker pattern contains sample slices. Export WAV and load it into a DAW sample slot; the inline message explains this route. |
| A Beat Lab sample is missing after reload | Beat patterns are saved, but Beat Lab sample audio is session-only. Load the original sample again and recreate its chops, or use a WAV exported before leaving. |
| One part is silent | Check solo on another bus, mute on that bus, or a live drop-out. |
| The export is silent | Same three, plus the master fader. |
| A loop drifts out of time | Set Fit to for that slot so it stretches to your tempo. |
| Recorded notes are invisible | They landed outside the lane's pitch window. Check the Octave setting. |
| The playhead freezes but audio continues | The tab is in the background. Audio is scheduled in a worker and keeps running; the display resumes when you come back. |
| Everything vanished | Clearing site data clears the project. Share links are the only backup. |
| Crackling on a busy pattern | Too many voices for the machine. Shorten slice releases, or lower unison on the lead. |
23Known limits
Stated plainly, because overstating a tool wastes more of your time than admitting the gaps.
- Clips are per part, not per track — a pattern holds every instrument, and each part picks which pattern to follow.
- No plugin support. Everything is built in.
- Samples stay in your browser, so they do not travel in a share link.
- Undo covers musical edits, not mixer moves.
24Under the hood
For the curious — none of this is needed to use the thing.
- Clock.
AudioContext.currentTimeis the only source of truth. A worker wakes the scheduler every 25 ms and it schedules a 100 ms window ahead, so nothing is ever started "now" from a timer. Putting the pump in a worker is why a backgrounded tab keeps perfect time. - Custom DSP runs on the audio thread. The clipper, meters, sidechain, saturator and the slicer's voice engine are AudioWorklets. Nothing in the hot path allocates memory, so the audio thread never pauses for garbage collection.
- Slicing. Granular overlap-add with Hann windows at 50% overlap. Grain origins advance at the stretch rate, the read pointer inside each grain at the pitch rate — which is what separates time from pitch.
- Triggers are sample-accurate. Slices carry an absolute start frame, so a voice can begin mid-block. Block-aligned starts would smear transients by up to 2.6 ms, which is audible on drums.
- Exports are not a second implementation. The offline renderer rebuilds the same graph and calls the same voices, so a bounce cannot drift from what you monitored.
- Everything is local. No accounts, no uploads, no analytics on your audio. The page is served once and cached; after that the server does nothing.