All Projects → yamadapc → augmented-audio

yamadapc / augmented-audio

Licence: other
Rust - Augmented Audio Libraries

Programming Languages

rust
11053 projects
swift
15916 projects
dart
5743 projects
typescript
32286 projects
HTML
75241 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to augmented-audio

synth2
virtual analog synth plugin for Linux/Windows/Mac (VST, AU, LV2)
Stars: ✭ 33 (-62.07%)
Mutual labels:  vst-plugin
string-machine
Digital model of electronic string ensemble instrument
Stars: ✭ 38 (-56.32%)
Mutual labels:  vst-plugin
fogpad
A VST reverb effect in which the reflections can be frozen, filtered, pitch shifted and ultimately disintegrated.
Stars: ✭ 61 (-29.89%)
Mutual labels:  vst-plugin
K-Meter
Implementation of a K-System meter according to Bob Katz' specifications
Stars: ✭ 66 (-24.14%)
Mutual labels:  vst-plugin
aeolus plugin
Pipe organ synthesizer (VST plugin)
Stars: ✭ 38 (-56.32%)
Mutual labels:  vst-plugin
spectmorph
SpectMorph: spectral audio morphing
Stars: ✭ 16 (-81.61%)
Mutual labels:  vst-plugin
DAFx19-Gamelanizer
Accompanying material for the paper 'A Real-Time Audio Effect Plug-In Inspired by the Processes of Traditional Indonesian Gamelan Music'
Stars: ✭ 33 (-62.07%)
Mutual labels:  vst-plugin
Cardinal
Virtual modular synthesizer plugin
Stars: ✭ 379 (+335.63%)
Mutual labels:  vst-plugin

Augmented Audio Libraries

Default Linux Web-based builds Coverage Status Note about test coverage


Experiments trying to use Rust for audio programming.

Consider anything in this repository a draft.

⚠️ Goals
  • Goal 1: Learn & have fun
    • This is goal #1 and it's very important to keep it in mind if you end-up depending on one of the crates in this repository
  • Goal 2: Build tools for aiding development
  • Goal 3: Experiment with audio software GUI in Rust

License

Most of this repository is published under the MIT LICENSE.

Some directories which contain full applications are licensed under the AGPLv3 license. Check the LICENSE and README.md files.

📖 Documentation

⬇️ Binary downloads

💬 Blog posts


📸 Screenshots

Sequencer screenshot

Metronome screenshot Test plugin host screenshot Looper screenshot

👩 Web GUI

See docs/misc/WEB_GUI.md.

🛠 Rust libraries and tooling

Workspace & Building

The project is set-up with a cargo workspace. Running cargo commands at the root directory should compile all crates sharing caches.

To build the whole project run:

git submodule update --init
cargo build

To run tests:

cargo test

Build outputs should be on target/debug or target/release.

Building on linux

Since this is bringing in all the possible rust crates, you'll need to install quite a few dependencies.

See .github/workflows/default.yml for a list of what's needed on Ubuntu.

Linting

cargo clippy

Benchmarking

Benchmarks using criterion will be slowly added. In order to run benchmarks use:

cargo bench

Profiling on macOS

https://crates.io/crates/cargo-instruments

cd ./crates/oscillator
cargo instruments -t time --bench sine_oscillator_benchmark -- --bench

Generating flamegraphs from benchmarks

NOTE I couldn't get this to work on macOS

Flamegraphs can be generated using cargo-flamegraph:

cargo install flamegraph

The tool can then be used to run a criterion benchmark and generate a flamegraph:

cargo flamegraph --bench sine_oscillator_benchmark -- --bench

Snapshot testing audio processors

See docs/monorepo-tooling/SNAPSHOT_TESTING.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].