Phase 15.5 구현: 화자 구분 (Speaker Diarization)
- Sidecar: pyannote /diarize 엔드포인트 + requirements.txt 업데이트 - LLM 기반 화자 추정 (Phase 1 — 오디오 보존 없이 전사 텍스트 분석) - CaptionSegment에 speaker 필드 추가 - EditableSegment: 화자별 색상 바 + 화자 Chip 표시 - TranscriptTab: 화자 구분 버튼 + 진행률 - 설정: HuggingFace 토큰 입력 + Diarization 토글 - IPC: DIARIZE + DIARIZATION_PROGRESS 채널 - 에러코드: 895-897 - 12개 locale i18n
This commit is contained in:
parent
da25791c75
commit
fc7628327a
25 changed files with 679 additions and 18 deletions
|
|
@ -165,6 +165,7 @@ import type {
|
|||
MeetingChatMessage,
|
||||
MeetingChatSendParams,
|
||||
MeetingChatDelta,
|
||||
DiarizeSessionParams,
|
||||
} from '@shared/types'
|
||||
import { Feature } from '@shared/types'
|
||||
import type { IPCResult } from '@shared/errors'
|
||||
|
|
@ -641,6 +642,11 @@ const electronAPI = {
|
|||
// Phase 15
|
||||
polishTranscript: (params: { sessionId: string }) =>
|
||||
invoke<string>(IPC_CHANNELS.MEETING_MODE.POLISH_TRANSCRIPT, params),
|
||||
// Phase 15.5
|
||||
diarize: (params: DiarizeSessionParams) =>
|
||||
invoke<void>(IPC_CHANNELS.MEETING_MODE.DIARIZE, params),
|
||||
onDiarizationProgress: (cb: (e: { sessionId: string; percent: number }) => void): Unsubscribe =>
|
||||
on(IPC_CHANNELS.MEETING_MODE.DIARIZATION_PROGRESS, cb),
|
||||
},
|
||||
|
||||
// ── Meeting Chat (Phase 15) ───────────────────────────
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue