Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ldm0/rspleeter
Rust implementation of Spleeter
https://github.com/ldm0/rspleeter
ffmpeg multimedia rust spleeter
Last synced: 8 days ago
JSON representation
Rust implementation of Spleeter
- Host: GitHub
- URL: https://github.com/ldm0/rspleeter
- Owner: ldm0
- License: mit
- Created: 2022-06-05T19:51:21.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-12-15T04:04:35.000Z (about 2 years ago)
- Last Synced: 2025-01-08T17:20:51.259Z (22 days ago)
- Topics: ffmpeg, multimedia, rust, spleeter
- Language: Rust
- Homepage:
- Size: 25.4 KB
- Stars: 115
- Watchers: 4
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rspleeter
Split a song into vocals and accompaniments, taking advantage of machine learning.
Rust implementation of [`spleeter`](https://github.com/deezer/spleeter). One of the [`rsmpeg`](https://github.com/larksuite/rsmpeg) demos.
Inspired by:
- https://github.com/deezer/spleeter
- https://github.com/wudicgi/SpleeterMsvcExe
- https://github.com/gvne/spleeterppMSRV: `1.59.0`
You can check the examples we provided.
- Original:
- Vocal:
- Accompaniment:## Getting started
**Attention**: For Windows developers, get prebuilt FFmpeg from the release page or manually cross compile FFmpeg is needed. If you are using Windows, read the next section first.
```bash
# Install `nasm` and `libmp3lame`.
# macOS
brew install nasm lame
# Linux
sudo apt install nasm libmp3lame-dev# Prepare pre-trained models
curl -L -O https://github.com/ldm0/rspleeter/releases/download/0.1.0-models/models.zipunzip models.zip -d models
# Get a test song.
curl -O https://ldm0.github.io/assets/ten_years.mp3# Split the tests song with 2stems model, the output folder is `target/ten_years`.
# Run `cargo xtask run --release -- --help` for more options.
cargo xtask run --release -- ten_years.mp3 target/ten_years
```Then play the `target/ten_years/accompaniment.mp3`, have fun!
## FFmpeg dylib
If you find building ffmpeg annoying, you can skip it by using prebuilt FFmpeg. Download prebuilt FFmpeg artifacts from the release page, decompress it and put it under the source folder. (e.g. `./prebuilt_ffmpeg/lib/libffmpeg.dylib`).
When `cargo xtask` find the prebuilt FFmpeg artifacts, it will link against it and skip the FFmpeg building.
If you want to build it manually, check this [doc](doc/build_ffmpeg_dylib_manually.md).