音声や動画ファイルから文字起こしを行い、議事録作成や要約などの追加処理まで行えるPython製デスクトップアプリです。
- Whisper(ローカル): faster-whisper による無料・オフラインの文字起こし(既定)
- Whisper API(OpenAI):
gpt-transcribe/whisper-1等によるクラウド文字起こし - Google Gemini API: クラウドベースの高精度文字起こし
タイトル生成・追加処理(議事録・要約)には Ollama(ローカルLLM) を優先的に使用し、Gemini へのフォールバックにも対応しています。
- 音声/動画ファイルの文字起こし
- 様々なフォーマット対応(MP3, WAV, MP4, AVI, MOV, M4A, FLAC, OGG)
- ドラッグ&ドロップによるファイル選択・キュー処理
- 大きなファイルの自動圧縮・長時間ファイルの自動分割とスマート統合
- GPU自動検出による高速処理(ローカルWhisper使用時)
- マイク録音
- アプリ内で録音し、そのまま文字起こしキューに追加
- 波形プレビュー・再生
- 追加処理
- 文字起こし結果からの議事録作成・要約(Ollama / Gemini)
- 要約タイトルの自動生成と元ファイルのリネーム
- 使用量トラッキング
- Gemini API のトークン使用量・概算料金の記録
- Python 3.10以上(開発・動作確認は 3.13)
- FFmpeg(音声/動画変換用、PATH に必要)
- Google Gemini API キー(Geminiエンジン・Geminiフォールバック使用時)
- OpenAI API キー(Whisper API 使用時)
- Ollama(ローカルLLMでのタイトル生成・追加処理を使う場合)
- CUDA対応GPU(ローカルWhisper高速化用、オプション)
- リポジトリをクローンまたはダウンロードします
- 必要なパッケージをインストールします
pip install -r requirements.txt- FFmpegをインストールして、パスに追加します
- Windows: https://ffmpeg.org/download.html
- macOS:
brew install ffmpeg - Linux:
apt-get install ffmpeg
- アプリケーションを起動します
python main.pyWindows では run.bat でも起動できます。
- 文字起こしエンジンを選択します
- Whisper(ローカル): 既定。モデルは large-v3-turbo(精度優先なら large-v3 を選択可)
- Whisper API: OpenAI APIキーを設定します
- Gemini: Gemini APIキーを設定し、接続確認をします
- 音声/動画ファイルをドラッグ&ドロップまたは選択します(複数ファイルはキュー処理)
- 文字起こしを開始すると、結果が
output/に保存され履歴に表示されます - 文字起こし結果を選択して、追加処理(議事録作成、要約など)を実行できます
AI-transcription/
├── config/ # 設定ファイル(config.json: ウィンドウ設定など)
├── data/ # 使用量データなど
├── output/ # 出力ファイル保存先
├── recordings/ # マイク録音の保存先
├── scripts/ # 一回限りのメンテナンススクリプト
├── src/ # ソースコード
│ ├── app.py # メインアプリケーション
│ ├── controllers.py # 処理コントローラ
│ ├── processor.py # 音声処理とAPI連携
│ └── ui.py # ユーザーインターフェース
└── main.py # エントリーポイント
文字起こしや追加処理の結果は、以下の命名規則でテキストファイルとして output/ ディレクトリに保存されます:
- タイトル生成あり:
[要約タイトル]_文字起こし_[元ファイル名].txt - タイトル生成なし:
[元ファイル名]_文字起こし_[タイムスタンプ].txt
- 初回実行時にモデルのダウンロードが必要です(large-v3-turbo: 約1.6GB、large-v3: 約3GB)
- GPU(CUDA対応)があると処理速度が大幅に向上します
- オフラインで動作し、完全無料です
- 各サービスのAPIキーとインターネット接続が必要です
- 利用制限や課金については各公式ドキュメントを確認してください
- 文字起こし結果が空または不正確: API接続を確認し、音声ファイルの品質を確認してください
- ドラッグ&ドロップが機能しない: tkinterdnd2ライブラリがインストールされているか確認してください
- エラーメッセージが表示される:
logs/のログを確認し、FFmpegがインストールされているか確認してください