실시간 회의 전사·요약 시스템

음성 인식·발화자 검출 엔진을 묶어 회의를 실시간으로 받아쓰고 요약하는 시스템을 3개 차수에 걸쳐 개발했습니다. 데스크톱 클라이언트에서 시작해 브라우저 기반 서비스로 다시 만들었고, 마지막 차수에서는 평가용 독립 실행 시스템과 최종 산출물까지 전달했습니다.

기간
2024.03 - 2026.10
분류
국책과제
역할
시스템 설계·구현
사용 기술
PythonPyQtWebRTC음성 인식화자 분리

회의 음성을 실시간으로 받아쓰고 화자를 구분해 회의록으로 정리하는 시스템입니다. 연차 과제로 3회에 걸쳐 범위를 넓혀 왔습니다.

차수별 범위

1차에서는 데스크톱 클라이언트와 GPU 서버로 골격을 만들었습니다.

2차에서는 서버 구성을 최신화하면서 클라이언트를 플랫폼에 매이지 않는 라이브러리 형태로 분리했습니다.

3차에서는 전체를 브라우저에서 도는 웹 응용으로 다시 만들어, 실시간 회의와 녹음 파일 분석·요약·세션 관리를 한 화면에서 처리하도록 했습니다.

3차(웹 응용) 구조

브라우저서비스 서버 (GPU 컨테이너)WebRTC / 웹소켓실시간 자막회의록웹캠 · 어레이 마이크회의 화면참석자 · 발화자 표시웹 게이트웨이음성 인식발화자 검출감정 인식전사 병합 · 세션 저장요약 사이드카외부 API · 로컬 모델
인식 엔진은 제공받은 것을 그대로 쓰고, 게이트웨이·병합·요약·화면을 만들었습니다.
참석자 영상 타일 중 말하는 사람이 강조되고, 아래에 화자별 전사와 발화 구간 막대, 오른쪽에 요약이 있는 회의 화면참석자 영상 타일 중 말하는 사람이 강조되고, 아래에 화자별 전사와 발화 구간 막대, 오른쪽에 요약이 있는 회의 화면
3차 웹 응용. 발화자 검출 결과로 말하는 사람을 강조하고 전사를 화자별로 나눠 쌓습니다.

더미 데이터로 채운 그림입니다. 실제 화면과 배치·문구가 다를 수 있습니다.

최종평가용 시스템

3차 말미에는 발주 기관의 최종평가에 쓸 시스템을 별도 저장소로 따로 만들었습니다.

발화자 검출, 실시간 음원 분리, 화자별 음성 인식만 떼어 한 대에서 단독으로 기동하게 했습니다.

마이크 어레이 실녹음 샘플로 분리 결과의 인식 오류를 재어 보고했습니다.

웹 응용을 대체하지는 않는 Windows 단독 실행 앱도 함께 만들어 인식 엔진을 설치 없이 확인할 수 있게 했습니다.

최종평가용 시스템 구성

별도 저장소 · 한 대에서 단독 기동설치 없이 확인마이크 어레이실녹음 샘플발화자 검출실시간 음원 분리화자별 음성 인식분리 결과의인식 오류 측정 · 보고Windows 단독 실행 앱
세 모듈만 떼어 단독으로 기동하고, 실녹음 샘플로 분리 결과의 인식 오류를 쟀습니다.

시험 중 발견한 문제

시험 중에 메인 화자 강조가 모든 참석자로 번지는 문제가 드러났습니다.

원인은 실시간 모드에서 영상 재생 시각과 백엔드 점수 시각의 원점이 달랐던 것입니다.

두 시간축의 원점을 맞추는 보정으로 바로잡았고, 시험 영상으로 동시 강조가 크게 줄어든 것을 확인했습니다.

문제 원인과 보정

증상메인 화자 강조가모든 참석자로 번짐원인재생 시각과 점수 시각의원점 불일치보정두 시간축의 원점 맞춤확인시험 영상에서동시 강조 크게 감소
증상만 막지 않고 두 시각의 원점 차이를 바로잡았습니다.

계약 마무리

계약은 2026-10 에 마무리되어 보고서·사용 설명서·소스·가중치를 납품했고, 이후 발주 기관의 시험판 보완 요청에 대응하고 있습니다.