An open API service indexing awesome lists of open source software.

https://github.com/emoon/stemgen

STEM generator using libopenmpt with glue in Rust
https://github.com/emoon/stemgen

Last synced: about 1 year ago
JSON representation

STEM generator using libopenmpt with glue in Rust

Awesome Lists containing this project

README

          

# stemgen

STEM generator using libopenmpt with glue in Rust

# Building

Download Rust by following the instructions here https://rustup.rs
Notice that a C++ toolchain needs to be installed along with Cmake as well. On Windows this means Visual Studo 2019 or later and on Linux or macOS clang or gcc.

`cargo build --release`

And to run

`cargo run --release -- `

or just run directly from

`target/release/stemgen`

after building the release config

# Usage

```
Usage: stemgen [OPTIONS] --input --output

Options:
-i, --input
Input song or directory of files supported by libopenmpt

-o, --output
Output directory to place the generated files

-r, --recursive
If input is a directory recursive can be used to get the all files within that directory

--stereo-separation
Represents the stereo separation generated by the mixer in percent. Range is [0, 200] and default value is 100

--full
Render the whole song as is

--progress
Show progressbar when generating

-s, --sample-rate
Output sample rate. Should be in [8000, 192000]

[default: 48000]

--stereo
Render the instruments to stereo wav files. mono is default

-c, --channels
Render each instrument for each channel (if false only a _all file will be generated)

--instruments
Render each instrument to a separate file

--song-samples
Write samples in the song to disk

[possible values: flac, wav]

-f, --format
Sample depth for the rendering

[default: int16]
[possible values: int16, float]

-w, --write
Write format for the rendering

[default: flac]
[possible values: flac, wav, vorbis, mp3]

--vorbis-mode
Mode for the ogg vorbis encoding

[default: vbr]
[possible values: vbr, quality-vbr, abr, constrained-abr]

--vorbis-bitrate
Bitrate option for vbr, abr, quality-vbr and constrained-abr

[default: 160]

--vorbis-quality
Quality option for quality-vbr range is [-0.2, 1]

[default: 0.5]

--mp3-bitrate
Bitrate for mp3 encoding in kbps supported values: [8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320]

[default: 320]

--mp3-vbr
Vbr mode for mp3 encoding

[default: mthr]

Possible values:
- off: Off
- mt: MT
- rh: RH
- abr: ABR
- mtrh: MTRH

--mp3-vbr-quality
Quality for VBR encoding

[default: good]

Possible values:
- best: Best possible quality
- second-best: Second best
- near-best: Close to best
- very-nice: Very nice
- nice: Nice
- good: Good
- decent: Decent
- ok: Okayish
- second-worst: Almost worst
- worst: Worst

--mp3-quality
Quality for regular encoding

[default: good]

Possible values:
- best: Best possible quality
- second-best: Second best
- near-best: Close to best
- very-nice: Very nice
- nice: Nice
- good: Good
- decent: Decent
- ok: Okayish
- second-worst: Almost worst
- worst: Worst

-h, --help
Print help (see a summary with '-h')

-V, --version
Print version
```