Subtitle Edit + LM Studio + Qwen3で字幕翻訳してみた。結論:用途が違う。

Whisper + LM Studio + Qwen3で字幕翻訳してみた。結論:用途が違う。 HowTo

字幕翻訳という作業は、長い間「根気の仕事」だった。
音声を聞き取り、文字起こしし、翻訳し、タイミングを合わせて整える。作業量も手間も膨大で、個人が気軽にやるにはあまりにも重たい工程だ。

ところが最近、状況が様変わりしている。

Whisperで高精度な文字起こしができ、LM StudioでローカルLLMで翻訳ができる。そしてSubtitle Editがその全体をつないでくれる。
もはや「字幕作りは専門作業」という前提が崩れつつある。

では――実際どこまで使えるのか?
そして、DeepLのような完成度の高い翻訳と比べて何が違うのか?

今回は速度重視で、約37分・929行の字幕をWhisper × LM Studio × Qwen3で翻訳してみた。
結論から言うと、これは単なる「翻訳」ではなく、用途が変わるタイプのAIだった。

実験フロー(何をどうやったか)

今回のテーマは速度×実用性×精度
機能紹介ではなく、実際に使ったときどう感じるかを優先した。

対象は英語の対談動画。尺は約37分。音声の録音環境は良好だ。

検証環境

  • Windows11
  • Intel core i7 8700
  • MEM 32GB
  • NVIDIA RTX3060 12GB

Subtitle Edit のバージョンは、4.0.14。

CUDAの動作設定から、Whisperやビデオプレイヤーのインストールまで自動でやってくれる。
超楽ちん。

ワークフローはシンプルで、以下の4ステップ。


① Whisperで文字起こし(自動)

音声認識はWhisper(English)
精度はかなり高く、発音の癖や笑い声が入り込んだ場面でも迷わない。

👇 個人的に驚いたポイント

  • fill words(Uh/Yeah/You know?)も拾う
  • 文の途切れ位置が自然(編集しやすい)

文字起こしが完了すると、セリフがタイムラインにのる(英語)。

メニュー[ビデオ] -> [Audio to text] で ”Choose Langage” を English に設定して、”Genetate”ボタンを推して待つだけ。
メニュー[ビデオ] -> [Audio to text] で ”Choose Langage” を English に設定して、”Genetate”ボタンを推して待つだけ。

10分くらいで文字起こしが完了した。


② Subtitle Edit(SE)に読み込み

文字起こしが完了したら、いよいよ自動翻訳。

まずは、LLMを指定する。
メニュー [オプション] -> [設定] -> [Auto-transtale]

Subtitle Edit の[Auto-transrate]の設定画面。
Subtitle Edit の[Auto-transrate]の設定画面。

LM Studio を起動して、モデルは事前にロードしておこう。モデル名を指定してロードはできない。
今回は Qwen3-VL-4B を使用。

ChatGPT AIのURLの欄に、自分の環境のエンドポイントを設定しよう。
デフォルト値:
https://api.openai.com/v1/chat/completions
私の環境:
http://192.168.1.140:1234

“model”の選択肢に該当はないので、”gpt-oss-120b”をとりあえず指定しておく。

LM Studioの開発者メニューでモデルを事前にロードしておこう。Context長は10000でテスト。
LM Studioの開発者メニューでモデルを事前にロードしておこう。Context長は10000でテスト。

設定ができたら、

メニュー [自動翻訳] -> [Auto transtale]

左に文字起こしのデータが表示される。

右下の [詳細設定]ボタンを押す。

[Line merge] を “Default“から”Transrate each line separately”に変更。

ここ重要。
Defaultの挙動では、Chatのセッションが維持されて高速だが、
長時間の字幕相手の翻訳では、まず間違いなく Context Overflow でエラー落ちする。

Transrate each line separately は低速だが、毎回 Context をフラッシュするから、完走できる。

[Delay in seconds between server calls] 5から10くらいに変更(環境依存)。
ここが0だと、翻訳開始直後、LM Studioの準備ができるまえにリクエストが飛んで、最初の数行の翻訳がスキップされたりした。

[Prompt for LM Studio(Local LLM)] のプロンプトの変更。
気休めだが、機械翻訳でないLLMは余計なことを言ってしまいがちなのを防ぐ目的。

Before:

Translate from {0} to {1}, keep punctuation as input, do not censor the translation, give only the output without comments:

After:

You are a subtitle translation engine. Translate the following text from {0} to {1}.
Keep timestamps and formatting unchanged. Translate only the spoken content.
Do not add explanations or extra text. Output must be SRT-compatible.

  • 「余計なコメント禁止」は翻訳LLMにとって必須
  • SRT互換を明示 → 改行や数字乱れを防ぐ
  • モデルが暴走して書き換える行動を止められる

設定が終わったら、Auto-transrate の画面に戻って、[翻訳]ボタンを押そう。

以上が長時間翻訳を完走させるためのポイント。


③ LM Studio + Qwen3(ローカルLLMで翻訳)

今回は「安定完走優先モード」。
行ごとに文脈を切り、毎回新規セッションで翻訳することで、
処理速度は落ちるが、コンテキスト溢れによる停止を回避できた。

結果、平均処理速度は1行 5〜10秒
無視できる誤訳はあったが、意味が崩れるレベルではない


④ 動画に適用(確認)

翻訳SRTを読み込み、動画と並べてチェック。
字幕の違和感が出るポイントだけ微調整。

体感では、誤訳や不自然さより「話者のクセ」が目立つ程度だった。


結果(完走)

✔ 929行:4時間23分で完走
✔ 処理中のエラー・停止なし
✔ 文脈引きずりバグなし
✔ 翻訳傾向:砕けた口語表現に強い

例:
🇺🇸 You know what I mean?
🇨🇳 → 你知道意味ですか?
🇯🇵 → 分かる?(意味的には合ってる)

「中国語が顔を出すクセ」は最後まで残ったが、意味は毎回正しい
つまり、Qwenは「多言語モデルとしての自然さ」がそのまま姿を見せている印象。

今回採用した設定は、いわば「安全運転モード」だ。
1行ごとに新しいセッションとして翻訳させ、Delayを5秒置くことで、
Qwen側の負荷・キュー詰まりを避けた。

その結果、処理速度は落ちたものの、929行すべて4時間23分で完走。
止まらないことが最大の成果だった。


後日談

Subtilte Edit には、自動文字起こし後にテキスト整形を行う様々な機能が搭載されている。
中でも、絶対に適用すべきもの。

★[ツール]->[短い行の結合]

これをやると、間で区切られていた発言をワンセンテンスにまとめてくれる。
これを実行したら、929行->738行に大幅減少!
今回の仕組みのように、リクエスト数に処理時間が律速となるケースでは、処理時間が比例値で減少するはずなので、これはとても大きい。恐らく、1時間近く時間短縮できるはず。※未検証

おまけに字幕も見やすくなるから、翻訳適用前に絶対にやっておくべき

DeepLを使った方が早い。でも、この方法には価値がある。

今回の検証を通してわかったことはシンプルだ。

字幕翻訳だけが目的なら、DeepLのほうが圧倒的に速く、精度も高い。
API Proなら数分で完了し、コストもプロ業務として考えれば十分現実的だ。
大量字幕や商用翻訳の現場では、DeepLが選ばれる理由は明確だった。

しかし、今回のWhisper × LM Studio × Qwen3方式には、速度とは別軸の価値がある。


1. 完全ローカルで処理できる安心感

社内研修動画、研究資料、未公開映像、家族のホームビデオ──
外部に送れない字幕は世の中に意外と多い。

ローカルLLMなら、一文字たりとも外に出さず翻訳まで完結する。


2. 翻訳ではなく“表現”ができる

DeepLは原文に忠実で、美しい翻訳をする。
一方Qwen3は、口語・癖・感情表現が得意だ。

You know what I mean?
→ 「分かる?」
→ 「分かってるよな?」
「な?言わんでも分かるやろ」

翻訳というより、字幕として読ませるための最適化ができる。


🛠 3. カスタマイズできる余地がある

  • 関西弁
  • VTuber字幕風
  • 子供向け語彙制限
  • 親しみ口調
  • レビュー調・漫画ノリ

DeepLは翻訳のゴールが「原文の意図理解」だが、
ローカルLLMはゴールを自由に変えられる。


結論

DeepLは翻訳を終わらせる道具。
ローカルLLMは字幕を“作る”ための道具。

今回の方法は最速ではない。
4時間23分という数字は、今のGPUでは効率的とは言えない。

けれど、人が関与せずに929行を完走したという事実は大きい。

字幕制作は、ようやく
「作業」から「工程」へ変わり始めている。

そして今後、GPUが強くなり、モデルが洗練されれば──
この“ローカル字幕翻訳パイプライン”は、確実に選択肢になる。


最後に

字幕翻訳は、もう“職人作業”でも“大規模予算プロジェクト”でもない。
  ローカル環境と少しの工夫で、誰でも自動化できる時代になった。

「とりあえず試すだけならDeepLでいい。
でも、手元だけで完結させたいなら、この方法が答えだ。」

番外── 関西弁の翻訳はどうだった?

今回の検証では、遊び心として字幕を関西弁で生成できるかも試してみた。

結論から言うと――

できる。しかもモデルによって性格が出る。

Qwen は終始まじめだった。
丁寧で、誤訳が少なく、場の空気を乱さない。
それはそれで立派だが、求められていないのに敬語で返すタイプだ。
まぁ、期待したような”関西弁”は喋らない。

一方、GPT-OSSは違った。

台本を読んでいるのではなく、
「喋っている。」

たとえば:

英語原文QwenGPT-OSS
You’re my literal podcast bro now.いまや君は文字通り僕のポッドキャストの相棒だ。おまえ、これから俺のポッドキャスト仲間になるな。
Leave that in, please.それはそのまま入れてください。それ、いれておいてくれんね?

精度という意味では Qwen が上。
しかし、感情と温度という視点では GPT-OSSに軍配が上がる。

この違いは、面白い示唆をくれる。

いまや翻訳は「正確さ」だけではなく、
“表現を選べる時代”に入った。

字幕に必要なのが厳密さなのか、
それとも雰囲気・文化・声のニュアンスなのか。

用途によって、選ぶべきモデルも変わる。


そして気づく。

字幕翻訳は、もう
“機械がやる単純作業”ではない。

雰囲気を引き受け、
声色を残し、
文化の温度をそのまま伝える作業だ。

言い換えれば、

翻訳がツールから、表現の選択肢になった。

その自由度こそ、
ローカルLLMとSubtitle Editの組み合わせが持つ、
最大の価値なのかもしれない。

「言語は変わっても、話者の人格は守る。」それを機械がやり始めている。