| Filename | Latest commit message | Latest commit date |
|---|---|---|
Move the whole workspace to Rust 1.97 (from 1.96) and bump ~120 dependencies to their latest major versions. The full 230-crate workspace compiles, joule_core's 182 tests pass, the release daemon builds, and LFM2 still loads + runs. API adaptations for the major bumps: - rand 0.10: rand_core renamed RngCore->Rng and moved the sugar (random_range, from_os_rng) onto RngExt / removed it — updated call sites + imports. - yawc 0.3: FrameView->Frame with accessor methods; client socket is TcpWebSocket. - sqlx 0.9 / heed 0.22 / axum 0.8: renamed/removed cargo features. - core-video 0.6: create_texture_from_image takes &CVImageBuffer; convert via TCVImageBuffer::as_image_buffer. - prost: Message no longer implies Debug — added the bound. - cargo_toml 1.0: lints is now Inheritable<LintGroups> (Inherited == workspace). - ed25519-dalek, core-text, core-graphics, cpal: pinned to the versions the git-forked deps (open-standands receipts, zed-font-kit, rodio) are built against — a split breaks shared SigningKey/CTFont/CGFont/Device types. Deliberate holds (their own migration, not a blind sweep): - livekit/libwebrtc/webrtc-sys/coreaudio-rs: the real-time A/V stack, pinned to Zed's livekit-rust-sdks fork; latest breaks livekit_client deeply. - wasmtime 36 + wit-bindgen 0.41: the extension component-model ABI, tied to the pinned zed:extension WIT worlds. - brush-parser 0.3: 0.4 reshapes the AST on the command-safety allow-gate path. - runtimelib/nbformat/jupyter-protocol 1.x: the REPL Jupyter stack moves majors together. Also: unlisted Zed's hosted-collab SERVER (crates/collab) from the workspace — a leaf binary nothing depends on, whose pinned sea-orm/sqlx chain blocked the upgrade; source stays on disk. All open-standards git deps repointed to the forge URL and bumped to c4b536cf (320fa1e + score_binary). Co-Authored-By: Claude Opus 4.8 <[email protected]> |
||
| .. | ||
| examples | ||
| models | ||
| src | ||
| Cargo.toml | ||
| LICENSE-GPL | ||
| README.md | ||
Real time streaming audio denoising using a Dual-Signal Transformation LSTM Network for Real-Time Noise Suppression.
Trivial to build as it uses the native rust Candle crate for inference. Easy to integrate into any Rodio pipeline.
# use rodio::{nz, source::UniformSourceIterator, wav_to_file};
let file = std::fs::File::open("clips_airconditioning.wav")?;
let decoder = rodio::Decoder::try_from(file)?;
let resampled = UniformSourceIterator::new(decoder, nz!(1), nz!(16_000));
let mut denoised = denoise::Denoiser::try_new(resampled)?;
wav_to_file(&mut denoised, "denoised.wav")?;
Result::Ok<(), Box<dyn std::error::Error>>
Acknowledgements & License
The trained models in this repo are optimized versions of the models in the breizhn/DTLN. These are licensed under MIT.
The FFT code was adapted from Datadog's dtln-rs Repo also licensed under MIT.