Skip to content

feat(nam): update to nam-rs 0.2.0 and support LSTM models#248

Merged
OpenSauce merged 1 commit into
mainfrom
feat/nam-rs-0.2
May 31, 2026
Merged

feat(nam): update to nam-rs 0.2.0 and support LSTM models#248
OpenSauce merged 1 commit into
mainfrom
feat/nam-rs-0.2

Conversation

@OpenSauce
Copy link
Copy Markdown
Owner

What

Bumps nam-rs 0.1.0 → 0.2.0 and switches the NAM stage from the hardcoded WaveNet to the new architecture-agnostic nam_rs::Model, which dispatches over the .nam's declared architecture (WaveNet or LSTM).

Previously, LSTM .nam files parsed into the registry but WaveNet::new rejected them, so they fell back to silent passthrough. They now run. (Subsumes the LSTM half of the AIDA-X loading goal.)

Processing stays per-sample for now.

Scope

Deliberately just the version bump + the Model swap. The other things 0.2.0 unblocks are tracked as follow-ups, intentionally not in this PR:

  • NAM-3 (loudness normalization from the new loudness/dBu metadata) — unblocked, deferred. Has an open DSP question (the normalization target) to settle when picked up.
  • NAM-5 (batched process_buffer perf) — the nam-rs kernel is ready, but the engine drives the chain per-sample, so it delivers nothing until the engine is switched to block processing (REF-C1). Deferred.

Verification

make lint clean · make test green (9 suites, incl. NAM tests).

Bump nam-rs 0.1 -> 0.2 and swap the hardcoded WaveNet for nam_rs::Model, which
dispatches over the .nam architecture (WaveNet or LSTM). LSTM .nam files
previously parsed into the registry but WaveNet::new rejected them, falling back
to silent passthrough; they now run. Processing stays per-sample for now.
Copilot AI review requested due to automatic review settings May 31, 2026 14:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Bumps nam-rs from 0.1.0 to 0.2.0 and switches the NAM stage from the hardcoded WaveNet to the architecture-agnostic nam_rs::Model, enabling LSTM .nam files (previously silent passthrough) to run alongside WaveNet models.

Changes:

  • Update nam-rs dependency to 0.2.0 in Cargo.toml / Cargo.lock.
  • Replace WaveNet with Model (via Model::from_nam) in NamStage and update field/variable names.
  • Update doc comments in nam/mod.rs and amp/stages/nam.rs to reflect the architecture-agnostic runtime model.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
rustortion-core/Cargo.toml Bump nam-rs to 0.2.0
Cargo.lock Lockfile update for nam-rs 0.2.0
rustortion-core/src/amp/stages/nam.rs Swap WaveNet for architecture-agnostic Model; rename field and update docs/tests
rustortion-core/src/nam/mod.rs Update module doc to reference the runtime model

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@OpenSauce OpenSauce merged commit a8cc930 into main May 31, 2026
8 checks passed
@OpenSauce OpenSauce deleted the feat/nam-rs-0.2 branch May 31, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants