feat:회의록 자동 화자 분리(Phase 2) 구현 및 세그먼트 저장 에러 수정

- GoogleCloudService에 speechToTextWithDiarization 메서드 추가
- Google STT V1 diarizationConfig 활성화로 자동 화자 구분
- MeetingMinuteService에 processDiarization 메서드 추가
- POST /{id}/diarize 엔드포인트 및 라우트 추가
- 프론트엔드에 '화자 분리' 버튼 추가 (RecordingControlBar)
- saveSegments 컨트롤러에 try-catch 에러 핸들링 추가
- 빈 텍스트 세그먼트 필터링 로직 추가 (서버/클라이언트 양쪽)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-10 10:29:16 +09:00
parent 0f312bcf77
commit b2fbd3d113
5 changed files with 418 additions and 20 deletions

View File

@@ -1341,6 +1341,7 @@
Route::post('/{id}/segments', [MeetingMinuteController::class, 'saveSegments'])->name('save-segments');
Route::post('/{id}/upload-audio', [MeetingMinuteController::class, 'uploadAudio'])->name('upload-audio');
Route::post('/{id}/summarize', [MeetingMinuteController::class, 'summarize'])->name('summarize');
Route::post('/{id}/diarize', [MeetingMinuteController::class, 'diarize'])->name('diarize');
Route::get('/{id}/download-audio', [MeetingMinuteController::class, 'downloadAudio'])->name('download-audio');
});
});