I’ve needed to detect a frequency of an audio signal a couple of times in my life, but I cannot for the love of me remember what does the FFT output actually mean. So I took this knowledge out of my latest project and packed it up in this crate.

Also this is my first potentially useful published crate, so if I missed anything, please let me know!

  • @[email protected]
    link
    fedilink
    38 days ago

    The new version seems to fix that since your comment was written, but it will stil panics if less than 2 samples are provided, unless the crate it wraps panics at an earlier point.

    let peak = buf
                .iter()
                .copied()
                .enumerate()
                .take(self.sample_count / 2)
                .max_by_key(|(_, s)| (s.abs() * 1000.0) as u32)
                .expect("to have at least 1 sample");
    
    • @BB_C
      link
      38 days ago

      You should have mentioned OP.

      @fil

      • @filOP
        link
        27 days ago

        Excellent catch! Added validation for the new params