HexoDSP/tests/node_sfilter.rs
2021-07-10 22:30:43 +02:00

64 lines
2.1 KiB
Rust

mod common;
use common::*;
#[test]
fn check_node_sfilter_compare() {
let (node_conf, mut node_exec) = new_node_engine();
let mut matrix = Matrix::new(node_conf, 3, 3);
let noise = NodeId::Noise(0);
let sf = NodeId::SFilter(0);
let out = NodeId::Out(0);
matrix.place(0, 0, Cell::empty(noise)
.out(None, None, noise.out("sig")));
matrix.place(0, 1, Cell::empty(sf)
.input(sf.inp("inp"), None, None)
.out(None, None, sf.out("sig")));
matrix.place(0, 2, Cell::empty(out)
.input(out.inp("ch1"), None, None));
matrix.place(1, 1, Cell::empty(noise)
.out(None, None, noise.out("sig")));
matrix.place(1, 2, Cell::empty(out)
.input(out.inp("ch2"), None, None));
pset_d(&mut matrix, sf, "freq", 100.0);
matrix.sync().unwrap();
let ta = std::time::Instant::now();
let (out_l, out_r) = run_for_ms(&mut node_exec, 10000.0);
let ta = std::time::Instant::now().duration_since(ta);
println!("ta1 Elapsed: {:?}", ta);
save_wav("check_noise_sfilt_in.wav", &out_r);
save_wav("check_noise_sfilt1.wav", &out_l);
// let fft = run_and_get_fft4096(&mut node_exec, 5, 1000.0);
// for (fq, lvl) in fft {
// println!("{:5}: {}", fq, lvl);
// }
pset_s(&mut matrix, sf, "ftype", 1);
let ta = std::time::Instant::now();
let (out_l, _) = run_for_ms(&mut node_exec, 10000.0);
save_wav("check_noise_sfilt2.wav", &out_l);
let ta = std::time::Instant::now().duration_since(ta);
println!("ta2 Elapsed: {:?}", ta);
pset_s(&mut matrix, sf, "ftype", 2);
let ta = std::time::Instant::now();
let (out_l, _) = run_for_ms(&mut node_exec, 10000.0);
save_wav("check_noise_sfilt3.wav", &out_l);
let ta = std::time::Instant::now().duration_since(ta);
println!("ta3 Elapsed: {:?}", ta);
// let fft = run_and_get_fft4096(&mut node_exec, 5, 1000.0);
// for (fq, lvl) in fft {
// println!("{:5}: {}", fq, lvl);
// }
// let fft = run_and_get_fft4096(&mut node_exec, 50, 1000.0);
// assert!(fft.len() == 0);
assert!(false);
}