Fonyx

Yours to use, read, change and share.

Fonyx is free software. The whole thing, mixer, apps and tests, is published under the GNU General Public License, version 3 or any later version.

The licence, in plain words

Use it for anything.

Run Fonyx at home, at work, on stage or in a product. Nobody needs to give permission and there is nothing to pay.

Read it and change it.

The source is public so you can see exactly what it does to your audio, fix what annoys you, and build your own version.

Share it, and keep it open.

You may pass on copies, changed or not. If you distribute a changed version, you must offer its source under the same licence, so the people you give it to have the freedoms you had.

No warranty.

Fonyx is offered as it is. The licence text is the authority on all of this; the summary here is only a guide to it.

Taking part

Found a problem? Say so.

Open an issue with what you did, what you expected and what happened. Your distribution and the output of fonyx system doctor help a lot.

Changes arrive as pull requests.

Work on a branch and open a pull request. Every one is built and run through the full test suite automatically, and has to pass before it can be merged.

You can run the same checks first:

$ cargo test --workspace
$ sh ui/tests/run-isolated.sh

The second command starts a throwaway audio session of its own, so the tests never touch the sound on your machine.

The code is in five parts.

  • daemon/: the mixer itself, in Rust. Audio engine, processing, and the control interface.
  • ui/: the desktop app. A Tauri shell around a single HTML file.
  • cli/ and client/: the fonyx command and the connection it shares with the app.
  • quickshell/: the status-bar widget and its standalone app.
  • docs/: how it all works, and why it was built that way.

Standing on

The mixer is built on other people's free software.

  • PipeWire and WirePlumber
  • pipewire-rs
  • zbus
  • Tauri
  • rtrb
  • RustFFT
  • hound and flacenc
  • serde and toml
  • clap
  • sysinfo
  • tracing
  • Quickshell
  • Playwright

So is this website.

The desk is drawn with three.js and the pages are bundled with Vite. The typefaces are Big Shoulders Display, IBM Plex Sans, JetBrains Mono, Michroma and Caveat, all under the SIL Open Font License.

The desk is an invention for these pages. It is not a real product, and it is not modelled on anyone's hardware.

The demo's music is free too.

The songs in the demo were given to the public domain by their makers under CC0: Beach, Chillin' Poupi and The Strawberry by Komiku, and the Aria from Bach's Goldberg Variations played by Kimiko Ishizaka for the Open Goldberg Variations. They were taken from Wikimedia Commons.

Who made it.

Arden Diago is the author and maintainer. Claude, Anthropic's AI model, worked as pair programmer on the mixer, the app, the tests and the documentation through Claude Code, and is credited as co-author on the commits it worked on.