#audio-processing #signal-processing #dsp #buffer #plugin #circular-buffer

nightly mkaudiolibrary

Modular audio processing library including MKAU plugin format based on Rust

24 releases

0.2.3 Jul 21, 2024
0.2.2 Jun 20, 2024
0.2.0 May 16, 2024
0.1.20 Oct 4, 2023
0.1.5 Jun 25, 2023

#238 in Audio

Download history 37/week @ 2024-06-22 6/week @ 2024-06-29 93/week @ 2024-07-20 154/week @ 2024-07-27 31/week @ 2024-09-14 53/week @ 2024-09-21

84 downloads per month

GPL-3.0 license

58KB
1K SLoC

mkaudiolibrary

Modular audio processing library including MKAU plugin format based on Rust.

Modules

buffer : includes buffer, push buffer and circular buffer.

dsp : includes convolution, saturation, compression, limit struct and function for audio processing.

processor : includes MKAU plugin format.

Version

0.2.3 - Added audiofile module, inspired from Adam Stark's AudioFile library(https://github.com/adamstark/AudioFile).

0.2.2 - Updated lock, unlock, and len for data safety.

0.2.1 - Added lock and unlock for buffer for data safety.

0.2.0 - Updated processor loader and documentation for processor. Added basic compressor, limiter, and delay.

0.1.21 - Modified Buffer for unsafe multithread processing with reference count, appended usage of convolution to any number type, changed I/O of processor.

0.1.20 - Added Deref, DerefMut for buffers.

0.1.17, 0.1.18, 0.1.19 - Corrected processor IO types.

0.1.16 - Changed process function IO to mono. We recommend to use internal buffer for linking.

0.1.15 - Added open_window and close_window and edited example code for Processor.

0.1.14 - Added from_raw function for Buffers.

0.1.13 - Buffers return LayoutError when error occured allocating buffer, added resize, into_slice, and into_slice_mut functions for Buffers.

0.1.12 - Changen I/O type of methonds of simulation and Processor trait into Buffer.

0.1.11 - Added Buffer for simple format of audio buffer. Inline-abled processing functions.

0.1.10 - Used boxed slice for Saturation for block processing. Always inlined processing functions.

0.1.9 - Used boxed slice instead of CircularBuffer for Processor.

0.1.8 - Used boxed slice instead of CircularBuffer for Convolution.

0.1.7 - Create Convolution struct. Dropped next and state reference for processor and convolution.

0.1.6 - Used raw pointer for buffers instead of Box, and implied Drop trait. Minor fix to functions.

0.1.5 - Minor fix.

0.1.4 - Omitted unnecessary multithreading and optional for better performance.

0.1.1 - 0.1.3 - Documentation update.

0.1.0 - Initial version.

License

The library is offered under GPLv3.0 license for open source usage.

If you want to use mkaudiolibrary for closed source project, please email to minjaekim@mkaudio.company for agreement and support.

Dependencies

~0.1–4.5MB