stages ¶
Inference stages for MMAudio V2A/T2A.
The video sampler intentionally mirrors mmaudio.data.av_utils.read_frames: timestamps are sampled independently at 8 FPS and 25 FPS, and a decoded frame is repeated when the source FPS is lower than a requested sampling rate.
Classes¶
fastvideo.pipelines.basic.mmaudio.stages.MMAudioDecodingStage ¶
Bases: PipelineStage
Decode MMAudio latents to a mono 44.1 kHz waveform.
Source code in fastvideo/pipelines/basic/mmaudio/stages.py
fastvideo.pipelines.basic.mmaudio.stages.MMAudioDenoisingStage ¶
Bases: PipelineStage
Run MMAudio's forward-time Euler flow with FastVideo's shared scheduler.
Source code in fastvideo/pipelines/basic/mmaudio/stages.py
fastvideo.pipelines.basic.mmaudio.stages.MMAudioInputValidationStage ¶
fastvideo.pipelines.basic.mmaudio.stages.MMAudioLatentPreparationStage ¶
Bases: PipelineStage
Sample the Gaussian flow prior using a device-local seeded generator.
Source code in fastvideo/pipelines/basic/mmaudio/stages.py
fastvideo.pipelines.basic.mmaudio.stages.MMAudioTextConditioningStage ¶
Bases: PipelineStage
Encode positive/negative OpenCLIP token sequences and project conditions.
Source code in fastvideo/pipelines/basic/mmaudio/stages.py
fastvideo.pipelines.basic.mmaudio.stages.MMAudioVideoConditioningStage ¶
Bases: PipelineStage
Decode video and run DFN5B/Synchformer with official preprocessing.
Source code in fastvideo/pipelines/basic/mmaudio/stages.py
Functions:¶
fastvideo.pipelines.basic.mmaudio.stages.preprocess_mmaudio_video ¶
preprocess_mmaudio_video(video_path: str | Path, *, duration_s: float, clip_fps: int = 8, sync_fps: int = 25, clip_size: int = 384, sync_size: int = 224) -> tuple[Tensor, Tensor, float]
Return official-format CLIP frames, sync frames, and effective duration.
CLIP output is float32 [T,3,384,384] in [0,1]. Synchformer output is float32 [T,3,224,224] in [-1,1].