INNER CODE UNIT · Rust

get_worker_fn

Rikorose/DeepFilterNet · ladspa/src/lib.rs:106

fn get_worker_fn(
    inqueue: SampleQueue,
    outqueue: SampleQueue,
    controls: ControlRecv,
    sleep_duration: Duration,
    id: String,
) -> impl FnMut() {
    move || {
        let mut df = unsafe { MODEL.clone().unwrap() };
        let mut inframe = Array2::zeros((df.ch, df.hop_size));
        let mut outframe = Array2::zeros((df.ch, df.hop_size));
        let t_audio_ms = df.hop_size as f32 / df.sr as f32 * 1000.;
        loop {
            if let Ok((c, v)) = controls.try_recv() {
                log::info!("DF {} | Setting '{}' to {:.1}", id, c, v);
                match c {
                    DfControl::AttenLim => df.set_atten_lim(v),
                    DfControl::PfBeta => df.set_pf_beta(v),

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…