ACS VoiceForge

💭 概要・設計思想

「ACS VoiceForge」は、ローカル環境(Mac / Windows デスクトップ)で動作するボイスクローン TTS アプリケーション。日本語特化の Flow Matching TTSモデル「Irodori-TTS-500M-v2」を使用し、リファレンス音声から話者の声を再現してナレーション音声を生成する。

🔧 技術仕様(アーキテクチャ・依存関係)

ACS VoiceForge 仕様書

システム構成・技術スタック

項目 内容
プラットフォーム デスクトップアプリ(macOS / Windows)
言語 Python 3.11 以上
GUIフレームワーク PySide6(Qt for Python)
TTSエンジン Irodori-TTS-500M-v2(HuggingFace)
パッケージ管理 uv
配布形式 PyInstaller スタンドアロン実行ファイル

📁 ファイル構成

ACS VoiceForge/
├── main.py                      # エントリーポイント・設定ロード・規約チェック・アップデートチェック
├── pyproject.toml               # uv 依存管理
├── requirements.txt
├── voiceforge.spec              # PyInstaller ビルド設定
│
├── core/
│   ├── tts_engine.py            # Irodori-TTS 推論ラッパー(シングルトン・遅延初期化)
│   ├── audio_processor.py       # WAV 結合・ポーズ挿入・タイムストレッチ・sounddevice 再生
│   ├── srt_generator.py         # 話者別 SRT ファイル生成(改行分割対応)
│   ├── project_manager.py       # .vfproj JSON 保存・読み込み
│   ├── emoji_mapper.py          # 感情ラベル ↔ 絵文字マッピング
│   └── update_checker.py        # 起動時アップデートチェック(サーバーJSON比較)
│
├── ui/
│   ├── main_window.py           # QMainWindow・全コンポーネント統合・QThread 管理
│   ├── block_editor.py          # ブロックリストコンテナ・D&D 並べ替え
│   ├── block_widget.py          # 単一ブロック UI
│   ├── speaker_panel.py         # 話者 A/B 設定パネル(左ペイン)
│   ├── export_panel.py          # エクスポートオプション・ポーズ設定(右ペイン)
│   ├── profile_dialog.py        # リファレンス音声プロファイル管理ダイアログ
│   └── terms_dialog.py          # 利用規約ダイアログ(同意モード / 閲覧モード)
│
├── models/
│   ├── block.py                 # Block データクラス
│   ├── project.py               # Project データクラス
│   ├── speaker.py               # Speaker データクラス
│   └── profile.py               # Profile データクラス
│
└── resources/
    ├── emoji_annotations.json   # 絵文字マッピング定義(UI絵文字 / Irodori絵文字の2層)
    └── styles/
        └── theme.qss            # Catppuccin Mocha ベースのダークテーマ

JSON 形式。台本・話者設定・感情設定・ポーズ設定を保存する。生成済み WAV のパスも保存されるが、移動・削除された場合は再生成が必要。

{
  "version": "1.0",
  "speaker_a": { "id": "speaker_a", "name": "自分", "color": "#2196F3", "profiles": [...], "active_profile_index": 0 },
  "speaker_b": { "id": "speaker_b", "name": "相方", "color": "#F44336", "profiles": [...], "active_profile_index": 0 },
  "use_speaker_b": false,
  "blocks": [
    { "id": "uuid", "speaker_id": "speaker_a", "emotion": "明るい・嬉しい", "text": "みなさんこんにちは!", "generated_wav_path": "/path/to/uuid.wav", "duration_seconds": 2.4 }
  ],
  "pause_seconds": 0.5
}

プラグインの詳細を確認する

実際の機能や導入メリット、購入情報については以下のページをご覧ください。

ACS VoiceForge の詳細ページを見る →