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/
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:
- navigate to a YouTube video or playlist in the integrated browser,
- click Start and wait: separation can take a while, especially on CPU,
- click the stems listed in the status log, or find them in the output
folder,
$HOME/yaas_tracksby 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)
| File | Size | Uploaded | |
|---|---|---|---|
| yaas-1.0.0.tar.gz | 174.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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