Skip to content

FuyutoMiyake/local-llm-transcribe-summarize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ローカルLLM音声要約システム

音声ファイルを自動で文字起こしし、AI要約を生成するローカル実行システムです。プライバシーを保護しながら、高品質な音声要約を実現します。

🚀 特徴

  • 完全ローカル実行: インターネット接続不要
  • 高精度文字起こし: Whisper Large-v3使用
  • AI要約: DeepSeek-Coder 6.7Bによる構造化要約
  • Mac M4最適化: Metal Performance Shaders活用
  • 多言語対応: 日本語に特化
  • Markdown出力: 構造化された要約

📋 要件

システム要件

  • macOS 13.0+
  • Python 3.9+
  • 16GB+ RAM(推奨: 32GB)
  • Apple Silicon Mac(M1/M2/M3/M4)推奨

必要なソフトウェア

  • Ollama - ローカルLLM実行
  • FFmpeg - 音声処理
  • Python 3.9+

🛠️ インストール

1. リポジトリのクローン

git clone https://github.com/yourusername/local-llm-audio-summary.git
cd local-llm-audio-summary

2. 仮想環境の作成とアクティベート

python3 -m venv .venv
source .venv/bin/activate

3. 依存関係のインストール

pip install -r requirements.txt

4. Ollamaのインストール

# macOS
curl -fsSL https://ollama.ai/install.sh | sh

5. 必要なモデルのダウンロード

# DeepSeek-Coder 6.7B(推奨)
ollama pull deepseek-coder:6.7b-instruct

# または他のモデル
ollama pull llama2:70b-chat-q4_0
ollama pull llama2:13b

6. FFmpegのインストール

# Homebrewを使用
brew install ffmpeg

🎯 使用方法

基本的な使用方法

python auto_transcribe_summarize.py meeting.m4a --llm_model deepseek-coder:6.7b-instruct

オプション

python auto_transcribe_summarize.py audio_file.m4a \
    --llm_model deepseek-coder:6.7b-instruct \
    --map_chars 600 \
    --extract_sent 15

パラメータ説明

  • audio_file: 音声ファイルのパス
  • --llm_model: 使用するOllamaモデル名
  • --map_chars: 途中要約の文字数制限(デフォルト: 600)
  • --extract_sent: 抽出要約の文数(デフォルト: 15)

📁 出力ファイル

実行後、以下のファイルが生成されます:

  • transcript.txt - 文字起こし結果
  • full_transcript.txt - 完全版文字起こし
  • summary.md - 構造化されたMarkdown要約
  • full_summary.txt - 完全版要約

🔧 技術仕様

音声処理

  • VAD: Voice Activity Detectionによる無音除去
  • 分割: 600秒チャンクに分割
  • フォーマット: M4A, WAV, MP3対応

文字起こし

  • モデル: Whisper Large-v3
  • 精度: 95-98%
  • 言語: 日本語対応
  • 最適化: Mac M4 MPS(Metal Performance Shaders)

要約

  • 手法: 階層型Map-Reduce要約
  • モデル: DeepSeek-Coder 6.7B
  • 出力: 構造化Markdown

🏗️ アーキテクチャ

音声ファイル → VAD処理 → 音声分割 → Whisper文字起こし → 要約生成 → Markdown出力

処理フロー

  1. 音声前処理: VADによる無音除去
  2. 音声分割: 600秒チャンクに分割
  3. 文字起こし: Whisper Large-v3で高精度文字起こし
  4. 抽出要約: TextRankによる重要文抽出
  5. 生成要約: LLMによる構造化要約
  6. 出力: Markdown形式で保存

📊 性能

処理時間(meeting.m4a 16MB)

  • 文字起こし: 10-15分
  • 要約生成: 10-20分
  • 合計: 20-35分

精度

  • 文字起こし: 95-98%
  • 要約品質: 高品質な構造化出力
  • 専門用語: 医療分野でも高精度

🔄 カスタマイズ

モデル変更

# auto_transcribe_summarize.py
DEFAULT_LLM_MODEL = "your-preferred-model"
DEFAULT_MODEL_SIZE = "large-v3"  # medium, large, large-v2, large-v3

パラメータ調整

MAX_PROCESSES = 8  # 並列処理数
CHUNK_SEC = 600    # 音声分割秒数
MAP_CHUNK_TOKENS = 8000  # 要約チャンクサイズ

🐛 トラブルシューティング

よくある問題

1. メモリ不足

Error: CUDA out of memory

解決策: より小さなモデルを使用

ollama pull llama2:13b

2. FFmpegが見つからない

Error: ffmpeg command not found

解決策: FFmpegをインストール

brew install ffmpeg

3. Ollamaモデルが見つからない

Error: model not found

解決策: モデルをダウンロード

ollama pull deepseek-coder:6.7b-instruct

🤝 貢献

プルリクエストやイシューの報告を歓迎します。

開発環境のセットアップ

git clone https://github.com/yourusername/local-llm-audio-summary.git
cd local-llm-audio-summary
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

📄 ライセンス

MIT License

🙏 謝辞

📞 サポート

問題や質問がある場合は、GitHubのIssuesページでお知らせください。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published