Josh Knapp 585411f402 Fix speaker diarization: WAV conversion, pyannote 4.0 compat, telemetry bug
- Convert non-WAV audio to 16kHz mono WAV before diarization (pyannote
  v4.0.4 AudioDecoder returns None duration for FLAC, causing crash)
- Handle pyannote 4.0 DiarizeOutput return type (unwrap .speaker_diarization)
- Disable pyannote telemetry (np.isfinite(None) bug with max_speakers)
- Use huggingface_hub.login() to persist token for all sub-downloads
- Pre-download sub-models (segmentation-3.0, speaker-diarization-community-1)
- Add third required model license link in settings UI
- Improve SpeakerManager hints based on settings state
- Add word-wrap to transcript text

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 19:46:07 -08:00

Voice to Notes

A desktop application that transcribes audio/video recordings with speaker identification, producing editable transcriptions with synchronized audio playback.

Goals

  • Speech-to-Text Transcription — Accurately convert spoken audio from recordings into text
  • Speaker Identification (Diarization) — Detect and distinguish between different speakers in a conversation
  • Speaker Naming — Assign and persist speaker names/IDs across the transcription
  • Synchronized Playback — Click any transcribed text segment to play back the corresponding audio for review and correction
  • Export Formats
    • Closed captioning files (SRT, VTT) for video
    • Plain text documents with speaker labels
  • AI Integration — Connect to AI providers to ask questions about the conversation and generate condensed notes/summaries

Platform Support

Platform Status
Linux Planned (initial target)
Windows Planned (initial target)
macOS Future (pending hardware)

Project Status

Early planning phase — Architecture and technology decisions in progress.

License

MIT

Description
Convert recorded audio to text with speaker identifying and text to audio scrubbing
Readme MIT 1.1 MiB
2026-03-24 02:04:26 +00:00
Languages
Python 36.6%
Svelte 30.3%
Rust 29.6%
TypeScript 2.2%
Shell 0.5%
Other 0.8%