5个不稳定版本
0.3.1 | 2024年6月30日 |
---|---|
0.3.0 | 2024年6月24日 |
0.2.0 | 2024年6月23日 |
0.1.1 | 2024年6月22日 |
0.1.0 | 2024年6月22日 |
286 在 音频 类别中
每月下载量222次
14KB
109 行
频率检测器
use freq_det::FreqDetector;
let detector = FreqDetector::new(44100, 4096).unwrap();
let freq: f32 = detector.detect(&samples).unwrap();
就这么简单!
参考 from_mic.rs 了解如何分析麦克风声音。
贡献
欢迎提交PR!
lib.rs
:
使频率检测变得简单
use freq_det::FreqDetector;
let sample_count = 4096;
let sinusoid_440hz = (0..sample_count)
.map(|i| {
use std::f32::consts::TAU;
(i as f32 / 44100.0 * 440.0 * TAU).sin()
// noise
+ 0.9 * (i as f32 / 44100.0 * 100.0 * TAU).sin()
+ 0.9 * (i as f32 / 44100.0 * 120.0 * TAU).sin()
})
.collect::<Vec<_>>();
let freq_detector = FreqDetector::new(44100, sample_count).unwrap();
assert_eq!(freq_detector.detect(&sinusoid_440hz).unwrap().round(), 440.0);
依赖关系
~4MB
~74K SLoC