このプロジェクトは、音声ファイルや動画ファイルから文字起こしを行い、高品質な議事録を自動生成するツールです。Gemini APIを活用して、文字起こしの品質向上やハルシネーション(幻覚)の検出、構造化された議事録の生成を実現します。
- 音声ファイル・動画ファイルの文字起こし
- 文字起こし結果のハルシネーションチェック
- 構造化された議事録の自動生成
- 動画からの画像抽出とシーン検出
- Notionへの議事録アップロード
- Python 3.8以上
- FFmpeg(動画・音声処理用)
- Gemini API キー
- Notion API キー(Notionアップロード機能を使用する場合)
- リポジトリをクローン
git clone https://github.com/yourusername/tts-mcp.git
cd tts-mcp
- 必要なパッケージをインストール
pip install -r requirements.txt
- 設定ファイルを作成
cp config/settings.json.example config/settings.json
- 設定ファイルを編集して、APIキーなどを設定
# お好みのエディタで設定ファイルを開く
notepad config/settings.json
python main.py -i <入力ファイルまたはディレクトリ> -o <出力ディレクトリ>
-i, --input
: 入力ファイルまたはディレクトリのパス(必須)-o, --output-dir
: 出力ディレクトリのパス(オプション、デフォルト:output
)--upload-to-notion
: 議事録をNotionにアップロードする--image-quality
: 抽出する画像の品質(1-5、高いほど高品質、デフォルト: 3)--image-interval
: 画像抽出の間隔(秒、デフォルト: 60)--scene-threshold
: シーン検出の閾値(0.0-1.0、高いほど厳しい、デフォルト: 0.3)--min-scene-duration
: 最小シーン長(秒、デフォルト: 2.0)--chunk-duration
: 音声チャンクの長さ(秒、デフォルト: 600)--language
: 言語設定(ja/en、デフォルト: ja)--config
: 設定ファイルのパス--gemini-api-key
: Gemini APIキー--notion-api-key
: Notion APIキー--notion-database-id
: Notion データベースID--version
: バージョン情報を表示
- 単一の音声ファイルを処理
python main.py -i path/to/audio.mp3
- ディレクトリ内のすべてのメディアファイルを処理
python main.py -i path/to/media/directory
- 議事録をNotionにアップロード
python main.py -i path/to/audio.mp3 --upload-to-notion
tts-mcp/
├── config/ # 設定ファイル
├── docs/ # ドキュメント
├── output/ # 出力ディレクトリ
├── prompts/ # プロンプトテンプレート
├── resources/ # リソースファイル
├── src/ # ソースコード
│ ├── application/ # アプリケーション層
│ ├── domain/ # ドメイン層
│ ├── infrastructure/ # インフラ層
│ ├── services/ # サービス層
│ └── utils/ # ユーティリティ
├── tests/ # テスト
├── main.py # メインスクリプト
└── README.md # このファイル
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルを参照してください。
- このプロジェクトは、FFmpegを使用しています。
- 文字起こしと議事録生成には、Google Gemini APIを使用しています。