Skip to content
Toneflix Studio
Open source · MIT · Zero dependencies

The studio engine
for the web.

Give any web app a real multitrack editor. Arrange, cut and shape audio as freely as in a desktop DAW, right in the browser.

Get started
Untitled session

Drag a clip while it plays, click the ruler and press S to split, or arm a track with R and record. The sliders button opens the mixer, where + adds a plugin. Double-click the Lead clip to draw notes in the piano roll.

Edit without limits

Split anything, drag clips anywhere, layer them and move them between tracks. Nothing snaps back unless you ask it to.

Fast with big sessions

Waveforms are drawn in the background and cached on the device, so long recordings open instantly the next time.

Fits any stack

No framework and no dependencies. Use the built-in toolbar and track controls with your own icons, or build your own UI.

Open by design

MIT licensed, with plain data you can save anywhere. Swapping projects with desktop DAWs is on the roadmap.

A few lines in

From an empty div to a multitrack editor.

Load tracks and clips as plain data, hand it peaks, and listen for changes. Every edit comes back as JSON you can save anywhere, and every step lands in one undo history your whole editor can share.

Read the guide →
import { StudioTimeline, makeClip } from '@toneflix/studio';

const studio = new StudioTimeline(editor, {
  grid: { bpm: 120, snap: 'beat' },
});

studio.load({
  tracks: [{ id: 'vox', name: 'Vocals' }],
  clips: [makeClip({ track: 'vox', source: 'take-3',
    start: 0, offset: 0, duration: 12 })],
});

studio.on('change', ({ state }) => save(state));
Made for
  • Music apps
  • Podcast editors
  • Classrooms
  • AI audio tools
  • Games
  • Sample libraries
Where it's going

A full studio, one release at a time.

  1. Available

    Edit, mix and play

    Free clip editing, cached waveforms, one undo history, and playback with a mixer, automation, markers, tempo changes, live plugins, loops and a metronome.

  2. Available

    Recording

    Record over the mix onto any track, lined up with what was heard, with the waveform drawn as you record.

  3. Available

    DAW project exchange

    Save a session as a REAPER project with all its audio, finish it in a desktop studio, and open it again.

Bring the studio to your app.