GitPedia
faroit

faroit/stempeg

Python I/O for STEM audio files

10 Releases
Latest: 1y ago
v0.2.4Latest
faroitfaroit·1y ago·May 28, 2025
GitHub

📋 What's Changed

  • add support for numpy 2.0 using np.float_ -> np.float64 by @giovana-morais in https://github.com/faroit/stempeg/pull/50

New Contributors

  • @giovana-morais made their first contribution in https://github.com/faroit/stempeg/pull/50
  • Full Changelog: https://github.com/faroit/stempeg/compare/v0.2.3...v0.2.4
stempeg 0.2.3v0.2.3
faroitfaroit·5y ago·January 30, 2021
GitHub

📦 Audio Loading

  • Underlying reading backend is now based on [python-ffmpeg](https://github.com/kkroening/ffmpeg-python).
  • With this new backend, the creation of any temporary files is reduced, thus audio is directly piped into numpy via stdio. This leads to loading time improvement of __20%-30%__.
  • A target sample rate can be specified to resample audio on-the-fly using ffmpeg.
  • An optional `stems_from_multichannel` was added to load stems that are aggregated into multichannel audio (concatenation of pairs of stereo channels), see more info on audio writing.
  • substream titles metadata can be read from the Info object.
  • Loading audio now uses the same API as in spleeters audio loading backend.

📦 Audio Writing

  • This new version stabilizes writing support adding `writer` methods to be passed to `stempeg.write_stems()` to save multi-stream audio.
  • `stempeg.FilesWriter` saves stems into multiple files. This writer can be boosted in performance using `multiprocess=True`. Which writes the stems in parallel.
  • `stempeg.ChannelsWriter` saves as multiple channels. Stems will be multiplexed into channels and saved as a single
  • multichannel file. E.g. an `audio` tensor of `shape=(stems, samples, 2)`
  • will be converted to a single-stem multichannel audio
  • `(samples, stems*2)`.
  • `stempeg.StreamsWriter` saves into a single a multi-stream file.
  • `stempeg.NIStemsWriter` saves into a single multistream audio. Finally one can create stems files that are fully compatible with [Native Instruments stems](https://www.native-instruments.com/de/specials/stems/). For this, MP4Box has to be installed. See [more info here](https://github.com/faroit/stempeg#1a-optional-installation-of-mp4box).
  • + 5 more
...Another bugfix release v0.1.8
faroitfaroit·6y ago·July 9, 2019
GitHub

The seeking issue (#21) was not fully fixed. This release should address the remaining issues when using the chunked loading using very small float numbers as start parameter

Bugfix releasev0.1.7
faroitfaroit·6y ago·July 8, 2019
GitHub

Fixes a bug (#18) that occurs when `start` or `duration` is using very small float numbers (1e-6) that are literally converted into strings maintaining the scientific notation. Also addresses #21 and add an additional check for ffmpeg and ffprobe before actually reading any files

Demo Trackv0.1.6
faroitfaroit·7y ago·March 13, 2019
GitHub

📋 Changes

  • a demo track is now part of stempeg for convenience
Seek it!v0.1.5
faroitfaroit·7y ago·March 13, 2019
GitHub

📋 Changes

  • added seeking
  • added the ability to provide file info to reduce the number of calls
Fixed out_typev0.1.4
faroitfaroit·7y ago·November 10, 2018
GitHub

There was a bug in the earlier versions of stempeg that didn't respect the set `out_type` in the stem reader. This was fixed and the output defaults to `np.float64`. Thanks to @hexafraction

Add warnings if ffmpeg version is older than 3.0v0.1.3
faroitfaroit·8y ago·February 18, 2018
GitHub

Add some code and warnings to detect the ffmpeg version and warn users when a version older than 3.0 is used since that is adding additional silence to the output files when encoding. Also addressing #3

Check for available AAC codecsv0.1.2
faroitfaroit·8y ago·December 20, 2017
GitHub

this release fixes #1 by checking the available ffmpeg encoders and picking `aac` ist `libfdk_aac` is not available. Also the ffmpeg error now are visible

initial release after some debugsv0.1.1
faroitfaroit·8y ago·December 17, 2017
GitHub