1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
#![feature(core_intrinsics)] #![feature(test)] extern crate test; mod freqs; pub mod mfcc; mod ringbuffer; #[cfg(test)] mod tests { use test::Bencher; use crate::mfcc::Transform; #[test] fn it_works() { assert_eq!(2 + 2, 4); } #[bench] fn bench_mfcc(b: &mut Bencher) { let input = (0..1024).map(|x| ( 32000.0 * (x as f32 / 1024.0 * 20.0 * 3.1415).sin()) as i16).collect::<Vec<i16>>(); let mut output = vec![0.0; 48]; let mut mfcc = Transform::new(16000, 1024); b.iter(|| mfcc.transform(&input, &mut output)); } }