【議事録完全自動化】Faster-Whisper × LLMによる話者分離・要約・タスク抽出パイプライン アイキャッチ

Icons: Lobe Icons(MIT)

マニュアル
公開: 2026.09.02読了目安 8分

【議事録完全自動化】Faster-Whisper × LLMによる話者分離・要約・タスク抽出パイプライン

録音音声ファイルから高速・高精度にテキストを起こし、発言者ごとの分離(ダイアライゼーション)、重要決定事項およびTODOタスクを自動抽出するローカル議事録システムを解説します。

はじめに:社内機密音声のクラウド送信リスクを避ける

ZoomやTeams、対面会議の録音音声から議事録を作成する際、外部のSaaSサービスに音声をアップロードすることは、社内セキュリティ規程や守秘義務(NDA)の観点から制限されるケースが多くあります。

オープンソースの高速音声認識エンジン Faster-Whisper と話者分離ライブラリ PyAnnote.audio、そしてローカルLLMを組み合わせることで、完全オフライン・社内完結型の議事録自動生成パイプラインを構築できます。


1. システム構成図

[ 会議録音 (m4a / mp3 / wav) ]

          ├──▶ 【1. 高速文字起こし】Faster-Whisper (large-v3, CTranslate2最適化)

          └──▶ 【2. 話者分離 (Diarization)】PyAnnote.audio → 話者A / 話者B のタイムスタンプ


【3. タイムスタンプ統合エンジン】
  ・「誰が」「いつ」「何を話したか」の完全な発言録を生成


【4. LLM構造化要約 (Qwen 2.5 / Llama 3.3)】
  ・会議の目的とアジェンダ
  ・決定事項(Decisions Made)
  ・保留・次回検討事項(Pending Items)
  ・担当者別TODOアクションアイテム(Action Items with Assignee)

2. Pythonによるコア実装例

from faster_whisper import WhisperModel
import json

def transcribe_audio(audio_path):
    # GPU (cuda) と float16 で高速実行
    model = WhisperModel("large-v3", device="cuda", compute_type="float16")
    
    segments, info = model.transcribe(
        audio_path,
        beam_size=5,
        language="ja",
        vad_filter=True, # 無音区間の自動スキップ
        vad_parameters=dict(min_silence_duration_ms=500)
    )
    
    transcript = []
    for s in segments:
        transcript.append({
            "start": round(s.start, 2),
            "end": round(s.end, 2),
            "text": s.text.strip()
        })
        
    return transcript

60分の会議音声であっても、RTX 4070等の一般的なGPU環境で約2〜3分で文字起こしから構造化議事録の生成までが完了します。