💭 概要・設計思想
「ACS Subtitle Aligner」は、ローカル環境(Mac / Windows デスクトップ)で動作する字幕自動生成アプリケーション。OpenAI Whisper モデルと stable-ts ライブラリによる強制アライメント技術を使い、音声ファイルと台本テキストから SRT 字幕ファイルを生成する。
🔧 技術仕様(アーキテクチャ・依存関係)
ACS Subtitle Aligner 仕様書
システム構成・技術スタック
| 項目 | 内容 |
|---|---|
| プラットフォーム | デスクトップアプリ(macOS / Windows) |
| 言語 | Python 3.9 以上 |
| GUIフレームワーク | PySide6(Qt for Python) |
| 音声解析エンジン | OpenAI Whisper + stable-ts |
| 音声デコード | FFmpeg(imageio-ffmpeg 同梱) |
| 配布形式 | PyInstaller スタンドアロン実行ファイル |
SRT出力仕様
📁 ファイル構成
subtitle_aligner/
├── main.py # エントリーポイント・PySide6 UIアプリケーション
├── aligner.py # stable-ts アライメント処理・SRT構築ロジック
├── requirements.txt # 依存パッケージ一覧
├── build_mac.sh # macOS ビルドスクリプト
├── build_windows.bat # Windows ビルドスクリプト
└── bin/
└── ffmpeg -> ... # imageio-ffmpeg のバイナリへのシンボリックリンク
複数エンコーディングを順番に試行する:
for enc in ("utf-8", "shift_jis", "cp932"):
try:
with open(path, encoding=enc) as f:
content = f.read()
break
except UnicodeDecodeError:
continue
