Phase 3: Speaker diarization and full transcription pipeline
- Implement DiarizeService with pyannote.audio speaker detection - Build PipelineService combining transcribe → diarize → merge with overlap-based speaker assignment per segment - Add pipeline.start and diarize.start IPC handlers - Add run_pipeline Tauri command for full pipeline execution - Wire frontend to use pipeline: speakers auto-created with colors, segments assigned to detected speakers - Build SpeakerManager with rename support (double-click or edit button) - Add speaker color coding throughout transcript display - Add pyannote.audio dependency - Tests: 24 Python (including merge logic), 6 Rust, 0 Svelte errors Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,8 @@ import sys
|
||||
from voice_to_notes.ipc.handlers import (
|
||||
HandlerRegistry,
|
||||
hardware_detect_handler,
|
||||
make_diarize_handler,
|
||||
make_pipeline_handler,
|
||||
make_transcribe_handler,
|
||||
ping_handler,
|
||||
)
|
||||
@@ -21,7 +23,8 @@ def create_registry() -> HandlerRegistry:
|
||||
registry.register("ping", ping_handler)
|
||||
registry.register("transcribe.start", make_transcribe_handler())
|
||||
registry.register("hardware.detect", hardware_detect_handler)
|
||||
# TODO: Register diarize, pipeline, ai, export handlers
|
||||
registry.register("diarize.start", make_diarize_handler())
|
||||
registry.register("pipeline.start", make_pipeline_handler())
|
||||
return registry
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user