67ed69df00019859232c9f8b9978d50c65a0dcb3
Send each segment to the frontend immediately after transcription via a new pipeline.segment IPC message, then send speaker assignments as a batch pipeline.speaker_update message after diarization completes. This lets the UI display segments progressively instead of waiting for the entire pipeline to finish. Changes: - Add partial_segment_message and speaker_update_message IPC factories - Add on_segment callback parameter to TranscribeService.transcribe() - Emit partial segments and speaker updates from PipelineService.run() - Add send_and_receive_with_progress to SidecarManager (Rust) - Route pipeline.segment/speaker_update events in run_pipeline command - Listen for streaming events in Svelte frontend (+page.svelte) - Add tests for new message types, callback signature, and update logic Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
Releases
10
Voice to Notes v0.2.46
Latest
Languages
Python
36.6%
Svelte
30.3%
Rust
29.6%
TypeScript
2.2%
Shell
0.5%
Other
0.8%