The registration key for this segmenter. Must match the key passed to
@RegisterClass so metadata-driven resolution round-trips.
Modalities this segmenter can produce. Used to validate configuration.
ProtectedresolveFill in defaults for any option the caller left unset.
Optionaloptions: SegmentationOptionsSegment content into embeddable units.
Never throws for content-shaped problems — inspect Success/ErrorMessage.
ProtectedSegmentProduce the raw, un-normalized segments for this content.
Implementations should focus purely on where the boundaries are; the base
class enforces the token ceiling afterwards, so returning a segment that is
too large is acceptable (it will be split, preserving Title and offsets).
ProtectedtokensStaticResolveResolve a registered segmenter by key via the MJ class factory. Returns null when no segmenter is registered under that key.
Uses TryCreateInstance rather than CreateInstance deliberately: the latter never returns
null for an unregistered key — it falls back to new BaseSegmenter(), a hollow object whose
abstract Key/SegmentCore are undefined. That failure stays invisible until something calls
it, so an unresolvable key must be reported as such here.
Segments audio/video into chapters using its timed transcript.
A 60-minute session recording embedded as a single vector is a mush vector — multimodal embedders only see a short window, and no single vector can represent an hour of distinct topics. This segmenter finds real boundaries first (silence gaps, speaker changes, a duration ceiling) and emits time-windowed chapters that each carry both a media reference (with
StartMs/EndMs) and the transcript text for that window.That dual payload is deliberate: the media reference is what a multimodal model embeds for retrieval, while the transcript is what an agent can actually read, what a cross-encoder can rerank, and what keyword search can match.
Cues come from any ASR source, including MemberJunction's realtime session capture, which already records per-turn text with speaker labels and timings.