10个版本 (4个重大更改)

0.5.0 2023年5月22日
0.4.0 2023年3月22日
0.3.0 2022年10月22日
0.1.0-alpha.62022年5月25日
0.1.0-alpha.32022年3月25日

#1115 in 音频


用于 audio-processor-metronome

MIT 许可证

125KB
583

enhanced-adsr-envelope

crates.io docs.rs


ADSR包络的实现

基本用法

use std::time::Duration;

use augmented_adsr_envelope::Envelope;

// Create an exponential envelope.
// The envelope configuration uses atomics, so it doesn't need
// to be an immutable reference.
let envelope = Envelope::exp();

// Set settings
envelope.set_sample_rate(1000.0);
envelope.set_attack(Duration::from_millis(200));

// Trigger the envelope
envelope.note_on();
for i in 0..10000 {
  // Tick the envelope by 1 sample
  envelope.tick();
  // Get the current volume
  let _volume = envelope.volume();
}
// Trigger the release stage
envelope.note_off();

图表

包络::默认();

| 攻击 | 0.3 | | 减衰 | 0.3 | | 持续 | 0.8 | | 释放 | 0.3 |

包络::指数();

| 攻击 | 0.3 | | 减衰 | 0.3 | | 持续 | 0.8 | | 释放 | 0.3 |

许可证: MIT

依赖项

~0.5–1.2MB
~26K SLoC