gaborator

Crates.iogaborator
lib.rsgaborator
version0.1.1
sourcesrc
created_at2021-01-14 19:52:01.163632
updated_at2021-01-14 19:52:01.163632
descriptionRust API for Gaborator audio processing library
homepage
repositoryhttps://github.com/vi/gaborator-rs
max_upload_size
id342081
size22,962
Vitaly Shukela (vi)

documentation

README

gaborator

Gaborator is a C++ library for converting audio samples to a special spectral representation that uses different FTT sizes based on whether it is bass or treble (oversimplifying here). The transformation is reversible. See the website for more info.

This crate is a cxx-based wrapper of this library, allowing Rust code to use Gaborator (although with reduced efficiency).

Limitations:

  • f32 only
  • Not performance-minded
  • Some overridable or low-level details not exposed
  • No visualisation
  • Crate soundness may be iffy - I was just followed the path of least resistance.
  • Arithmentic overflows in buffer length calculations are not checked.
  • Not really tested, apart from included examples. For example, streaming should be supported, but I haven't tried it myself.

Currently based on Gaborator version 1.6. Source code of the Gaborator is included into the crate.

Availble examples:

  • Phase information randomizer, creating sort-of-reverberation audio effect.
  • Converts the analyzed sound to (sample,band,magnitude,phase) CSV file and back.

License of Gaborator is Affero GPL 3.0.

Glue code (sans doccomments copied from Gaborator) in this crate may be considered to be licensed as either MIT or AGPL-3.0, at your option.

License: AGPL-3.0

Commit count: 20

cargo fmt