waveform

Crates.iowaveform
lib.rswaveform
version0.3.2
sourcesrc
created_at2017-06-17 09:02:10.075415
updated_at2017-09-15 21:02:41.636072
descriptionAudio waveform image renderers
homepage
repositoryhttps://github.com/tdgne/waveform-rs
max_upload_size
id19289
size46,862
administrators (github:ti-toolkit:administrators)

documentation

README

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

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

examples/waveform.rs

Commit count: 69

cargo fmt