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