devalang 0.2.0

Write music with code. Devalang is a domain-specific language (DSL) for sound designers and music hackers. Compose, automate, and control sound — in plain text.
Documentation
1
2
3
4
5
6
7
8
9
10
#![cfg(feature = "cli")]

pub fn calculate_rms(pcm: &[f32]) -> f32 {
    if pcm.is_empty() {
        return 0.0;
    }
    let sum_sqr: f64 = pcm.iter().map(|s| (*s as f64) * (*s as f64)).sum();
    let mean = sum_sqr / (pcm.len() as f64);
    (mean.sqrt() as f32).abs()
}