inblog logo
|
devleekangho
    LLM

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

    KangHo Lee's avatar
    KangHo Lee
    Jul 02, 2025
    회의 음성 자동 요약 시스템 구축기
    Contents
    ✅ 전체 워크플로우🔍 각 단계 설명 및 사용 기술📁 출력 파일 예시🚀 워크플로우의 장점⚠️ 한계점 및 개선 방향✨ 마무리
    • 회의나 인터뷰를 녹음하고 나서 그 내용을 정리하는 작업은 생각보다 많은 시간을 소모합니다. 반복 재생, 필기, 화자 구분, 요약, 교정...
    • 이런 과정을 자동화할 수 있다면 어떨까요?
    • 이번 글에서는 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
    Contents
    ✅ 전체 워크플로우🔍 각 단계 설명 및 사용 기술📁 출력 파일 예시🚀 워크플로우의 장점⚠️ 한계점 및 개선 방향✨ 마무리

    devleekangho

    RSS·Powered by Inblog