feat(nam): update to nam-rs 0.2.0 and support LSTM models#248
Merged
Conversation
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.
Contributor
There was a problem hiding this comment.
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-rsdependency to 0.2.0 inCargo.toml/Cargo.lock. - Replace
WaveNetwithModel(viaModel::from_nam) inNamStageand update field/variable names. - Update doc comments in
nam/mod.rsandamp/stages/nam.rsto 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Bumps
nam-rs0.1.0 → 0.2.0 and switches the NAM stage from the hardcodedWaveNetto the new architecture-agnosticnam_rs::Model, which dispatches over the.nam's declared architecture (WaveNet or LSTM).Previously, LSTM
.namfiles parsed into the registry butWaveNet::newrejected 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
Modelswap. The other things 0.2.0 unblocks are tracked as follow-ups, intentionally not in this PR:loudness/dBu metadata) — unblocked, deferred. Has an open DSP question (the normalization target) to settle when picked up.process_bufferperf) — 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 lintclean ·make testgreen (9 suites, incl. NAM tests).