crime 0.4.2

Concurrent real-time interface for multimedia engines
Documentation
# Concurrent real-time interface for multimedia engines

The `crime` crate is useful for real-time multimedia applications for providing
different output audio formats where the input is a stream of samples,
typically coming from a machine-learning model which generates a fixed amount
of samples in `fp32`.

This crate operates entirely on streams, provides delay compensation for each
supported operation, and thus eliminates the need for providing padding and/or
flushing the buffer. The first audio signal in the input is guaranteed to
correspond to the first audio signal in the output, and likewise for the last
signal.

Current functionalities:

* Input and outputs in `futures::Stream`.
* Resampling.
* Streaming audio codec (PCM, WAV, MP3).
* Time scaling (using WSOLA).

Supported codecs:

* Headerless sample stream
  * Linear PCM (`i16`, `f16`, `f32`, all little-endian)
  * G.711 μ-law
* MP3
* WAV
  * Linear PCM (`i16`, `f16`, `f32`, all little-endian)