Skip to main content
Yaas

Yet Another Audio Splitter

This is Yaas 1.0.0, a desktop application that splits the soundtrack of a YouTube video into separate stems (vocals, drums, bass, other, ...), for example to practice an instrument over the rest of the band.

Browse to a video in the built-in browser, click Start, and Yaas downloads its audio, separates it with a machine-learning model, and writes one WAV file per stem.

Full documentation: https://kleag.github.io/yaas/

Buy Me A Coffee

Installation

Ready-to-run builds are on the GitHub Releases page:

Platform Download ffmpeg
Windows yaas_installer.exe Install it separately: winget install ffmpeg in PowerShell
macOS (Apple Silicon) yaas_installer.dmg Included
Linux (x86_64) yaas-x86_64.AppImage Install it with your package manager, e.g. sudo apt install ffmpeg

The macOS app isn't signed: the first time, right-click it and choose Open to get past Gatekeeper's warning. On an Intel Mac, install from PyPI instead.

On any platform with Python 3.12 to 3.14, you can also install from PyPI into a virtual environment (see the uv documentation), with ffmpeg installed separately:

uv pip install yaas

See Installation for details, including GPU acceleration.

Usage

Start Yaas from your applications menu, or with yaas in a terminal when installed from PyPI. Then:

  1. navigate to a YouTube video or playlist in the integrated browser,
  2. click Start and wait: separation can take a while, especially on CPU,
  3. click the stems listed in the status log, or find them in the output folder, $HOME/yaas_tracks by default.

While a job runs, keep browsing and click Add to Queue to split more videos afterwards. Click Stop to stop the running job.

The ☰ menu gives access to:

  • Settings...: the output folder and the separation model,
  • Open Output Folder,
  • GPU Acceleration...: an optional CUDA environment on Windows/Linux, or the status of Metal acceleration on Apple Silicon Macs,
  • the documentation, the issue tracker, and the version information.

Separation models

Choose the model in Settings...; the choice is kept for future runs.

Model Library Notes
BS-Roformer (default) audio-separator
HTDemucs 6 stems audio-separator Also separates guitar and piano
OpenUnmix OpenUnmix

Models are downloaded on first use and cached for later runs.

Command-line options

These override the settings for a single run:

Option Description
--version Print the version and exit
-o, --out DIR Output folder
--backend {audio_separator,openunmix} Separation library
--model {roformer,htdemucs6s} Model used with the audio_separator backend
--sample-rate {44100,48000} Stems' sample rate

Please respect the copyright of the videos' authors: if they don't allow sharing, keep the extracted stems for your personal use.

Development

Yaas uses uv. From a clone of the repository:

uv venv && source .venv/bin/activate
uv pip install -e . --group dev
yaas
pytest

Releases are versioned with bumpver:

git commit
bumpver update --patch   # or --minor / --major

bumpver pushes a version tag, which makes GitHub Actions publish the package to PyPI, and build the Windows, macOS, and Linux packages and attach them to a GitHub Release. See Building & Releasing for building them locally.

Author and license

Gaël de Chalendar, aka Kleag (c) Gaël de Chalendar, 2024-2026

This program is free software, licensed under the Mozilla Public License 2.0 (MPL 2.0) license (see the LICENSE file). It includes most of the youtube-to-mp3 project, itself under the MPL license.

Metadata

Release files for yaas 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yaas 1.0.0
File Size Uploaded
yaas-1.0.0.tar.gz 174.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yaas 1.0.0
File Interpreter ABI Platform
yaas-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 353.1 kB

Release files / yaas-1.0.0.tar.gz

Download URL yaas-1.0.0.tar.gz
Size 174.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d6b978e3326a34681b81ec527081828352994efb5e0d02208aa13e0629d0ca75
BLAKE2b-256 checksum
How to use checksums
705f57d443be9be389d072519d06cf9f8deeb250e6e101175203efd7c8860341
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / yaas-1.0.0-py3-none-any.whl

Download URL yaas-1.0.0-py3-none-any.whl
Size 178.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e5c8274b0ffeb6a22ca7d4516843860784f9b626fe820749de557fac14b9c70
BLAKE2b-256 checksum
How to use checksums
096aeb1c63480ea96acf71d54445e6361ca7a3b33246fde0836ce3025fb4913c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.12.0

2 release files

0.11.7

2 release files

0.11.6

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page