edytlab

Use case

A local-first AI audio editor

Most AI audio tools upload your files to a server. edytlab does not. The editing runs on your computer, the AI only sequences the tools, and with Ollama even the chat can stay at home.

What stays on your machine, and what leaves

ItemWhere it goes
Your audio filesNowhere. Decoded, processed and rendered locally.
The edits themselves (EQ, fades, time-stretch, export)Nowhere. They run in-process in a Rust engine.
Your chat messages and the agent's tool resultsThe AI provider you chose. Never your raw audio. With a local Ollama model, they stay on your computer too.
API keysYour operating system's credential store, sent only to the provider that owns the key.
Usage dataNone. The app has no telemetry and this site has no analytics.

The details are on the privacy page, and the source is public, so you can check the claims rather than take them on trust.

Why the AI does not need your audio

The model never sees or hears samples. It is given a description of the session, with measurements such as tempo, key, beat grid and loudness, and a list of 93 deterministic audio tools. It chooses which tools to call and in what order. The tools do the signal processing, in pure Rust, with no Python in the audio path. That split is what makes local-first practical: the heavy, private part stays on your machine, and the part that needs a language model is only text.

Run it with Ollama

Ollama needs no account and no key. To use it:

  • Install Ollama and pull a model that supports tool calling.
  • Open Settings in edytlab (the gear icon) and choose Ollama.
  • Press Test. edytlab sends a minimal request to check that the model can call tools, then save.

The getting started guide walks through it. You can also switch between Ollama and a hosted provider (Anthropic, OpenAI, OpenRouter, Groq or Gemini) at any time, without reinstalling.

Be realistic about local models

  • The agent sends its instructions and the tool list with every request. One measured first request was about 15,000 tokens, and a local model run with an 8,192-token context refused it. Use a model with reliable tool calling and a context window well above that. Shrinking the request is tracked in issue 395.
  • On a CPU, a large request means a long wait for the first reply.
  • “Plan first” mode, which shows the agent's steps for your approval before anything runs, is a useful guard with smaller models.
  • Stem separation and transcription are not built yet, locally or otherwise, so nothing here offers them.

Open source, so you can verify it

edytlab is released under the MIT license. The audio engine, the tool list and the privacy behaviour are all in the repository, and the repository's tools reference is generated from the same registry the agent calls, so that document cannot drift from what the app does.

Where next

See it work in the DJ blend demo, browse the 93 tools, or read the blog. The builds are unsigned for now, so macOS and Windows will warn on first launch; the setup guide has the steps.