pub struct CodecDecoderConfig {Show 15 fields
pub dim: usize,
pub n_heads: usize,
pub head_dim: usize,
pub ffn_dim: usize,
pub layers_per_block: usize,
pub sliding_windows: Vec<usize>,
pub input_channels: usize,
pub output_patch_size: usize,
pub sample_rate: u32,
pub semantic_vq_size: usize,
pub semantic_embed_dim: usize,
pub acoustic_fsq_dims: usize,
pub fsq_levels: usize,
pub norm_eps: f64,
pub qk_norm_eps: f64,
}Expand description
Codec decoder configuration.
Conv-transformer autoencoder that converts tokens back to a 24 kHz waveform. Uses ALiBi positional bias, QK-norm, LayerScale, and weight-normed convolutions.
Fields§
§dim: usizeHidden dimension for transformer layers.
n_heads: usizeNumber of MHA heads (not GQA).
head_dim: usizePer-head dimension.
ffn_dim: usizeSwiGLU FFN hidden dimension.
layers_per_block: usizeNumber of transformer layers per block.
sliding_windows: Vec<usize>Sliding window sizes for the 4 transformer block groups.
input_channels: usizeInput conv: channels in (semantic 256 + acoustic 36 = 292).
output_patch_size: usizeOutput conv: samples per patch.
sample_rate: u32Output sample rate in Hz.
semantic_vq_size: usizeNumber of semantic VQ codebook entries.
semantic_embed_dim: usizeSemantic embedding dimension (per entry).
acoustic_fsq_dims: usizeNumber of acoustic FSQ dimensions.
fsq_levels: usizeNumber of FSQ levels per dimension.
norm_eps: f64RMSNorm epsilon (codec uses 0.01, much larger than backbone’s 1e-5).
qk_norm_eps: f64QK-norm epsilon for codec attention.
Implementations§
Source§impl CodecDecoderConfig
impl CodecDecoderConfig
Sourcepub fn total_transformer_layers(&self) -> usize
pub fn total_transformer_layers(&self) -> usize
Total number of transformer blocks (4 groups of layers_per_block).
Sourcepub fn validate(&self) -> Result<(), ConfigError>
pub fn validate(&self) -> Result<(), ConfigError>
Validate config invariants.