Created
May 29, 2019 18:44
-
-
Save mitchmindtree/9a3ead01aea3a2d7e7f5ba55837587f3 to your computer and use it in GitHub Desktop.
Revisions
-
mitchmindtree created this gist
May 29, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,45 @@ In [Path to Rust Audio](https://rust-audio.discourse.group/t/path-to-rust-audio-and-forwards/50/11) I briefly mentioned that the repos are in a variety of states of maintenance - here I'll give my own impression of the current state of each of the repositories. [**ogg**](https://github.com/RustAudio/ogg) and [**lewton**](https://github.com/RustAudio/lewton) - **active** I believe both were started by est31, both seem to be actively used and worked on. [**coreaudio-sys**](https://github.com/RustAudio/coreaudio-sys) and [**coreaudio-rs**](https://github.com/RustAudio/coreaudio-rs) - **active** I started these to add audio I/O support to CPAL a few years ago. I have since moved to Linux as my daily machine and don't often get the chance to test for them anymore, however Rhuagh has kindly taken over testing and reviews. I still try to review code when I can. [**deepspeech-rs**](https://github.com/RustAudio/deepspeech-rs) - **seems active** This is a newer addition that I don't have a lot to do with, but seems like a very interesting project. [**rust-portaudio**](https://github.com/RustAudio/rust-portaudio) - **unmaintained** This is some of the oldest code inherited by the organisation and used to be the way myself and many others would do cross-platform audio I/O. A few years back however I switched my focus to CPAL to drive forward pure-rust I/O and have been using it ever since. As a result, rust-portaudio does not currently have a motivated maintainer. [**audrey**](https://github.com/RustAudio/audrey) - **inactive but used/motivated** Audrey is an attempt at making it easy to encode and decode various formats using only pure-rust encoder and decoder implementations. Currently supports Ogg Vorbis, ALAC, WAV and FLAC. I believe an attempt at [mp3](https://github.com/RustAudio/mp3) is in the works that we'd like to add eventually though I'm not sure of its progress. I believe deepspeech-rs uses audrey under the hood, and I've personally used it in a couple of downstream projects - it just hasn't need a PR over the past couple of years I guess? We were interested in merging the efforts with the rust-av group at one point as they received funding to work on a rusty libav, but I've found it really difficult to track their progress and haven't yet reached out to inquire whether or not they would be interested. [**sample**](https://github.com/RustAudio/sample) - **active** I consider this one of the more fundamental crates under the organisation, kind of like a std for audio. I find myself using it in everything PCM/DSP related - contains things like sample conversions, sample rate converters / interpolation, RMS, enveloping, windowing, signal abstractions, fixed-size frame abstractions, and more. [**pitch_calc**](https://github.com/RustAudio/pitch_calc) - **fairly stable** A collection of types for converting between frequency and pitch representations like the mel scale, hz, midi notes, etc. [**time_calc**](https://github.com/RustAudio/time_calc) - **fairly stable** Same as above but for converting between time domains. [**synth**](https://github.com/RustAudio/synth) - **unmaintained, but works?** I made this very early on for a generative music project. It's a nicely working additive synth, but these days I'd do the whole thing completely differently! Would be happy to give up this crate name for a more promising, generalised synthesis project if one arises. [**sampler**](https://github.com/RustAudio/sampler) and [**instrument**](https://github.com/RustAudio/instrument) - **unmaintained, but kind of works** A sampler I wrote for the same project above, but again I'd do it much differently if I were to write it again these days and don't plan on updating the project. [**musical_keyboard**](https://github.com/RustAudio/musical_keyboard) - **fairly stable** For converting keyboard input to MIDI notes, inspired by logic pro's musical keyboard. [**rimd**](https://github.com/RustAudio/rimd) - **unsure** For working with MIDI files. I believe this has been used and still receives PRs occasionally though I've not used it myself and can't speak for the longevity of the project. [**dsp-chain**](https://github.com/RustAudio/dsp-chain) - **may be revived soon** A crate for dynamically composing audio graphs. It's currently limited by its design and lacking support for things like side-chaining and delays as a result. I'm hoping to rework this into something closer to what @raph and I discussed in [this issue](https://github.com/RustAudio/dsp-chain/issues/141). The envelope, volume, sound_stream, panning and rms crates are all very early old projects of mine that have long had their usefulness surpassed by other crates in the org. I think this covers at least the majority of the crates. Hopefully this will be useful to my future self or a fellow RustAudio maintainer in assisting with cleaning up the Org a little!