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!

  • BB_C@programming.dev
    link
    fedilink
    arrow-up
    9
    ·
    4 months ago
        /// # Panics
        ///
        /// - if `samples.len()` does not match the `sample_count` passed to [Self::new]
        /// - if there are `NaN`s in the sample slice
    

    Since this is library code, why not make the function return a Result?

    • Traister101@lemmy.today
      link
      fedilink
      arrow-up
      7
      ·
      4 months ago

      Yup, libraries should usually let the consumer chose what to do with an error, not crash the program without a choice in the matter. The only real exception is performance critical low level code such as the core of a graphics or audio driver. Though in those cases crashing also often isn’t an option, you just power through and hope things aren’t too screwed up.