ferraus

io.github.djynniusPublished by GitHub account djynniusv0.1.4Updated Nov 7, 2026

Command-line audio workstation: stems, restoration, tuning, sheet music, mastering. JSON everywhere.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

Local MCP server exposing ferraus, a command-line audio workstation, so an assistant can edit, restore, separate, tune, transcribe and master audio files.

What you can do
  • Edit and convert audio: trim, split, concat, resample, normalize, export waveforms and spectrograms, pull audio from video
  • Apply effects and restoration: fades, EQ, compression, reverb, declip, dehum, declick, dehiss, spectral repair, noise reduction
  • Separate stems, pitch-correct, time-stretch, and convert humming to MIDI or instrument renders
  • Produce MIDI and notation: quantize, groove, scores and sheet-music PDFs performed as audio
  • Mix and master: genre stem balance, masking analysis, ducking, pass/fail gates, mastering with an analyze-plan-verify loop
  • Return JSON envelopes with schemas and provenance sidecars that can be replayed
When to use it
Useful when an assistant is asked to process music or audio files on the user's machine — cleaning up takes, making stems, tuning vocals, generating sheet music, or producing a release-ready master — without a GUI.
Requirements
Runs as a local process on the user's machine (desktop only); the MCP server is started with a command that takes an allowed folder path. The ferraus CLI must be installed first (installer script, Homebrew, apt, dnf, scoop, MSI, Docker image, or cargo). Model weights are not bundled and download on first use.
Before you install
Commands write, convert and overwrite audio files in the allowed folder, so scope the allowed path narrowly and avoid overwriting existing files unless intended. Model downloads fetch third-party weights and consume disk and bandwidth. Some features load CLAP/VST3 plugins, and the static musl build cannot.

Installation

In SourceWeft

  1. Open ferraus in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[ferraus banner: a smiling engineer in headphones at a mixing console in a recording studio, under a brushed-steel ferraus sign]

ferraus

A command-line audio workstation for scripts and AI agents.

One cross-platform binary that edits, repairs, separates, tunes, transcribes, notates, and masters audio. Every command returns JSON and records how each file was made, so scripts and agents can chain it without a GUI and reproduce any result. (The au is for audio.)

bash
ferraus separate song.mp3                         # vocals, drums, bass, otherferraus denoise take.wav --auto -o clean.wav      # learn the noise, remove itferraus tune vocal.wav --key auto -o tuned.wav    # pitch-correct to the detected keyferraus hum idea.wav --to piano -o idea.piano.wav # humming → MIDI → a real instrumentferraus mix balance stems/*.wav --genre pop       # faders that put stems on a genre balanceferraus master mix.wav --target streaming         # release-ready master at -14 LUFS
  • Editing and conversion: convert, trim, cut, split, concat, resample, normalize (EBU R128), channels, silence, tags, waveform and spectrogram export; audio from MP4/MKV/WebM/MOV.
  • Effects: fades, compressor, limiter, gate, de-esser, multiband, EQ, reverb (plate, FDN, convolution), delay, chorus/flanger/phaser, saturation, vocoder, panning and automation.
  • Restoration matching Adobe Audition's effects: declip, dehum, declick, dehiss, spectral repair, phase alignment, leveler, scientific filters, and more.
  • Noise reduction from a noise profile, adaptive, or model-based (DeepFilterNet, RNNoise).
  • Stem separation in tiers from Demucs to RoFormer ensembles.
  • Pitch and time: auto-tune, pitch shift with formant preservation, time stretch.
  • MIDI and notation: quantize, groove, hum-to-MIDI, rendering through SoundFonts, SFZ, or CLAP/VST3 instruments; scores (lead sheet, grand staff, drums, solfa) from audio or MIDI, and sheet-music PDFs performed as audio.
  • Mixing: stem balance to genre templates, level-aware masking analysis with the EQ cut that fixes it, sidechain ducking, a vocal rider that holds the vocal against the music word by word, dynamic resonance control, song structure (sections, repeats, roles), patching a bad note from a clean repeat, a pass/fail gate before mastering, and whole sessions as cached pipeline files whose stages report their own measurements.
  • Mastering: one command, or an analyze → plan → verify loop an agent can drive.

For AI agents

Every command takes --json and returns a stable, versioned envelope; ferraus schema <command> prints its JSON Schema; every output gets a provenance sidecar (<output>.ferraus.json) that ferraus replay reproduces. ferraus is also an MCP server:

bash
claude mcp add ferraus -- ferraus mcp serve --allow ~/music

ferraus describe --agent prints the whole command surface in under 4,000 tokens. See AGENTS.md.

Install the skills

The ferraus skill teaches an agent when and how to use ferraus (the --json contract, dry runs, model downloads). The companion skills carry an engineer's working method for whole jobs: every decision taken from a measurement, every result checked against a numeric gate, and the session delivered as an editable pipeline file plus a report. They are what let an agent mix and master a producer's stems unsupervised.

SkillWhat it does
ferrausthe CLI contract and the common one-command tasks; routes to the others
ferraus-mixstems → balanced, processed, panned mix with sends, ducking, and a pass/fail gate before mastering
ferraus-mastermix → reviewed and verified masters for every destination, deliverables, albums, alternate versions
ferraus-vocalsraw take → repaired, tuned, produced vocal; doubles and vocal effects
ferraus-mix-reviewmeasured, prioritized notes on a mix or master; reference and version comparisons
ferraus-stemsstem export checks, separation, instrumental/a cappella/TV versions, remix prep
ferraus-beatsdrum patterns, chords, bass lines as DAW-ready MIDI, rendered to audition

Install them with one of:

AgentCommand
Claude Codeclaude plugin marketplace add djynnius/ferraus, then claude plugin install ferraus@ferraus (all skills)
Other agents (Cursor, Codex, Gemini CLI, …)npx skills add djynnius/ferraus, then pick the skills and your agent
Any agent, by handcopy the folders under skills/ into the agent's skills folder

The skills drive the ferraus command, so install the CLI first (see Install).

One prompt that sets everything up

To set up an agent, paste this into it:

text
Install the ferraus CLI and its skill, then use ferraus for any audio, music, or sheet-music task.
1. Install the CLI if `ferraus --version` fails. Use one method: macOS or Linux with Homebrew:   `brew install djynnius/tap/ferraus`; otherwise on macOS or Linux:   `curl -fsSL https://github.com/djynnius/ferraus/releases/latest/download/ferraus-installer.sh | sh`;   on Windows (PowerShell):   `powershell -ExecutionPolicy ByPass -c "irm https://github.com/djynnius/ferraus/releases/latest/download/ferraus-installer.ps1 | iex"`.   Then run `ferraus doctor --json` and confirm "ok": true.2. Install the skills. In Claude Code: `claude plugin marketplace add djynnius/ferraus`, then   `claude plugin install ferraus@ferraus`. In another agent: `npx skills add djynnius/ferraus`   and select all the ferraus skills and your agent. Use one method. You can read the skills directly at   https://github.com/djynnius/ferraus/tree/main/skills   (the main one, raw: https://raw.githubusercontent.com/djynnius/ferraus/main/skills/ferraus/SKILL.md).3. Optional, if you support MCP: register `ferraus mcp serve --allow <music folder>` as an MCP server   (Claude Code: `claude mcp add ferraus -- ferraus mcp serve --allow ~/Music`).4. Before the first task, run `ferraus describe --agent` for the command catalog and read   https://raw.githubusercontent.com/djynnius/ferraus/main/AGENTS.md for the contract: add `--json` to   every call, plan with `--dry-run`, never pass `--overwrite` unless asked, and only download models   (`-y`) when the user agrees.

Examples

examples/ has runnable shell scripts, pipeline files, an MCP client, and a Claude agent loop. They work on test audio that ferraus generates, and CI runs all of them.

Install

PlatformCommand
macOS and Linuxcurl -fsSL https://github.com/djynnius/ferraus/releases/latest/download/ferraus-installer.sh | sh
Windows (PowerShell)powershell -ExecutionPolicy ByPass -c "irm https://github.com/djynnius/ferraus/releases/latest/download/ferraus-installer.ps1 | iex"
Homebrewbrew install djynnius/tap/ferraus
Debian 13+ / Ubuntu 24.04+the apt repository below, or the .deb from the releases page
Fedora 39+ / RHELsudo curl -fsSLo /etc/yum.repos.d/ferraus.repo https://djynnius.github.io/packages/rpm/ferraus.repo && sudo dnf install ferraus
Windows (scoop)scoop bucket add djynnius https://github.com/djynnius/scoop-bucket; scoop install djynnius/ferraus
Windows (MSI)from the releases page
Dockerdocker run --rm -v "$PWD:/work" -v ferraus-data:/data ghcr.io/djynnius/ferraus info song.wav
From sourcecargo install ferraus

apt repository (signed; updates arrive with apt upgrade):

bash
sudo mkdir -p /etc/apt/keyringssudo curl -fsSLo /etc/apt/keyrings/ferraus-archive-keyring.asc https://djynnius.github.io/packages/ferraus-archive-keyring.ascsudo curl -fsSLo /etc/apt/sources.list.d/ferraus.sources https://djynnius.github.io/packages/apt/ferraus.sourcessudo apt update && sudo apt install ferraus

Update: ferraus update --check says whether a newer release is out and how to get it; ferraus update installs it when the release installer put ferraus there, and otherwise prints the Homebrew, apt, dnf, scoop, or cargo command.

Builds: macOS 13.4+ on Apple silicon and Intel; Linux on x86-64 and ARM64, both with glibc 2.38+ (Ubuntu 24.04+, Debian 13+, Fedora 39+) and as a fully static musl build for Alpine and older distributions (the shell installer picks it when glibc is too old; it cannot load CLAP or VST3 plugins); Windows on x86-64 and ARM64 (needs the Microsoft Visual C++ Redistributable, present on most machines). Release artifacts are built and attested only by this repository's GitHub Actions workflows. Model weights are not in the package; they download on first use (with -y or models.auto_download = true) and are verified by SHA-256.

Run ferraus doctor after installing.

Documentation

License

Apache-2.0 OR MIT, at your option. The score engraving helper (ferraus-engrave) is LGPL-3.0 because it links Verovio; it runs as a separate process.

Source: README.md at commit ddbb921

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

2
  1. v0.1.4LatestNov 7, 2026
  2. v0.1.3Nov 6, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts