Welcome to AcidBros, your webβbased acid techno studio! This manual guides you through the interface and helps you start making beats instantly.
The top bar provides the main playback and project controls.
- FILE MANAGER (π) β Save, load, and manage multiple patterns/songs with persistent browser storage. Click to open the file manager popover.
- New β Create a new file (clears current pattern).
- Import/Export β Import or export all files as JSON for backup.
- Delete All β Remove all saved files.
- File List β Click a file to load it. Each file shows:
- Duplicate β Create a copy of the file.
- Rename β Change the file name.
- Delete β Remove the file.
- Files are auto-saved every 5 seconds with timestamp-based names.
- RUN / STOP β Start or pause the sequencer.
- RANDOMIZE (π²) β Generate a fresh random pattern and sound patch for all units. Note: Units with a locked randomization (π) will not be changed.
- CLEAR β Reset all patterns (303 notes and 909 drums) to a blank state.
- SHARE URL β Export the current pattern and settings as a shareable link. A toast notification confirms the link is copied.
- SETTINGS (βοΈ) β Configure MIDI and keyboard mappings for hands-on control. Click to open the settings panel with MIDI mapping management interface.
- SUPPORT (βοΈ) β Buy me a coffee. Support the development of AcidBros.
- Oscilloscope β Real-time visual feedback of the audio waveform.
- Power Toggle: Click the oscilloscope display to turn it ON or OFF.
- Performance: Turning it OFF significantly reduces CPU/GPU usage, which is recommended for low-power mobile devices.
- Visual Indicator: A small green LED lights up when active. The display dims when deactivated.
- TEMPO (BPM) β Large knob with a 7βsegment LED display (60-200 BPM). Drag vertically to adjust, doubleβtap to reset to 125 BPM.
Toggle between Pattern Mode and Song Mode using the animated switch. The handle slides smoothly between modes.
- Pattern Selectors (P1-P16) β Click to switch between 16 independent patterns.
- COPY Button (π icon) β Copy the current pattern. Toast notification confirms "Pattern copied!"
- PASTE Button (π icon) β Paste the copied pattern. Toast notification confirms "Pattern pasted!"
- Pattern Timeline β Click pattern buttons (P1-P16) to add them to your song arrangement.
- Timeline Blocks β Click a block to remove it. Drag and drop blocks to reorder them in the timeline.
- Drop Preview Bar β While dragging a timeline block, a vertical bar appears between blocks to preview the exact insertion point.
- Edge Glow Preview β The adjacent blocks at the insertion point also show gradient edge glow so the target remains visible even when your finger covers the bar.
- Drop Motion Feedback β After dropping, nearby timeline blocks animate into position; the dragged block only nudges slightly from your drop point into its final slot, then flashes briefly for confirmation.
- Multi-Row Grid Layout β Timeline uses a consistent 8/16 column grid to match the pattern selectors, eliminating horizontal scrolling.
- Toggle β Click the shuffle button to open the swing control panel.
- Adjust Timing β Control groove timing from 0% (straight) to 100% (maximum shuffle). 50% is the default straight timing.
- Reset Timing β Double-click/tap the ribbon controller to reset to 50% timing.
AcidBros features two independent TBβ303 units (Unit 1 & 2). Each unit offers classic acidβstyle synthesis.
- UNIT TITLE β Click the title to collapse/expand the unit.
- WAVEFORM β Toggle between Sawtooth and Square waveforms.
- CLEAR (ποΈ) β Reset the sequence for this unit.
- LOCK (π) β Toggle randomization lock. When active (orange), this unit will be skipped when clicking the global RANDOMIZE button.
- WAVEFORM β Animated toggle between Sawtooth and Square waveforms.
- TUNE β Fineβtune the pitch (-1200 to +1200 cents).
- CUTOFF β Filter brightness control (0-100%).
- RESO β Resonance/squelch character (0-15).
- ENV MOD β Envelope modulation amount on the filter (0-100%).
- DECAY β Note tail length (0-100%).
- ACCENT β Boost level for accented steps (0-100%).
- VOLUME β Output level (0-100%, default 60%).
- TIME β Delay time as percentage of tempo (0-200%, tempo-synced).
- FEEDBACK β Delay feedback amount (0-100%).
- WET β Delay wet/dry mix amount (0-100%).
Doubleβtap any knob to reset to its default value.
Each unit has a 16βstep grid. Steps light up when active.
- LED β Lights up red when step is active.
- Note Display β Shows current note (e.g., "C"). Click to open piano roll.
- DN/UP Buttons β Quick octave down/up (octave 1-3, default 2).
- AC Button β Toggle accent (red when active).
- SL Button β Toggle slide (green when active).
Click the piano toggle button (πΉ) in the TB-303 unit header to open the advanced inline note editor:
- Step Navigation (< >) β Move between steps with wrap-around.
- Step Indicator β Shows current step number (01-16).
- View Toggle (πΉ/β¬) β Switch between the piano keyboard layout and the step layout.
- Piano Keys / Steps β Click to select pitch (C to B with sharps/flats).
- Octave Controls (DN/UP) β Select octave (1, 2, or 3).
- Modifiers:
- AC β Accent toggle (red when active).
- SL β Slide toggle (green when active).
- Preview (π) β Toggle to hear notes before committing.
- GATE OFF (REST) β Mute the step while keeping note value.
- Close β Close the editor by clicking the piano toggle button again.
Pressing a piano key automatically advances to the next step for fast pattern entry.
TB-303 Live Mode is a performance overlay for the note editor. It is inspired by the TB-303 Pitch mode. It does not write changes to the pattern data.
- Open the TB-303 note editor with the piano toggle button (πΉ) in the unit header.
- Click the Live button (song icon) to the right of Preview (π).
- Start playback and perform with hold gestures.
- Step Navigation (< >) is hidden while Live Mode is ON.
- Step Indicator follows the currently playing step in real time.
- DN / UP: while held, force the current playback step octave to down (1) or up (3). Releasing returns to the saved step octave.
- AC / SL: while held, momentarily apply Accent or Slide to the current playback step.
- Off: while held, force the current playback step to Rest regardless of saved state.
- Piano Keys: while held, transpose playback from C-based semitone offset (example: E = +4 semitones). Works together with DN/UP.
Live input is quantized per step clock (intended for input just before each step is played).
Turn Live Mode OFF to return to normal note editing behavior.
The drum section provides classic 909 sounds.
Each track has dedicated parameter knobs and a level control:
- BASS DRUM (BD) β Kick with Tune, Level, Attack, Decay.
- SNARE DRUM (SD) β Snare with Tune, Level, Tone, Snappy.
- LOW TOM (LT) / MID TOM (MT) / HIGH TOM (HT) β Pitch-sweeping toms with Tune, Level, Decay.
- RIM SHOT (RS) β Percussive rim sound with Level control.
- HAND CLAP (CP) β Classic 909 clap with Level control.
- CLOSED HAT (CH) β Short hat with Level, Decay, Tune.
- OPEN HAT (OH) β Long hat with Level, Decay.
- CRASH (CR) β Crash cymbal with Level, Tune.
- RIDE (RD) β Ride cymbal with Level, Tune.
Click the MANAGE TRACKS button at the bottom of the TR-909 unit to open the Manage Drum Tracks popover.
- Toggle Tracks: Enable or disable specific drum tracks to customize your 909 layout.
- Edit Drum Synth: Click the Settings icon (βοΈ) next to any synthesis-based track (BD, SD, LT, MT, HT, RS, CP) to open the Drum Synth Editor.
- Apply: Click APPLY to save your track layout.
Each track has its own 16βstep grid. Active steps glow orange/yellow; inactive steps remain dark.
- CLEAR (ποΈ) β The 909 section has a dedicated clear/randomize toggle:
- Empty patterns β Click to randomize all drum tracks.
- Filled patterns β Click to clear all drum tracks.
- LOCK (π) β Toggle randomization lock. When active (orange), the 909 will be skipped when clicking the global RANDOMIZE button.
Click the Settings icon (βοΈ) within the MANAGE TRACKS modal to open the full Drum Synth Editor for a specific track.
- Deep Editing: Modify internal parameters like 4 independent Oscillators (OSC 1-4), Click, Snap, and Noise/Filter modules to create unique drum sounds.
- Presets: Save and load your custom drum patches.
- Classic Reset: Instantly revert to the original factory TR-909 sound at any time.
- Live Preview: Hear changes immediately by clicking the Play / Preview button.
- Live Track Knobs: Tweak the track's main macro knobs (Tune, Level, Decay, etc.) while editing the deep synth parameters.
- Toast Notifications β Appear at the bottom for copy, paste, and share actions.
- Touch-Optimized Active States β Buttons and knobs provide instant visual feedback on touch/click using
:activestates (glow/transform). - Active States β Current pattern, playing step, and active controls are highlighted.
- Smooth Animations β Mode switch, button presses, and transitions are animated.
- Oscilloscope β Visualizes the master audio output in real-time.
- Collapse/Expand β Click the header of any machine (TB-303 or TR-909) to collapse its sequencer section.
- Focus on Knobs β This hides the grid and allows you to focus purely on sound manipulation (knobs) during a live performance.
- Visual Indicator β The arrow next to the machine title indicates the current state (βΌ expanded, β collapsed).
- Desktop β Full layout with all controls visible.
- Tablet β Optimized spacing and touch targets.
- Mobile Portrait β Stacked layout with sequencer grid adapting to 4 or 8 columns.
- Mobile Landscape β Horizontal layout optimized for wider screens.
- Adjust Knobs β Click (or touch) and drag vertically.
- Reset Knobs β Doubleβtap to revert to default.
- Toggle Buttons β Single tap to activate/deactivate.
- Prevent Zoom β Mobile UI locks zoom to allow rapid tapping on sequencer steps.
- Press RANDOMIZE for a starting point.
- Press RUN to hear the beat.
- Switch to Pattern Mode if not already there.
- Tweak CUTOFF and RESONANCE on the TBβ303 units while playing.
- Click steps in the sequencer to create your own pattern.
- Use COPY and PASTE to duplicate patterns across P1-P16.
- Switch to Song Mode to arrange multiple patterns.
- Click SHARE URL to copy a shareable link.
Happy Acid Making! π
- Use SLIDE on consecutive notes for classic acid glide effects.
- Combine high RESONANCE with moderate CUTOFF for squelchy sounds.
- ACCENT adds punch to specific stepsβuse sparingly for impact.
- The DELAY effect is tempo-syncedβtry 50% for eighth-note delays or 100% for quarter-note delays.
- Layer BD and SD on different steps for classic house patterns.
- Use CH and OH together, but avoid triggering both on the same step (909 behavior).
- The CLAP sounds great on beats 2 and 4 for a classic backbeat.
- Create variations by copying a pattern and making small changes.
- Use different patterns for verse, chorus, and breakdown sections.
- In Song Mode, repeat patterns to create longer arrangements.
You can import patterns directly from shared URLs without manually navigating to them:
- Copy a shared URL β When someone shares an AcidBros URL with you (e.g.,
https://acidbros.app/#XXXX...), simply copy the entire URL. - Select target pattern β In AcidBros, select the pattern slot (P1-P16) where you want to import the pattern.
- Paste β Click the PASTE button (π icon).
- Done! β The pattern and its sound settings (Knobs, Waveforms) from the shared URL will be imported into your selected pattern slot.
The paste function automatically detects if your clipboard contains an AcidBros share URL and extracts the pattern data from it. If the clipboard doesn't contain a valid URL, it will paste from the internal clipboard as usual.
Note: This feature requires clipboard access permission in your browser.
When you want to share a complete song that uses multiple patterns (e.g., a song arrangement using P1, P3, P5, and P8), follow this workflow:
- Switch to Song Mode β Make sure your song arrangement is set up in the timeline.
- Share the Song URL β Click SHARE URL to copy the song structure and knob settings.
- Share each pattern separately:
- Switch to Pattern Mode
- Select P1, click SHARE URL, save/send this URL labeled as "Pattern 1"
- Select P3, click SHARE URL, save/send this URL labeled as "Pattern 3"
- Repeat for all patterns used in your song (P5, P8, etc.)
Example sharing format:
π΅ My Acid Track
- Song: https://acidbros.app/#ABC123...
- P1 (Intro): https://acidbros.app/#DEF456...
- P3 (Verse): https://acidbros.app/#GHI789...
- P5 (Chorus): https://acidbros.app/#JKL012...
- P8 (Breakdown): https://acidbros.app/#MNO345...
- Click the Song URL first β This loads the song arrangement timeline and all synth/drum settings.
- Import patterns one by one:
- Copy the "Pattern 1" URL
- Select P1 in Pattern Mode
- Click PASTE (π) β The pattern is imported!
- Repeat for P3, P5, P8, etc.
- Play your complete song β Switch back to Song Mode and hit RUN!
π‘ Tip: The receiver only needs to import patterns that are actually used in the song. Check the song timeline to see which pattern slots are needed.
- Adjust knobs in real-time while playing for live tweaking.
- Use the RANDOMIZE button for instant inspiration.
- The CLEAR button in Pattern Mode clears all units; in Song Mode it clears the timeline.
AcidBros supports mapping MIDI controllers and PC/Bluetooth keyboards to any UI control for hands-on performance.
Click the Settings (βοΈ) button in the transport bar to open the configuration panel.
The Settings panel provides:
- General Tab β Configure global application behaviors
- Keep sound settings when changing patterns:
- Unchecked (Default): Each pattern loads its own unique sound settings (Knobs, Waveforms). This allows for drastic sound changes between patterns.
- Checked: Sound settings are preserved when switching patterns. This behaves like a traditional hardware synth where knobs are global, which is useful for live performance consistency.
- Keep sound settings when changing patterns:
- MIDI Tab β Configure MIDI devices and mappings
- MIDI Devices β View connected MIDI input devices and their status
- MIDI Mappings β View and manage all active mappings
- Refresh Devices β Scan for newly connected MIDI devices
- Clear All Mappings β Remove all current mappings
- Close (Γ) β Close the settings panel
The MIDI Devices section displays a list of all connected MIDI input devices.
- Status Indicator: Green dot for connected, Red for disconnected.
- Device Info: Shows device name, manufacturer, and connection state.
- Refresh: Click the refresh button to scan for new devices if they don't appear automatically.
Map any MIDI controller to a UI control:
- Open the Settings panel
- Click the MIDI tab
- Click Learn next to any control in the mappings list, OR
- Click MIDI Learn on any knob/button in the main UI
- Move/press the desired MIDI control (knob, fader, button, or pad)
- The mapping is created instantly
Supported MIDI Messages:
- Note On β For buttons, toggles, and piano keys
- Control Change (CC) β For knobs and continuous controls
- All MIDI Channels β Channel information is stored per mapping
Mappable Controls:
- Knobs: All synthesis and drum parameters, Tempo (MIDI CC only, not keyboard)
- Buttons: Pattern selectors (P1-P16), Transport (Play/Stop)
- Waveform Toggle: Single key/note toggles between SawβSquare for each unit
Use your PC or Bluetooth keyboard for transport controls and pattern selection:
- Open the Settings panel
- Click Learn next to a control
- Press the desired keyboard key
- The key is mapped to that control
Note: Keyboard mappings work best for buttons and toggles. Knobs require MIDI CC for continuous control.
The Settings panel displays all active mappings with:
- Target Control β Name and ID of the mapped UI element
- Source β MIDI (with channel and note/CC number) or Keyboard (with key code)
- Type β Knob, Button, Toggle, Waveform-Toggle, or Key
- Delete (Γ) β Remove individual mapping
- Knobs β MIDI CC values (0-127) are automatically scaled to the knob's range
- Buttons β Triggered on Note On or CC > 63 (MIDI) or key press (Keyboard)
- Toggles β Note On toggles state; CC 0-63 = Off, 64-127 = On
- Waveform Toggle β Note On or key press toggles between Sawtooth and Square
- Piano Keys β Note On/Off for playing notes in the piano roll editor
- One mapping per control β Creating a new mapping for a control removes the old one
- MIDI channel aware β Different channels can control different parameters
- Persistent mappings β Mappings are saved with your project files
- Visual feedback β Controls show a "learning" state while waiting for input
Currently, keyboard shortcuts are available through the keyboard mapping system (see section 8). Map any key to any control for custom shortcuts.
AcidBros works best in modern browsers:
- β Chrome/Edge (recommended)
- β Firefox
- β Safari (desktop and iOS)
Note: Some older browsers may not support all Web Audio API features.
You can run AcidBros locally using either Python or Node.js:
Using Python:
python3 -m http.server 8080Then open http://localhost:8080 in your browser.
Using Node.js:
npx serve .Then open http://localhost:5000 in your browser.
On supported browsers, you can install AcidBros as a standalone app:
- Click the install icon in your browser's address bar.
- Follow the prompts to add to your home screen or applications.
- Launch AcidBros like a native app with offline support.
MIT License









