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 |  | 
117 在 音频 中排名
每月下载量 184次
被  6 crates 使用
475KB
 5.5K  SLoC
audio-processor-standalone
增强音频:独立音频处理器
这是https://github.com/yamadapc/augmented-audio的一部分。请查看其目标。此crate基于audio_processor_traits::AudioProcessor。
为AudioProcessor实现提供独立音频处理器运行器。
浏览文档
- 查看导出的函数和宏;结构体/特质用于更高级/内部使用。
- 从audio_processor_main和audio_processor_main_with_midi开始
- augmented-audio仓库中有许多示例
它的核心是
- 实现AudioProcessor或SimpleAudioProcessor从audio_processor_traits
- 调用audio_processor_main(processor)
- 现在您有一个用于渲染在线(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