项目作者: tdgne

项目描述 :
Audio waveform image renderers for Rust
高级语言: Rust
项目地址: git://github.com/tdgne/waveform-rs.git
创建时间: 2017-06-08T15:02:55Z
项目社区:https://github.com/tdgne/waveform-rs

开源协议:Other

下载


waveform

crates.io docs.rs Build Status

waveform is a set of waveform image renderers written in Rust.

It is speed-oriented for heavy use.

Features

  • Generation of bicolored raster images (outputs are either returned as Vec<u8>s or written into a slice)
    • RGB (Vector3) or RGBA (Vector4) format images
    • Gray scale (Scalar) images for use as masks etc.
  • Fast rendering from binned min/max amplitudes
  • Multilevel binning for rendering in various resolutions
  • Time-range specification in either seconds (f64) or samples (usize)

Some TODOs

  • Cached rendering
  • Guarantee thread safety (it probably is…)
  • Memory/time optimizations

Requests and contributions are welcome!

Screenshot

  1. # Demonstrates rendering using a single BinnedWaveformRenderer.
  2. cargo run --features "example-gui" --example binned
  1. # The same but by using a MultiWaveformRenderer, which is
  2. # a combination of multiple BinnedWaveformRenderers.
  3. cargo run --features "example-gui" --example multi

examples/waveform.rs

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.