22个版本 (10个稳定版)

3.4.0 2024年8月13日
3.3.0 2024年1月17日
3.2.0 2023年12月7日
3.1.0 2023年5月22日
0.1.5 2021年10月30日

117音频 中排名

Download history 10/week @ 2024-05-03 2/week @ 2024-05-10 10/week @ 2024-05-17 12/week @ 2024-05-24 12/week @ 2024-05-31 14/week @ 2024-06-07 18/week @ 2024-06-14 13/week @ 2024-06-21 5/week @ 2024-06-28 176/week @ 2024-07-05 33/week @ 2024-07-12 9/week @ 2024-07-19 12/week @ 2024-07-26 12/week @ 2024-08-02 122/week @ 2024-08-09 37/week @ 2024-08-16

每月下载量 184次
6 crates 使用

MIT 许可证

475KB
5.5K SLoC

audio-processor-standalone

增强音频:独立音频处理器

crates.io docs.rs


这是https://github.com/yamadapc/augmented-audio的一部分。请查看其目标。此crate基于audio_processor_traits::AudioProcessor

AudioProcessor实现提供独立音频处理器运行器。

浏览文档

它的核心是

  1. 实现AudioProcessorSimpleAudioProcessoraudio_processor_traits
  2. 调用audio_processor_main(processor)
  3. 现在您有一个用于渲染在线(CPAL,使用您的麦克风)或离线(通过您的处理器传递文件并将其结果写入.wav)的CLI

通过standalone_vst模块以及启用vst功能标志,也可以生成VST。

示例用法

声明AudioProcessor

use audio_processor_traits::{AudioBuffer, AudioContext, AudioProcessor};

struct GainProcessor {}

impl GainProcessor { fn new() -> Self { GainProcessor {} }}

impl AudioProcessor for GainProcessor {
    type SampleType = f32;
    fn process<BufferType: AudioBuffer<SampleType=Self::SampleType>>(
        &mut self,
        _context: &mut AudioContext,
        data: &mut BufferType
    ) {
        for sample in data.slice_mut() {
           *sample = *sample * 0.4;
        }
    }
}

声明主函数

fn main() {
    let processor = GainProcessor::new();
    audio_processor_standalone::audio_processor_main(processor);
}

命令行使用

audio-processor-standalone

USAGE:
my-crate [OPTIONS]

FLAGS:
-h, --help       Prints help information
-V, --version    Prints version information

OPTIONS:
-i, --input-file <INPUT_PATH>              An input audio file to process
--midi-input-file <MIDI_INPUT_FILE>    If specified, this MIDI file will be passed through the processor
-o, --output-file <OUTPUT_PATH>            If specified, will render offline into this file (WAV)

许可证:MIT

依赖关系

~15–54MB
~1M SLoC