CamillaDSP ~ IIR & FIR Engine For Crossovers & Room Correction


A tool to create audio processing pipelines for applications such as active crossovers or room correction. It is written in Rust to benefit from the safety and elegant handling of threading that this language provides. Supported platforms: Linux, macOS, Windows.

Audio data is captured from a capture device and sent to a playback device. Alsa, PulseAudio, Jack, Wasapi and CoreAudio are currently supported for both capture and playback.

The processing pipeline consists of any number of filters and mixers. Mixers are used to route audio between channels and to change the number of channels in the stream. Filters can be both IIR and FIR. IIR filters are implemented as biquads, while FIR use convolution via FFT/IFFT. A filter can be applied to any number of channels. All processing is done in chunks of a fixed number of samples. A small number of samples gives a small in-out latency while a larger number is required for long FIR filters. The full configuration is given in a YAML file.

henquist.github.io
github.com/HEnquist/camilladsp

Zoog ~ Zero Opus Output Gain


Zoog is a Rust library that consists of functionality that can be used to determine the loudness of an Ogg Opus file and also to rewrite that file with new internal gain information as well as loudness-related comment tags. It also has functionality for purely manipulating comment tags of both Ogg Opus and Ogg Vorbis files.

Zoog currently contains two tools, opusgain and zoogcommentopusgain can be used to:

  • set the output gain value located in the Opus binary header inside Opus files so that the file plays at the loudness of the original encoded audio, or of that consistent with the ReplayGain or EBU R 128 standards.
  • write the Opus comment tags used by some music players to decide what volume to play an Opus-encoded audio file at.

It is intended to solve the “Opus plays too quietly” problem.

github.com/FrancisRussell/Zoog
hydrogenaud.io/index.php/topic,120387.0

Benihora ~ Voice Generation Library & VST3 Plugin


Benihora is a Rust library and VST Plugin that generates voice based on a vocal tract model. This is a Rust port of Pink Trombone developed by Neil Thapen with some customizations.

github.com/carrotflakes/benihora
github.com/carrotflakes/benihora/tree/main/benihora-vst

swyh-rs ~ Stream What You Hear


A “Stream-What-You-Hear” implementation written in Rust, MIT licensed. swyh-rs implements the idea behind the original SWYH but written in Rust. It allows you to stream the music you’re currently playing on your PC (Windows or Linux) to an UPNP/DLNA/OpenHome compatible music player (a “Renderer”).

github.com/dheijl/swyh-rs