mixing.transcript.fillers¶
Filler-word detection over Scribe-shaped word lists.
A “word list” here is the words array in the ElevenLabs Scribe JSON
response — each entry has text, start, end, and type
(one of "word", "spacing", "audio_event").
The two main outputs are:
build_cuts(): time ranges to REMOVE (fillers + optional audio events).keeps_from_cuts(): complementary KEEP ranges, suitable for ffmpeg.
Module Attributes
Default filler tokens (lowercased, alpha-only, see |
|
Default audio-event tags to remove. |
Functions
|
Compute time ranges to REMOVE. |
|
Return |
|
Return ranges to KEEP given the cut ranges and total duration. |
|
Lowercase and strip non-alpha so |
- mixing.transcript.fillers.DEFAULT_AUDIO_EVENTS_TO_CUT: frozenset[str] = frozenset({'(coughs)'})¶
Default audio-event tags to remove.
(laughs)is intentionally kept.
- mixing.transcript.fillers.DEFAULT_FILLER_TOKENS: frozenset[str] = frozenset({'ah', 'eh', 'er', 'erm', 'hmm', 'mhm', 'mm', 'mmm', 'uh', 'uhh', 'uhm', 'um', 'umm'})¶
Default filler tokens (lowercased, alpha-only, see
normalize_token()).
- mixing.transcript.fillers.build_cuts(words, *, fillers=frozenset({'ah', 'eh', 'er', 'erm', 'hmm', 'mhm', 'mm', 'mmm', 'uh', 'uhh', 'uhm', 'um', 'umm'}), audio_events=frozenset({'(coughs)'}), absorb_trailing_space=True, merge_gap=0.08)[source]¶
Compute time ranges to REMOVE.
- Parameters:
- Return type:
- Returns:
List of
{"start": float, "end": float, "label": str}dicts, sorted by start time and non-overlapping.
- mixing.transcript.fillers.is_filler(item, *, fillers=frozenset({'ah', 'eh', 'er', 'erm', 'hmm', 'mhm', 'mm', 'mmm', 'uh', 'uhh', 'uhm', 'um', 'umm'}), audio_events=frozenset({'(coughs)'}))[source]¶
Return
Trueifitemis a filler word or a removable audio event.- Return type: