try to run denoising

This commit is contained in:
2025-10-25 18:15:26 -06:00
parent cfb8144561
commit 260decc9af
7 changed files with 261 additions and 42 deletions
+28
View File
@@ -0,0 +1,28 @@
use crossbeam::atomic::AtomicCell;
use std::sync::Arc;
#[derive(Default)]
pub struct AudioProcessor {
df: Option<::df::DFState>,
}
impl AudioProcessor {
pub fn new_denoising() -> Self {
let df = ::df::DFState::default();
AudioProcessor { df: Some(df) }
}
}
impl AudioProcessor {
pub fn process(&mut self, audio: &[f32]) -> Box<[f32]> {
let mut output: Box<[f32]> = vec![0f32; audio.len()].into();
if let Some(df) = &mut self.df {
df.process_frame(audio, &mut output);
} else {
output.copy_from_slice(audio);
}
output
}
}
pub type AudioProcessorSender = Arc<AtomicCell<Option<AudioProcessor>>>;