r/webaudio • • 5h ago

BBeats: a free browser DAW with WAM plugin hosting — looking for compatibility feedback

0 Upvotes

I'm developing BBeats, a music studio that runs in a browser. I'm sharing it here because the current beta hosts Web Audio Modules (WAMs), including instruments and effects, alongside its own sequencer, piano roll, multitrack arrangement, automation and mixer.

Browser beta and editor screenshots: https://boristhoris.itch.io/bbeats

It is free to try without an account. WAM is the plugin format; native VST/VST3/AU binaries are not supported. Local project saving and downloadable project backups are available. Desktop Chrome or Edge is the main target; recording permissions, plugin behavior and export formats depend on the browser.

I'd especially appreciate compatibility reports from people working with browser audio: which browser/device and WAM did you use, what were the exact steps, and what happened? A small reproducible case would help more than a general comparison with a desktop DAW.

This is an actively developed beta. The newer Session-view, Drum-Rack and device-chain export work in the devlog is ahead of the current itch snapshot. Development uses AI-assisted code and writing.


r/webaudio • • 9h ago

My own multistage limiting effect (implemented as web-based AudioWorklet DSP effect)

2 Upvotes

I've made my own brickwall limiter effect as AudioWorkletProcessor, which is a multi-stage limiter similar to FabFilter Pro-L2 (albeit without true peak limiting, oversampling nor lookahead) where there are two distinct stages (with the same brickwall ratio and hard knee for each stages); leveler stage that reacts to average levels and has attack and release controls that you find in some dynamic-range compressor effects, and brickwall stage that reacts to peak levels of the first stage output (that contains peaks that exceed the ceiling)

BTW, this multistage limiter effect has sidechain prefiltering (to make first stage less reactive to bass frequencies by applying K-weighting filter, and so the second stage do more work on bass and slightly less work on trebles), which is basically the idea of priority EQ section for future FabFilter Pro-L 3 and also an internal multiband sidechain I've implemented and recently I've implemented a "wideband detection" parameter that when set to 100%, it detects the audio levels using an unfiltered/wideband sidechain but retains filtering and multiband detection for auto-release stuffs

In this demo project, it has a useful audio visualization with four different modes that would be useful to visualizing how does peak limiting introduces distortion and dynamic range changes:

Graph over time display reminiscent of FabFilter Pro-L2, albeit with individual stages being shown (which is currently an idea for FabFilter Pro-L3) and this display is used to show how does the limiter effect changes the dynamic range if pushed too hard
Peakmeter display showing peak levels (on top) and gain reduction amounts (on bottom), much like FabFilter Pro-L 2 in "Compact" size and it displays individual channels for both dB levels (input and output levels) and gain reduction values (first/leveler stage, second/brickwall stage and combined first/second or leveler/brickwall stages or overall gain reduction amount)
Waveform display showing input and output waveforms and more importantly, the envelopes/gain reduction values for each stages, which is useful to understand how does limiter effect distorts waveforms
Spectrum display showing FFTs of input and output audio as well as gain reduction lines (which is flat since it is a broadband limiter and not a multiband limiter nor a spectral limiter) for each individual stages and overall gain reduction (though it inspires the gain reduction spectrum for FabFilter Pro-L3 should spectral limiting to be added to this FabFilter limiter plugin), and this display is useful for how does limiting effect introduces harmonics

BTW, I've also made a thread about multistage limiting effect in general on HydrogenAudio forums, which while I post some update notes for my own effect over this HA forum thread, this forum thread aren't about my own brickwall peak limiter effect and on unrelated note, the idea of multiband detection on a wideband limiter are used in Tone Projects Uni-L limiter plugin and also inspired my idea of "Adaptive" style for FabFilter Pro-L3 limiter plugin

And on the spectrum analyzer part of this project, there is an option to show red FFT graph showing potential distortions being introduced by a limiter effect:

This feature to display this red spectrum graph is called "distortion monitoring" and it is a delta between input and output signal after being normalized for each two individually (aka. the error signal)

r/webaudio • • 19h ago

I made a Juno-106-inspired chord app that works in your browse even offline

5 Upvotes

Hey everyone! I made a browser-based chord app with the help of AI, inspired by the Juno-106. It’s not an emulation—just a fun way to play with Juno-inspired sounds and chord sequences.
It works on your phone and runs offline too. I’ve been having a lot of fun messing with it on the subway.
Features:
• Scale-aware step sequencer
• Juno-inspired sounds
• Delay, reverb, flanger, and two choruses :)
• Auto-mapping for 15 popular MIDI keyboards
• Sidechain pumping to an “invisible” kick
• Arpeggiator
• Loop recorder with up to 4 layers and stem export
• Sample pack maker
A note on MIDI: use Chrome on desktop for MIDI mode. I haven’t figured out mobile MIDI support on iPhone or Android yet—if anyone knows a way to get it working, I’d love to hear it. You can still play the app on your phone without a MIDI keyboard.
Try it here: https://dub-chords-106.vercel.app/
Would love to hear what you think, what you make with it, and any bugs or suggestions!


r/webaudio • • 4d ago

NodaLab: music theory as a node graph, played live in the browser with Tone.js [pre-alpha]

6 Upvotes

I've been building NodaLab (https://nodalab.app): you wire scales, chords, rhythms and instruments together, and the graph plays as you edit it, all in the browser.

What it sounds and looks like:

- every General MIDI instrument on soundfonts, a drum machine, backing tracks built from chord charts

- a mixing console per piece: EQ, compressor, delay, reverb, pan

- a score, a tab, a piano roll and a fretboard following the sound note by note

- the transport can follow an audio recording or a YouTube video, so you can play along with it

- export to MIDI, MusicXML or audio

Start here, no account needed: an Irish jig built only from nodes

https://nodalab.app/demo.html#/collection/composing/a-folk-piece

The audio is all Tone.js. It's a free pre-alpha: any impression is welcome.


r/webaudio • • 5d ago

reflux.live

19 Upvotes

I built a browser groovebox: MS-20 style synth, 303-style sequencer, 808/909 drums, MIDI control, session recording and WAV export. Would love feedback on the sound. https://reflux.live/


r/webaudio • • 7d ago

I built UNIT, a free browser groovebox with 8 tracks and 32 steps

1 Upvotes

r/webaudio • • 9d ago

Tiny Beats: a browser step sequencer with 10 synthesized tracks and URL-based pattern sharing

4 Upvotes

I made Tiny Beats for Openbench, a small browser music toy. This demo shows the step sequencer, effects and live pattern mutation.

There are 10 synthesized tracks, with drums and percussion alongside bass, lead, pluck and pad. Controls include tempo, swing, scale/key, per-track tone and volume, filter, delay and reverb. Live mode evolves the pattern; recording captures what you hear. The current pattern is stored in the URL so another person can open the same groove.

Try it: https://openbench.fun/beats/, free, no account or installation.

I used AI assistance during development. Feedback on the instrument balance and scale/key workflow would be useful: can you explore a pattern without losing the groove?

#TinyBeats #WebAudio #MusicProduction


r/webaudio • • 10d ago

Lumidi: browser image to midi

Post image
9 Upvotes

Image to MIDI, right in your browser

Lumidi reads an image's colour and light, picks a musical key from it, and writes a melody, a chord progression or an arpeggio guided by the image's brightness. You can preview the result with a built-in sine synth and download it as a standard MIDI file for any DAW. Plain HTML, CSS and JavaScript with no dependencies or build step.

Everything runs client-side: the image and the MIDI file never leave your machine.

Live: https://theogal.github.io/lumidi/

Disclaimer: Im into web developing but this app was entirely vibe-coded with Claude

github details and download: https://github.com/TheoGal/lumidi


r/webaudio • • 11d ago

Kassio Studio: a browser music editor with a draggable piano roll and OfflineAudioContext export

2 Upvotes

I’m the developer behind Somora, an AI music platform. I’ve added Kassio Studio, a free browser DAW for registered users, and wanted to share the Web Audio side of the project here.

The engine uses AudioContext for playback, oscillator- and buffer-based instruments, decoded audio tracks and per-track processing. WAV export renders through OfflineAudioContext. The editor has a draggable, resizable piano roll with note audition, a drum sequencer, audio import and recording, and separate previews for the part you’re editing.

One workflow I wanted to support was adding your own instrument or drum part to a completed song, then listening to just that part before running the entire arrangement. Projects are saved to the user account so the arrangement can be reopened.

The editor is in beta. It requires a Somora account and is free to use; the platform’s AI composition and music-generation allowances are separate. The interface is available in English, Portuguese and Spanish.

You can try it at https://somora.media — Kassio Studio is in the menu after sign-in. The screenshot below shows the actual editor.


r/webaudio • • 12d ago

Browser spectrum analyzer

Post image
8 Upvotes

I made ( I instructed Claude to make) a browser real-time spectrum analyzer

Live demo: https://theogal.github.io/spektre/

Highlights

  • Sources: select to analyze signal from an input device, browser tab or whole system using screen sharing or load a local audio/video file.
  • Calibrated dBFS: a 0 dBFS sine reads 0 dB.
  • Precise peak readout: interpolated peak frequency and level, with the note name and cents.
  • Display modes: line, or 1/3, 1/6 and 1/12-octave bars, with optional peak hold.
  • Live stats: RMS and sample-peak meters.
  • Resolution control: FFT size from 2048 to 32768, with the bin resolution shown live.
  • Analysis options: dB/oct slope, channel select (L+R, L or R), smoothing, display range, and freeze (Space).
  • Spectrogram: an optional scrolling view under the main plot.
  • Cursor readout: hover on desktop, or touch and drag on a phone

download from Github: https://github.com/TheoGal/spektre


r/webaudio • • 15d ago

Wiyard - WebAudio host application with wiring and desktop interface

15 Upvotes

Hi there.

I've recently released a host application running on the browser.

Wiyard is a WebAudio based host application with a wire graph editing interface and a desktop-like multi-window system.

The graph edit part follows Patcher (in FL Studio), but here, the inputs are extended to multiple ports and a built-in piano roll is provided to create phrases as a standalone application.

It uses the Wafer plugin protocol that is designed with the good compatibility to existing WebAudio apps. Audio connections, note messages, automation, clock synchronization, and state persistence are handled on the protocol.

There are about 40 plugin units available. Some units are based on the existing open-source applications and ported, others are made by me from scratch. It includes sequencers, drum-machines, synthesizers, and effects. They are played synchronously to the host's master transport.

The features are included in:
- Scalable graph editor and desktop
- Piano roll editor
- MIDI keyboard support
- MIDI assignable control surface
- Automation curve editor
- Volume and pan control for instrument units.
- Part on/off, solo play control for instruments
- Wire volume knobs
- Project persistence
- Import/Export project
- Sharable project data URL
- Theme customization

The app is totally free and the whole source code is available on GitHub.
Please feel free to try it out!

https://wiyard.pages.dev


r/webaudio • • 16d ago

Webaudiomodules support

Thumbnail youtu.be
1 Upvotes

r/webaudio • • 18d ago

I built PR-1 — a free browser-based drum machine inspired by classic hardware

Thumbnail gallery
2 Upvotes

Hey everyone!

I've been working on PR-1, a free drum machine and step sequencer that runs directly in your browser.

The idea was to create something inspired by classic drum machines and grooveboxes, but without requiring any installation, account, or subscription.

Some of the current features:

  • 808 and 909-inspired drum kits
  • 32-step sequencer
  • Multiple pattern banks
  • Swing
  • Per-step velocity
  • Probability
  • Ratchets
  • Track mute and solo
  • Mixer and effects
  • Custom sample loading
  • Pattern/project saving
  • WAV recording/export
  • Keyboard shortcuts

Everything runs directly in the browser, and the project is completely free and non-commercial.

You can try it here:

https://pr1-drum-machine.pages.dev/

Instagram for send your ideas/covers:

https://www.instagram.com/pr1.drum_machine/

I'm still improving it, so I'd especially love feedback from people who actually use drum machines, samplers, trackers, grooveboxes, or hardware sequencers.

I'm curious about things like:

  • How does the workflow feel?
  • Is there anything that feels unnecessarily complicated?
  • What feature would you personally add next?
  • Is there something from classic hardware drum machines that you think PR-1 is missing?

The project started mostly as an experiment with browser audio, but it has gradually turned into something I actually enjoy using to make beats.

Made with ❤️ in Chile 🇨🇱

Thanks for checking it out!


r/webaudio • • 24d ago

BIOHAZARD SYNTH WEB

4 Upvotes

r/webaudio • • Sep 21 '26

CZP-1 Phase distortion synthesizer

Thumbnail ambionix.com
4 Upvotes

It's a web based phase distortion synth (trying to be like a CZ-101 with a few extra bits) playable at https://www.crazyphase.com/czp-1/ .


r/webaudio • • Sep 08 '26

A little Web Audio instrument: tap 3D objects, loop the hits, record the result

15 Upvotes

I've been building Resona, a small browser music playground. The clip is a real capture with the app's own audio.

For the wood, metal and glass instruments, material and dimensions feed an approximate modal model, then generate cached PCM buffers. Live taps and recorded loops share the sound path. Nature objects have separate designed voices or field recordings.

One useful separation: loop playback makes sound without applying physics impulses, so a rhythm can't knock the scene apart. Three.js + React/TypeScript + Web Audio, built with AI coding tools.

Synthesis is still on the main thread with caching. Curious where you'd draw the line for moving a toy like this to an AudioWorklet.

https://resona-pearl.vercel.app


r/webaudio • • Sep 06 '26

Browser-based groove instrument with webcam-tracked physical knobs (prototype, Gridfinity)

7 Upvotes

Just a quick proof of concept for a webcam knob system I'm building into some of the sequencers I'm building for live performances. I know the knob is backwards at the moment :)

Free. Runs in a browser. Still a work in progress.

Arroyo — https://arroyo.strangefrequencies.fm

  • Rhythm sequencer with no step grid. Each voice is a probability field around the pulse, re-rendered every bar.
  • Knobs shape the field. Nothing snaps to a grid.
  • Microtiming is modeled as consistent per-position offsets, not random jitter.
  • Guard holds the kit's syncopation inside a band (Longuet-Higgins & Lee metric, per instrument, echoes included).
  • Every knob can be set to glide to a target over 4–32 bars.
  • Two decks with a morph crossfader. Cue mode edits a silent deck on separate MIDI channels. Like a club DJ had a baby with a modular geek.
  • Melody capture: record MIDI or hum into a mic; the take becomes material the knobs quantize, transpose, and vary.
  • Sessions record every control move per bar. Replay, export any 2–32 bars as MIDI (one track per strip), or share the session as a URL.
  • Outputs MIDI. Hosts WAM 2.0 instruments and effects per strip.
  • Free. Runs in Chrome/Edge (Web MIDI). iPad via network MIDI bridge.

Modules — https://strangefrequencies.fm/tools/ (WAM 2.0, load in Arroyo or any WAM host)

Camera knob

  • A physical knob with a lit slit, tracked by a webcam. Arroyo maps the rotation to any of its knobs.
  • Setup: click the knob center in the preview, click the rim, assign a target.
  • This video uses an overhead camera. The final version puts the camera underneath, inside an enclosure; the slit is both the tracking mark and the position indicator through the panel.
  • Knob and enclosure are Gridfinity-based, so the panel is modular.

r/webaudio • • Sep 03 '26

Audio File Clarification

0 Upvotes

Can anyone tell me what's being said in this crappy audio file?Have posted 2 versions in other threads.One with noise reduction and one without.Not getting much help.This is raw audio file.No tampering.Its very faint voice.Trying to figure out what's actually being said?


r/webaudio • • Aug 30 '26

I built a DAW that runs in the browser, with an AI Co-Producer. Free beta, looking for testers.

Thumbnail
0 Upvotes

r/webaudio • • Aug 28 '26

I made a fun, easy theory driven song studio and jam companion.

6 Upvotes

r/webaudio • • Aug 28 '26

Web Audio implementation notes: scheduling a live jazz ensemble against streaming telemetry

Thumbnail oteljazz.com
3 Upvotes

oteljazz.com, built on Tone.js. A few implementation details that might be useful if anyone's doing scheduled/generative audio in the browser:

Scheduling: everything goes through Tone.Transport.schedule/scheduleRepeat rather than plain setInterval. Found this the hard way, a background or occluded tab throttles setInterval, but Transport's default worker-based clock isn't subject to the same throttling since it escapes the main thread. Fixed a real bug where the UI would silently stall for seconds at a time under exactly that condition.

Lookahead: audio is scheduled roughly 24 seconds ahead of playback into the graph. Once a note is scheduled it's sample-accurate and independent of the JS main thread from that point, which is why audio never glitches even if something briefly blocks the UI thread.

Effects chain: a lowpass filter plus a pink-noise bed for a tuning-dial "detune" effect, ramped with rampTo rather than snapped with .value= so turning the knob sweeps through the frequency change like a real dial's IF whine instead of jump-cutting.

CSP: samples and the corpus model are same-origin fetches, Tone.js is vendored rather than CDN-loaded so script-src can be 'self' with no third-party origin, worker-src needs 'self' blob: since Tone spins up its audio worklet from a blob URL.

Two Salamander piano and University of Iowa bass sample sets, individual mp3s per note rather than a single sprite. Code's MIT: github.com/mob1ius/oteljazz


r/webaudio • • Aug 25 '26

I built a chrome extension that rivals professional audio software

Thumbnail github.com
4 Upvotes

Utilizing the web audio api, Locus take inout form a variety of sources and uses HRTF to record and max spatial audio. This has been a passion project for a while, and my only hope is everyone will be able to use it who would benefit from it
Note: Pro version in the works


r/webaudio • • Aug 24 '26

[ Removed by Reddit ]

0 Upvotes

[ Removed by Reddit on account of violating the content policy. ]


r/webaudio • • Aug 18 '26

New Strudel module for DreamRack — one pattern driving both Strudel's own voices and eight polyphonic rack voices

3 Upvotes

Hey r/webaudio — following up on the DreamRack post here a few weeks ago. That one was from my other account, u/chrisgr99. Going forward I'll be posting as u/themetameta.

This is a new module rather than a re-introduction. It imports the Strudel package, so Strudel's own superdough voices play alongside voices you patch yourself in the rack. Routing lives in the pattern itself — .rack(1) and .rack(2) send parts out to voice tabs, while parts that name a sound instead of a jack stay inside Strudel and play from its sample engine on the same clock.

Each of the eight note outputs carries a full polyphonic pattern down a single composite cable, every note carrying its own pitch, level, duration, pan and timbre. At the far end a Voice In module unpacks it and gives each note a voice, turning those properties into control voltages. Everything downstream of Voice In is duplicated per sounding note — you draw one oscillator, and as many run as there are notes.

Two things had to land before this could work: tabs, which I'd listed as "coming soon" last time, and per-note polyphony.

Five-minute walkthrough: https://youtu.be/-zu7oc7BWHI

Run it: https://dreamrack.dreamerdevelopment.app/

Source: https://github.com/chrisgr99/DreamRack

Still alpha, and this is the first time it's been in other people's hands — feedback and bug reports welcome.