helena
Core types and component interfaces for helena, a latent data-to-waveform generation platform: it learns to turn structured source data into audio by predicting compressed audio latents that a frozen neural codec decodes.
This crate is the foundation the rest of the platform builds on. It holds the
vocabulary every other crate speaks — the data structures that flow through the
pipeline and the traits the swappable components implement — and nothing that
pulls in a tensor backend, a neural network, or an FFT. It is host-side,
serde-friendly, and dependency-light by design.
source data ──▶ DataEncoder ──▶ ConditioningLatents ──▶ ConditionalGenerator
│
AudioLatent / tokens
│
AudioCodec::decode
▼
Waveform
What's here
- Pipeline data —
Tensor(a host-side, serde-friendly wrapper over Burn'sTensorData),Waveform, the conditioning and audio latents (ConditioningLatents,AudioLatent), and the experiment/generation config and manifest records. - Component seams — the three traits the platform is built to swap parts
behind:
DataEncoder,AudioCodec, andConditionalGenerator. They are backend-agnostic: a model's tensor backend never leaks into its callers. - The diffusion kernel — variance-preserving v-prediction levels, a cosine schedule, classifier-free-guidance scheduling, and Min-SNR loss weighting.
- Subsystems behind their modules — generator-output diagnostics under
eval, streaming statistics understats, content hashing underhash. The crate root stays the vocabulary; these are reached through their module path.
Backend
The tensor backend is Burn. helena stays backend-agnostic by
speaking Burn's host-side TensorData at its boundaries, so latents serialize,
hash, and disk-cache without a device. Models in the (currently unpublished)
training and inference crates are generic over B: Backend and convert to
Tensor<B, D> at their edges.
Status
Pre-1.0 and evolving; the public API may change between 0.x releases. The other
helena crates (data, model, train, infer, eval, cli) are not yet published.
License
AGPL-3.0-only.