Inline non-verbal event tags (laughter, cough, sigh, sneeze, burping, humming) mined from
Scicom-intl/Malaysian-Tamil-Emilia
podcast segments, for expressive-TTS training. Tags follow the
<|sfx:family|> + onomatopoeia convention (e.g. <|sfx:laughter|>Haha), placed inline at the
word boundary nearest the event onset.
Example:
Dato' cakap ni macam ada pengalaman dengan orang berusia. Ada ke tau?
<|sfx:laughter|>Hahaha Tak adalah...
audio segment (mp3, VAD-trimmed podcast speech)
│ PANNs Cnn14_DecisionLevelMax framewise SED (~100 fps AudioSet posteriors)
▼ low thresholds (high recall): family = max over member classes
candidate events (onset/offset/peak)
│ CLAP (laion/clap-htsat-unfused) zero-shot verification:
▼ class prompts vs speech/music/noise negatives, keep fam-prob >= 0.55
verified events
│ faster-whisper large-v3 word timestamps
▼ insert tag at nearest word gap; events overlapping speech >50% kept in
metadata but NOT tagged (speech-laugh is a different phenomenon)
tagged transcript
Calibration note: AudioSet laughter posteriors are heavily suppressed on speech-adjacent
laughter (median clip-max 0.007 on Expresso laughing clips), so SED thresholds are scaled
to ~0.3x of naive values and precision comes from the CLAP gate (median verified
CLAP confidence >= 0.95 for all classes).
data/tagged-*.parquet — one row per audio segment with >= 1 verified event:
file (segment basename), orig_text (source transcript), whisper_text,
tagged_text (whisper transcript with inline tags), language,
events (JSON list: family, onset, offset, peak, clap_fam, clap_neg, placed),
n_placedevents/events-*.jsonl — all SED candidate events pre-verification (for re-thresholding)qa_crops/ — per-class event crops (wav, 48 kHz) for auditing, filename carries CLAP confidenceEach row carries two renderings of the same verified events:
tagged_text — Higgs-TTS style: <|sfx:family|> + onomatopoeia, only for discrete events
(speech overlap <= 50%)nv_text — Emilia-NV / NVSpeech style: bare [Label] word-level tokens for ALL events at their
occurrence position, including vocalizations overlapping speech (e.g. laughing while talking)2,383 tagged transcripts, 2,539 verified events (ta 2,155 / en 162 / ms 61).
| family | nv_text tags (all events) | tagged_text tags (discrete only) |
|---|---|---|
| laughter | 2,185 | 907 |
| burping | 240 | 65 |
| cough | 85 | 25 |
| sigh | 11 | 7 |
| sneeze | 10 | 4 |
| other | 8 | 4 |
Note: burping is dominated by mouth/plosive sounds that CLAP accepts — audit qa_crops/
before training on that class.
24 commits
Inline non-verbal event tags (laughter, cough, sigh, sneeze, burping, humming) mined from
Scicom-intl/Malaysian-Tamil-Emilia
podcast segments, for expressive-TTS training. Tags follow the
<|sfx:family|> + onomatopoeia convention (e.g. <|sfx:laughter|>Haha), placed inline at the
word boundary nearest the event onset.
Example:
Dato' cakap ni macam ada pengalaman dengan orang berusia. Ada ke tau?
<|sfx:laughter|>Hahaha Tak adalah...
audio segment (mp3, VAD-trimmed podcast speech)
│ PANNs Cnn14_DecisionLevelMax framewise SED (~100 fps AudioSet posteriors)
▼ low thresholds (high recall): family = max over member classes
candidate events (onset/offset/peak)
│ CLAP (laion/clap-htsat-unfused) zero-shot verification:
▼ class prompts vs speech/music/noise negatives, keep fam-prob >= 0.55
verified events
│ faster-whisper large-v3 word timestamps
▼ insert tag at nearest word gap; events overlapping speech >50% kept in
metadata but NOT tagged (speech-laugh is a different phenomenon)
tagged transcript
Calibration note: AudioSet laughter posteriors are heavily suppressed on speech-adjacent
laughter (median clip-max 0.007 on Expresso laughing clips), so SED thresholds are scaled
to ~0.3x of naive values and precision comes from the CLAP gate (median verified
CLAP confidence >= 0.95 for all classes).
data/tagged-*.parquet — one row per audio segment with >= 1 verified event:
file (segment basename), orig_text (source transcript), whisper_text,
tagged_text (whisper transcript with inline tags), language,
events (JSON list: family, onset, offset, peak, clap_fam, clap_neg, placed),
n_placedevents/events-*.jsonl — all SED candidate events pre-verification (for re-thresholding)qa_crops/ — per-class event crops (wav, 48 kHz) for auditing, filename carries CLAP confidenceEach row carries two renderings of the same verified events:
tagged_text — Higgs-TTS style: <|sfx:family|> + onomatopoeia, only for discrete events
(speech overlap <= 50%)nv_text — Emilia-NV / NVSpeech style: bare [Label] word-level tokens for ALL events at their
occurrence position, including vocalizations overlapping speech (e.g. laughing while talking)2,383 tagged transcripts, 2,539 verified events (ta 2,155 / en 162 / ms 61).
| family | nv_text tags (all events) | tagged_text tags (discrete only) |
|---|---|---|
| laughter | 2,185 | 907 |
| burping | 240 | 65 |
| cough | 85 | 25 |
| sigh | 11 | 7 |
| sneeze | 10 | 4 |
| other | 8 | 4 |
Note: burping is dominated by mouth/plosive sounds that CLAP accepts — audit qa_crops/
before training on that class.
24 commits