회의 음성 자동 요약 시스템 구축기

KangHo Lee's avatar
Jul 02, 2025
회의 음성 자동 요약 시스템 구축기
  • 회의나 인터뷰를 녹음하고 나서 그 내용을 정리하는 작업은 생각보다 많은 시간을 소모합니다. 반복 재생, 필기, 화자 구분, 요약, 교정...
  • 이런 과정을 자동화할 수 있다면 어떨까요?
  • 이번 글에서는 OpenAI의 Whisper 모델, HuggingFace의 Pyannote, 그리고 GPT-4o를 활용해 회의 음성 파일을 자동으로 회의록으로 만드는 워크플로우를 구성한 과정을 공유합니다.

✅ 전체 워크플로우

🎧 음성 파일 (MP3/WAV 등) ↓ 🧠 Whisper STT (로컬 실행) ↓ 👥 Pyannote 화자 분리 (로컬 실행) ↓ 🔀 STT와 화자 타임라인 매칭 ↓ 📝 GPT-4o 기반 요약 및 문장 교정 (API 호출) ↓ 📄 회의 요약 마크다운 + 워드/JSON 저장

🔍 각 단계 설명 및 사용 기술

1. Whisper로 STT 처리 (로컬 실행)

  • 모델: openai/whisper-large-v3-turbo
  • 라이브러리: transformers, pipeline
  • 특징:
    • 10초 청크 단위로 오디오를 잘라 STT 수행
    • return_timestamps=True 설정으로 발화 구간까지 확보
  • 장점:
    • Whisper는 영어는 물론 한국어도 뛰어난 인식률을 보임
    • 로컬 GPU를 활용하면 API 비용 없이 처리 가능
result = pipe(audio_file_path) # 결과 → chunks: [{start, end, text}, ...]

2. Pyannote로 화자 분리 (로컬 실행)

  • 모델: pyannote/speaker-diarization-3.1
  • 환경: Hugging Face 인증 토큰 필요
  • 출력: RTTM 파일 + CSV
  • 특징:
    • 시간 축을 기준으로 화자를 식별
    • 연속 발화를 묶어 단위화

3. STT 결과와 화자 타임라인 매칭

  • 방식: 시간 겹침(overlap) 기준으로 가장 잘 맞는 화자 구간에 STT 텍스트를 매핑
  • 구현 포인트:
    • 각 STT 청크의 start, end 시간과 RTTM에서의 화자 start, end를 비교
    • 가장 많이 겹치는 화자 구간에 텍스트 추가

4. GPT로 요약 및 교정 (API 기반)

  • 사용 모델: gpt-4o
  • 역할 1) 전체 회의 내용 요약
  • 역할 2) STT로 기록된 메시지를 한 문장씩 교정
system_prompt = """ 너는 회의 내용을 요약하는 봇이다. 아래 형식에 맞춰 요약하라. """
  • 교정 Prompt는 STT 오류(말투, 문법, 문맥 오류)를 수정하도록 유도

📁 출력 파일 예시

파일명
설명
final.csv
STT + 화자 분리 매핑된 결과
guitar_summary.md
마크다운 형식 요약
guitar_meeting_note_corrected.json
교정된 회의록 JSON
guitar_meeting_note_corrected.md
정리된 회의록 마크다운
guitar_meeting_note_corrected.docx
워드 문서 (MS Word)

🚀 워크플로우의 장점

✅ 1. 비용 효율적

  • Whisper/Pyannote는 로컬 실행 가능하므로 장시간 오디오도 API 비용 없음
  • GPT 사용은 요약/교정용으로 최소화된 API 호출만 사용 → GPT token 절약

✅ 2. 품질 높은 결과물

  • Whisper는 한국어 STT에서 최고의 인식률
  • Pyannote로 화자를 나누면, 누가 어떤 말을 했는지 명확해짐
  • GPT-4o는 STT의 문법 오류, 화자 지정 오류까지 잡아주는 ‘최종 편집자’ 역할 수행

✅ 3. 자동화 및 반복 가능

  • 한 번 구축하면 다양한 회의/인터뷰 음성 파일에 반복 적용 가능
  • CSV/JSON/Markdown/Word 파일 등 다양한 출력 포맷으로 확장 가능

⚠️ 한계점 및 개선 방향

한계
설명
Pyannote 인증
Hugging Face 토큰 필요 + 간혹 모델 접근 권한 오류 발생 가능
STT 오류
Whisper가 간혹 오인식하는 경우 → GPT 후처리로 보완
화자 오분리
유사한 음색은 Pyannote가 구분 어려울 수 있음
토큰 비용
회의 길이가 길면 GPT 요약 비용 ↑ → 문단 단위 처리로 개선 가능

✨ 마무리

  • 이 프로젝트는 Whisper, Pyannote, GPT를 결합하여 음성 회의 기록을 자동화한 사례입니다.
  • 비용, 정확도, 유지 가능성을 모두 고려하여 로컬 + 클라우드 혼합 처리라는 현실적인 워크플로우를 적용했습니다.
  • 회의록 자동화에 관심 있는 분, STT+화자분리+요약을 한번에 처리하고 싶은 분에게 실용적인 접근이 될 수 있습니다.

 
Share article

devleekangho