Feature: Full Support for Speaker-Diarized Data
- Dominant language
- Python
- Stars
- 2
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
We expect to have speaker-diarized annotations for all speech content. The system should incorporate these speaker segments throughout the entire workflow so users can search, filter, and view results with speaker context.
**Proposal:**
Add end-to-end support for diarization metadata across the system:
**1. Indexing / Storage**
- Store speaker segments (speaker ID, start/end time) in the DB.
- Link diarized segments to transcript segments and tokens.
- Ensure compatibility with multi-speaker files.
**2. Search**
- Enable filtering by speaker ID, # of speakers, or specific speaker clusters.
- Allow queries like: keyword spoken only by speaker X, keyword spoken in overlap, etc.
- Show speaker info next to each match.
**3. UI / Result View**
- Display speaker label in the snippet panel.
- Optional color-coding per speaker.
- Offer a toggle to show/hide speaker segments on the timeline.
- Add speaker breakdown stats (e.g., matches per speaker).
**4. CSV / Export**
- Include speaker ID and speaker start/end time for every result.
**Why this matters:**
Diarization makes the system more accurate (especially for multi-speaker content) and opens new research workflows: conversational analysis, speaker-specific patterns, code-switching, institutional audio, etc.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or entry points are named. Start by mapping the indexing/storage, search, UI/result, and CSV/export workflows, then define how speaker segments connect to transcripts and tokens; done means speaker-aware storage, filtering, display, and export across the full workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- full-stack, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100