⚠️ 注意: AI画像生成時は著作権・肖像権にご注意ください。商用利用前には各サービスの利用規約をご確認ください。当ブログは生成された画像に関する責任を負いかねます。
要約
Whisperをブラウザから操作できるローカル音声文字起こしアプリを作りました。音声・動画ファイルをドラッグ&ドロップするだけで文字起こしでき、SRT/VTT形式の字幕ファイルも生成できます。動画編集者や議事録担当者にとって、テロップ作成の手間を大幅に削減できるツールです。
はじめに
インタビュー音声の文字起こしをするとき、毎回Whisperをコマンドラインから実行するのが面倒でした。
コマンド自体は短くても、ファイルパスを打ち込んでオプションを確認して……という手間が積み重なる。もっとサクサク使えるUIがほしいと思って自作したのがこのアプリです。
Speech to Text UI とは
Speech to Text UI は、Whisperをはじめとする複数の音声認識エンジンをブラウザから手軽に操作できるローカルWebアプリです。
MP3, MP4, MKV, WAV, M4A, FLAC, OGG, WebM, AVI, MOV など、ffmpegが対応しているほぼすべての音声・動画フォーマットをそのまま投げ込めます。

- バックエンド: Python / FastAPI
- フロントエンド: HTML + CSS + JavaScript(フレームワークなし)
- 通信: Server-Sent Events(SSE)でリアルタイム進捗を表示
ローカルで動くため、音声データが外部に送られません。会議録音やインタビューなど、プライバシーが気になる音声にも安心して使えます。
同じく自作したローカルWebツールとして、AI画像の背景除去ができる rembg-ui もあります。こちらもブラウザからドラッグ&ドロップで使えます。
リポジトリ(MIT ライセンス):
対応している音声認識エンジン
4種類のエンジンをUIから切り替えられます。
| エンジン | 特徴 |
|---|---|
| Whisper | OpenAI公式。安定・シンプル |
| faster-whisper | 約4〜5倍高速。GPU効果が大きい |
| WhisperX | 単語レベルのタイムスタンプ。字幕精度が高い |
| SenseVoice | Alibaba製。超高速・感情認識・音響イベント検出 |
実際に使ってみた感想としては、faster-whisperが速度・品質ともに十分な結果でした。処理しながらセグメントがリアルタイムでブラウザに流れてくるので、長い音声でも「今どこまで処理しているか」がわかって待ちやすいです。
一方で、OpenAI公式のWhisperはGPUの恩恵をあまり受けない実装のようで、GPU環境でもCPU処理のほうが速いケースがありました。GPU環境なら素直にfaster-whisperを選ぶのがよさそうです。
モデルサイズとVRAMの目安
| モデル | 必要VRAM | 速度 | 精度 |
|---|---|---|---|
| tiny | ~1GB | 最速 | 低 |
| base | ~1GB | 速い | 普通 |
| small | ~2GB | 普通 | 良い |
| medium | ~5GB | 遅め | 高い |
| large-v2/v3 | ~10GB | 最遅 | 最高 |
VRAM 8GBの環境では medium が実用的な上限 です。large-v3 を無理に使うと処理時間がかなり長くなるので注意してください。
インストール方法
必要なもの
- Python 3.10以上
- ffmpeg(音声変換に使用)
- GPU(CUDA)があれば高速化、なくても動作可能
セットアップ手順
git clone https://github.com/RyoheiTanaka/speech-to-text-ui.git
cd speech-to-text-ui
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
GPU(CUDA)環境で高速化したい場合は、CUDA対応のPyTorchに入れ替えます。CUDA 12.8 の場合は以下のコマンドです。
pip uninstall torch torchaudio -y
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu128
インストール後、GPUが認識されているか確認します。
python -c "import torch; print(torch.cuda.is_available())"
True と表示されればGPUが有効です。
torch と torchaudio は必ず同じバージョンで揃えてください。バージョンが合わないと起動時にエラーになります。CUDAのバージョンが異なる場合はpytorch.orgで対応するコマンドを確認してください。bash start.sh
Windows環境でbashが使えない場合は直接Pythonで起動できます。
python main.py
http://localhost:8000 を開くとUIが表示されます。
使い方
基本の流れ

- 音声・動画ファイルをドラッグ&ドロップ(複数選択可)
- バックエンド(エンジン)・モデル・言語を選択
- 「文字起こし開始」をクリック
- リアルタイムで結果が表示される
- TXT / SRT / VTT でダウンロード
便利な機能
自動開始トグル
ファイルをドロップした瞬間に文字起こしが始まります。クリック操作をひとつ省けます。
複数ファイルのキュー処理
複数ファイルをまとめてドロップすると順番に処理してくれます。放り込んでその場を離れられます。
タイムスタンプ表示
「タイムスタンプ」ボタンで [MM:SS] 形式の時刻付き表示に切り替えられます。

結果の直接編集
文字起こし結果を画面上でそのまま修正できます。固有名詞の誤変換を直してからダウンロードできます。
タスク設定(transcribe / translate)
transcribe(デフォルト)は元の言語のまま文字起こし。translate に切り替えると、英語に翻訳しながら文字起こしします。外国語の音声を英語テキストで確認したいときに便利です。
初期プロンプト
固有名詞・専門用語・話者名をあらかじめ入力しておくことで認識精度が上がります。

字幕ファイルを動画編集ソフトに読み込む
SRT / VTT 形式で出力できるので、動画編集ソフトに直接読み込めます。
- DaVinci Resolve: タイムライン上に字幕トラックとして配置
- Premiere Pro: キャプションとして読み込み・スタイル適用
- AviUtl: Aegisub経由でSRTを変換して利用
動画編集で一番時間がかかる「字幕のタイムコード付け」が自動化されるのが最大のメリットです。特にYouTubeのような長尺動画を作っている人には刺さるはずです。スマホで撮った動画をYouTubeにアップする手順についてはこちらの記事も参考にしてください。
.env で細かい設定ができる
コードを触らずに .env ファイルで動作をカスタマイズできます。
PORT=8000 # ポート番号(デフォルト: 8000)
MAX_UPLOAD_MB=500 # アップロード上限(MB)
OUTPUT_TTL=3600 # 出力ファイルの保持時間(秒)
MODEL_DIR=./models # モデルの保存先ディレクトリ
ファイルサイズの大きい動画を扱う場合や、複数人で使う場合に調整できます。
OUTPUT_TTL=3600)。ダウンロードし忘れると消えるので注意してください。保持時間を延ばしたい場合は OUTPUT_TTL の値を大きくしてください。こんな人におすすめ
向いている人
- 動画編集者・YouTuber: テロップ作成の工数を大幅削減。SRTをそのままソフトに読み込める
- ライター・記者: インタビュー音声の文字起こしが数分で終わる
- 研究者・学生: 講義録音・インタビューデータの整理に
- プライバシーを重視する人: データをクラウドに送りたくない
- 議事録担当: 会議録音を手軽にテキスト化
向いていない人
- Python / ffmpeg のセットアップが難しいと感じる人
→ クラウド系のWhisper APIサービスのほうが手軽です。Pythonのローカル環境構築に慣れておきたい場合はComfyUIのインストールガイドが参考になります
- スマホだけで完結させたい人
→ PC前提のアプリです
まとめ
Speech to Text UI は、Whisperを手軽に使えるローカルWebアプリです。
- faster-whisperは速度・品質ともに優秀。GPU環境があれば劇的に速くなる
- OpenAI公式WhisperはGPUの恩恵が薄く、CPU処理のほうが速い場合がある
- 上位モデルを使えば認識精度は十分実用的
- SRT / VTT 字幕ファイルを自動生成できるので動画編集者に特に便利
- ローカルで完結するのでプライバシーが気になる音声にも安心
- VRAMが小さい環境では大きいモデルは使いにくいので注意
- 出力ファイルはデフォルト1時間で自動削除されるのでダウンロードし忘れに注意
コマンドラインで直接Whisperを叩いている人は、一度UIに移行してみると作業効率がかなり変わると思います。
リポジトリはこちら。
⚠️ AI画像生成をご利用の際の重要な注意事項
著作権・知的財産権について
- 既存のキャラクター、作品、ブランドロゴなどの模倣・複製は著作権侵害にあたる可能性があります
- 商用利用時は特に注意が必要です
肖像権について
- 実在人物(著名人・一般人問わず)の顔や特徴を模倣した画像生成はお控えください
- 無断での肖像権使用は法的トラブルの原因となります
利用規約の確認
- 各AI画像生成サービスの利用規約を必ずご確認ください
- 商用利用の可否、生成画像の権利関係は各サービスで異なります
免責事項
- 当ブログの情報を参考にしたAI画像生成により生じた問題について、当ブログは一切の責任を負いません
- 法的問題が生じた場合は、利用者の自己責任となります
- 最新の法律・規約情報は公式情報をご確認ください
適切なAI画像生成を心がけ、創作活動を楽しみましょう。
詳細についてはAIと著作権についてをご覧ください。


コメント