# Live Captions

> 講演の声も、タブで再生中の配信も、字幕にして端末内で翻訳。Confucius4-R2T2 や Whisper は WebGPU で GPU 上で動き、Whisper は CPU でも。翻訳は Hy-MT2。

- URL: https://bytescope.dev/ja/live-captions/
- Locale: ja · Also: [en](https://bytescope.dev/en/live-captions.md) · [zh-Hant](https://bytescope.dev/zh-Hant/live-captions.md)
- Runs: 認識用の音声はブラウザの外に送信されます — ブラウザベンダーのサーバーで文字起こしされます。
- Requires: Chrome or Edge on desktop for the full tool: tab audio capture (getDisplayMedia), Chrome Speech Recognition, the built-in Translator or Gemini Nano for translation, and the floating window. Captioning a microphone with a downloaded Whisper model runs in any browser with WebGPU (Whisper base also on WebAssembly), Firefox and Safari included; captioning a stream, translating and floating still need Chromium on desktop, and mobile browsers cannot capture tab audio.
- Updated: 2026-09-08

## What it does

このページの仕事は2つ、パイプラインは1つです。音源にマイクを選べば、あなたの講演が話すそばから字幕になります。音源に「このPCで再生中の音」を選べば、観ている配信・動画・通話にリアルタイムの字幕が付きます——日本語の配信に中国語字幕を重ねたい、というのが典型です。字幕バーの上には独立した選択肢が2つあります。1つは音声認識エンジンで、話すそばから単語単位で出てくるChrome内蔵の音声認識か、一度ダウンロードして以降は端末内で動くWhisperモデル。もう1つは翻訳エンジンで、一度ダウンロードしてWebGPUでグラフィックカード上を動くHy-MT2（使えるGPUがあればこれがおすすめ）、Chrome内蔵のTranslator、Gemini Nano、または翻訳なし。文が確定するたびに、翻訳は端末内で行われます。講演ならマイク選択が壇上でこそ効きます。実際に声を拾っているピンマイクやUSBマイクはシステム既定になっていないことが多く、放っておくと数メートル先のノートPC内蔵マイクを字幕にしてしまうからです。どちらの使い方でも、ワンクリックで字幕バーをDocument Picture-in-Pictureウィンドウに切り離せます。常に最前面に居座る本物のウィンドウなので——macOSでもWindowsでも——プレゼン中は全画面のGoogleスライドやKeynote、PowerPointの上に、視聴中は全画面再生中のプレーヤーの上に浮かびます。字幕が動いている間は画面が自動で消えず、停止後は文字起こし全体をSRTかTXTで書き出せます——原文だけ、訳文だけ、両方のどれでも。

### モデル

音声認識：Confucius4-R2T2（R2T2。GPU 上で字幕を単語ごとに流し、使える GPU があれば既定）、Chrome Speech Recognition（Web Speech。ダウンロード不要で話すそばから出るが、端末内パックがなければ音声が Google に送られる）、Whisper base・Whisper small・Whisper large v3 turbo（ローカル、一文ごと。large がいちばん重い）、Qwen3-ASR 0.6B・Qwen3-ASR 1.7B（ローカル、一文ごと。0.6B が軽い方）、Gemini Nano（Chrome 内蔵）。翻訳：Hy-MT2 1.8B（Tencent Hunyuan-MT 2。GPU 上で動き、使えるグラフィックカードがあれば既定。英語・中国語・日本語の組み合わせでは、こちらのブラインド評価で Chrome Translator より好まれた）、Chrome Translator（内蔵、GPU がないときの既定）、Gemini Nano。すべてブラウザ内で動きます。R2T2・Whisper・Qwen3-ASR・Hy-MT2 は WebGPU 経由でグラフィックカード上で走り、shader-f16 のない古いカード（GTX 10 シリーズなど）向けの互換 GPU ビルド、カードが対応していれば f16 を使う高速 GPU ビルドがあり、使える GPU がなければ Whisper と Qwen3-ASR は CPU（WebAssembly）で遅めに動き、R2T2 はライブでは使わず、翻訳は Hy-MT2 から Chrome Translator に切り替わります。ダウンロード型のモデルは一度取れば ByteScope の全ツールで共用です。

### PCで再生中の音を字幕にする

再生音の取り込みは、ブラウザ自身の共有ピッカーを通ります。開始を押してタブ（またはウィンドウか画面全体）を選び、音声のチェックを入れる——この最後のチェックが肝心です。タブを共有して「タブの音声を共有」にチェックを入れるのが本命ルートです。タブの音のきれいなデジタルコピーがそのまま届くため、部屋の雑音もマイクも介在しません。そして音はその間もスピーカーから鳴り続けます——字幕化のために、観ているものが消音されることはありません。いちばん多い失敗が、タブは共有したのに音声のチェックを忘れるパターンです。ページは無音の共有を検知して知らせますが、チェックを代わりに入れることはできません。タブ音声の取り込みはChromeとEdge限定。ネイティブアプリの音（システム音声）は、WindowsとChromeOSなら以前から取り込めます。MacだけはChrome 141以降かつmacOS 14.2以降が必要——14.2より前のmacOSがアプリによるシステム音声の取得をそもそも許していなかったためで、それより古いMacでもタブ共有なら動きます。FirefoxとSafariは、画面共有の音声をページへ渡すこと自体ができません。ピッカーを経由しないルートもあります。BlackHoleやLoopbackのような仮想オーディオデバイスは、マイク一覧に普通の入力として現れるので、システム音声をそこへ流せばマイクと同じ感覚で選べます。その際は「再生音の入力」スイッチをオンにしてください。ブラウザのエコーキャンセルとノイズ抑制——生の声向けにチューニングされた、字幕にしたい音そのものを削ってしまう処理——を無効にできます。

### 音声認識エンジンはどれを選ぶか

Chrome内蔵の音声認識は、遅延がいちばん小さい選択肢です。ダウンロード不要で、文を言い終える前から単語が出てきます。端末内の言語パックが入っていれば音声は端末の外に出ませんが、入っていない場合はブラウザが音声をGoogleのサーバーへ送ります——どちらなのかはエンジンのバッジに書いてあります。Whisperは完全にローカルで動く選択肢です。base・small・large（v3-turbo）の3種類で、一度ダウンロードすればブラウザに保存されてByteScopeの全ツールで共用され、WebGPUでグラフィックカード上を動きます——Whisper baseだけはWebGPUがなくてもCPUで動きますが、目に見えて遅くなります。Whisperは文が終わるのを待ってから認識するため、字幕は単語ごとではなく一文ごとに出てきます。その代わり、1つのモデルで多くの言語を認識でき、ブラウザに求めるのはWebGPUかWebAssemblyだけです。Whisperは大きいほど正確で、その分遅くなります——largeはほとんどのノートPCがリアルタイムで追いつけないため、このページでは「その他」の中に収めています。Gemini Nanoは3つ目の選択肢で、Chromeが提供している環境なら私たちから何もダウンロードせずに使え、こちらも一文ごとに出ます。ダウンロードは必ず確認してから始まります。まだこの端末にないモデルは、容量・空き容量・モバイル回線かどうかを先に表示し、あなたが押してから始まります。ダウンロード、検証、メモリへの読み込み、ウォームアップの各段階に進捗が出て、「速度テスト」は内蔵の短い音声を実際にエンジンへ通し、本番前にこのPCが追いつけるかを教えてくれます。おすすめの選択肢には一行の理由が付き、自分で選び直した内容はツールごとに記憶されます。

### 字幕はなぜ遅れるのか、ページはそれをどう測るか

リアルタイム字幕は必ず声より遅れます。このページは、遅れていないふりをするより、どれだけ遅れているかを見せる方を選びます。遅延は3段階の合計です。一文ごとに処理するエンジン——WhisperとGemini Nano——は、間が空いて「文が終わった」と判断してから認識を始めるので、長い文はその長さの分だけ遅れます。次にエンジンが処理する時間がかかり、それが文の長さより長ければ待ち行列が伸びて、字幕は一文ごとに前より遅くなります。最後に翻訳エンジンが一文ごとに自分の時間を使います。ページは音声が入った時刻と字幕が出た時刻を記録し、その差を字幕バーの隅の小さなランプで示します。遅れが3秒以内なら緑、3〜8秒なら黄色、遅れが増え続けているなら赤——赤は「遅い」ではなく「追いついていない」という意味です。赤が20秒続くと、軽いモデルへの切り替えを提案します。勝手に切り替えることはありません。待ち行列があふれたときは、何分も遅れて出すのではなく文を捨て、字幕バーに「何文飛ばしたか」を表示します。黙って捨てることはしません。ストリーミング型のエンジンは2つあり、どちらも1段階目の遅延がそもそもありません。使える GPU があるときの既定である Confucius4-R2T2 と、ダウンロード不要の Chrome 内蔵の音声認識です。話しているそばから単語が出るので、正確さより遅延が大事な場面ではこの2つがおすすめになります。

### 音声はどこへ行くのか

このサイトは普段「何もブラウザの外に出ない」と約束していますが、このページではそれが選んだエンジンで決まります。Whisperモデルなら約束はそのまま成り立ちます。音声はタブの中で文字になり、どこへも出ません。Chrome内蔵の音声認識では、既定は今もクラウド認識です。音声はChromeならGoogleの、EdgeならMicrosoftのサーバーへアップロードされて処理されます——ブラウザ自身の音声入力と同じ経路で、この経路を使っている間、アップロードは事実です。配信を字幕にするなら、この経路の重みはさらに増します。アップロードされるのが自分の声ではなく、他人の音声——観ている動画や、通話の相手——になるからです。Chrome 139からは端末内の経路もあります。ページが`SpeechRecognition`にローカルモデルの有無を問い合わせ（`processLocally`）、言語パックを一度インストールした後は、認識はあなたの端末の中で完結します。ただし全言語にローカルモデルがあるわけではなく、使えるかどうかは端末やOSで変わります。だからこのページは実行時に確認して、いまどちらの経路で動いているかをエンジンのバッジに表示します。翻訳側はどれを選んでも端末内です——Hy-MT2は一度ダウンロードしてグラフィックカード上で動き、ChromeのTranslatorは言語パックを一度ダウンロードするだけ、Gemini NanoはChrome自身の内蔵モデルで、いずれも文を外へ送りません。クラウド認識を残してあるのは意図的です。登壇の数分前に、モデルのダウンロード待ちで足止めされるべきではないからです。社内ロードマップや顧客の数字など内容が機密なら——あるいはその音声がそもそも自分のものでないなら——Whisperか端末内の経路を選び、始める前にバッジを確かめてください。

### なぜ話す言語を自分で選ぶのか

言語の自動検出はありません。意図的にそうしています。音声認識は、聞き取る言語を開始前に指定する必要があります。ブラウザ内で確実に自動判定する方法は存在せず、推測させると出てくるのは自信満々の意味不明な字幕——「わからない」と言う代わりに、声を間違った言語の単語へ強引に当てはめた結果です。だからどのエンジンを選んでも、話される言語は手動選択です。講演なら、登壇前に確認する価値のある唯一の設定。配信を字幕にするなら、選ぶのは「動画の中で話されている言語」であって、自分が読みたい言語ではありません——日本語の配信を英語設定で認識させると、エラーではなく流暢なデタラメが出てきます。翻訳先は別途選び、途中でも入れ替えられます。

### 全画面より上に出るウィンドウ

浮かぶ字幕が使っているのは`documentPictureInPicture`——フローティング動画と同じ「常に最前面」の仕組みに、動画ではなくドキュメントを丸ごと載せたものです。このウィンドウはOSのコンポジターが常に最前面へ保つため、KeynoteもPowerPointもGoogleスライドも、そして全画面の動画プレーヤーも、画面を占有したところで字幕バーの下になります。プレゼンでは翻訳をスライドの上に保ち、視聴では浮かぶ字幕を全画面配信の「本物の字幕」に変える——両方の使い方を支えているのが、この仕組みです。要件も正直に書いておきます。タブや画面の音声の取り込みができるのは、デスクトップのChromiumブラウザ（ChromeかEdge）だけ。Chrome内蔵の音声認識、内蔵のTranslator（Chrome 138以降）、端末内の音声認識（Chrome 139以降）、Gemini Nano、フローティングウィンドウ（ChromeまたはEdge 116以降）も同様です。Macでのシステム音声の取り込みには、さらにChrome 141以降かつmacOS 14.2以降が要ります（WindowsとChromeOSにこの制限はありません）。例外はマイクをWhisperで字幕にする場合と、Hy-MT2で翻訳する場合です。どちらもWebGPUがあればどこでも動き（WhisperはWebAssemblyでも）、FirefoxやSafariでも、自分の声を端末内で字幕にしてHy-MT2で訳すだけならChromeは要りません——配信を字幕にする、結果を浮かべる、となるとやはり必要です。足りない環境ではできるふりをせず、字幕のみ、フローティングではなくページ内の字幕、あるいは何が足りないかを示す対応表へ、正直に切り替わります。

## Limits

Does not save recordings or produce a subtitle file for an existing video (use video-subtitles); it captions live audio — your microphone or a tab you share — on screen, and exports that transcript as SRT/TXT afterwards.

## FAQ

### 話す言語の自動検出はないのですか？

ありません。ブラウザ内で言語を確実に自動判定する方法が存在しないからです。ここにあるエンジンはどれも——Chrome内蔵の音声認識もWhisperも——開始前に言語の指定を必要とし、推測させると認識器は「わからない」と言う代わりに、間違った言語へ強引に当てはめた意味不明の字幕を量産します。講演で話す言語は最初からわかっているはずなので、開始前に一度だけ手で選んで確認するほうが、本番の壇上で壊れる自動検出よりずっと誠実な設計です。

### 観ている動画や配信を字幕にするには？

音源をマイクから「このPCで再生中の音」に切り替えると、ブラウザの共有ピッカーが開きます。本命は、動画が再生されているタブを選んで「タブの音声を共有」にチェックを入れる方法です。タブの音のきれいなデジタルコピーが届くので部屋の雑音は入らず、音はそのまま鳴り続けます——消音されることはありません。「話される言語」を配信の言語に合わせ、翻訳先を選んだら、フローティングウィンドウを切り離して全画面プレーヤーの上に載せれば完成です。対応状況は2行で足ります。タブ音声はChromeとEdgeのみ。ネイティブアプリの音（システム音声）はWindowsとChromeOSなら普通に取り込めますが、MacではChrome 141以降かつmacOS 14.2以降が必要——古いMacでも、配信をタブで開いてそのタブを共有すれば動きます。FirefoxとSafariは、画面共有の音声をページへ一切渡せません。

### タブを共有したのに字幕が出ません。何が悪いのでしょうか？

ほぼ間違いなく、音声のチェックボックスです。ブラウザの共有ピッカーは音声を「別途同意するもの」として扱うため、「タブの音声を共有」にチェックを入れないと、ページには完全に正常で、完全に無音のストリームが渡ります——この音源でいちばん多い失敗です。ページは無音を検知してその旨を表示するので、空の字幕バーを眺め続けることにはなりませんが、チェックを代わりに入れることはできません。共有を止めて、もう一度共有し直し、今度はチェックを入れてください。そもそも音声の選択肢が出ない場合は、その組み合わせでは音を渡せない環境です。ウィンドウや画面全体の共有はタブ共有より音声を運べる構成が少なく、Macの場合、システム音声にはChrome 141以降かつmacOS 14.2以降が必要です。

### 音声認識モデルはどれを選べばいいですか？

いちばん大事にしたいことから決めてください。使えるGPUがあるなら、英語・中国語・日本語の既定は Confucius4-R2T2 です。話すそばから字幕が流れ出ます。ただし、この端末での速度テストで追いつけないと出た場合は外れます。使えるGPUがないなら、遅延がいちばん小さいのは Chrome内蔵の音声認識です。ダウンロード不要で話すそばから単語が出てくるので、使える環境ならこれがおすすめになります。例外は中国語と英語で、ダウンロード済みの R2T2 が速度テストで追いつけると出ていれば、そちらが先です。Chromeに頼らずプライバシーを守りたいなら、Whisperです。一度ダウンロードしてタブの中でWebGPUを使って動き、何もアップロードせず、WebGPUかWebAssemblyのあるブラウザならどれでも動きます。Whisperの中では、baseが小さくて速く、CPUでも動く方。smallはグラフィックカードのあるノートPCでリアルタイム字幕に使う定番。large（v3-turbo）はいちばん正確でいちばん遅く、ほとんどの端末がリアルタイムで追いつけないため、ここでは「その他」に収めています。Gemini Nanoは、Chromeが提供している環境で使えるダウンロード不要のローカルな選択肢です。迷ったらカードの「速度テスト」を押してください。内蔵の短い音声を実際に流して、このPCが追いつけるかを答えてくれます。一般論のどんな助言よりも確かな答えです。

### 字幕が数秒遅れて出てくるのはなぜですか？

3つある遅延のうち2つが、エンジンの仕組みそのものに由来するからです。一文ごとに処理するエンジン——Whisper、Gemini Nano——は、間が空くまで「文が終わった」と判断できないので、長い文はその長さの分だけ遅れます。次に認識にかかる時間、その次に翻訳エンジンにかかる時間が加わります。追いつけている端末なら合計で2〜3秒程度。追いつけていない端末では待ち行列が伸びて、字幕は一文ごとに前より遅くなります。字幕バーの隅のランプがその測定値です。3秒以内なら緑、8秒までは黄色、遅れが増え続けているなら赤。赤のままなら、軽いモデルへ——Whisper baseか、文の終わりを待たずに話すそばから単語を出すChrome内蔵の音声認識へ切り替えてください。赤が20秒続くとページから提案しますが、勝手に切り替えることはありません。追いつくために文を捨てざるを得ないときは、隠さずに何文飛ばしたかを表示します。

### 音声は端末内で処理されますか？それともアップロードされますか？

エンジン次第で、どちらなのかはエンジンカードのバッジに書いてあります。Whisperモデルならどれでも、音声はタブの中で文字になり、どこへも出ません。Chrome内蔵の音声認識では既定がクラウド認識で、この場合、音声は本当にアップロードされます。ChromeはGoogleの、EdgeはMicrosoftのサーバーへ送って処理する——この経路を使っている間は、他のクラウド文字起こしサービスと同じものとして扱ってください。実際そういうものだからです。配信を字幕にしているなら、なおさらです。アップロードされるのが自分の声ではなく、他人の音声——観ている動画や、通話の相手——になるからです。Chrome 139からは、このエンジンの中にも逃げ道があります。端末内認識に切り替えると、ブラウザが言語パックを一度インストールし、以降の認識は完全に端末内（`processLocally`）です。ただし全言語にローカルモデルがあるわけではなく、使えるかどうかは環境次第なので、ページが実行時に確認して現在の経路をラベルで示します。翻訳はどちらの翻訳エンジンでも端末内です。機密なら、Whisperか端末内の経路を選び、話し始める前にバッジを確かめてください。

### モデルのダウンロードはどれくらいの容量ですか？毎回必要ですか？

エンジンによりますが、数字を見る前にダウンロードが始まることはありません。ChromeのTranslatorは言語ペアあたり数十MB程度の言語パックを取り、ブラウザがキャッシュして、次回以降のセッションでも同じペアを使う他のサイトでも再利用します。Whisperモデルはもっと大きく、確認ダイアログが正確な容量、このPCの空き容量、モバイル回線かどうかを先に表示して、あなたが押してから始まります。ダウンロードは一時停止でき、次回は止まったところから続きます。終わればブラウザに1つだけ保存され、ByteScopeの全ツールで共用されます。選択肢の下の「ダウンロード済みモデルの管理」で、この端末にあるモデルの一覧と削除ができます。Chrome内蔵の音声認識の端末内言語パックも一度きりのダウンロードですが、1つだけ違いがあります。こちらは進捗が取れないため、ページは「準備中」としか表示できません。会場のWi-Fiは当てにならないものなので、登壇前に一度ページを開いてエンジンを選び、ダウンロードを済ませておくのがおすすめです。

### 全画面のスライドの上に、なぜブラウザのウィンドウが出せるのですか？

普通のウィンドウではないからです。Document Picture-in-Pictureのウィンドウは、フローティング動画が何の上にも表示され続けるのと同じ仕組みで、ブラウザとOSのコンポジターが常に最前面へ保ちます。全画面のKeynote、PowerPoint、Googleスライドの上でも同じで、macOSとWindowsの両方で動きます。字幕の定位置までドラッグして、普通のウィンドウと同じようにサイズを調整してください。マイクと認識は元のタブ側で動いているので、プレゼンにフォーカスが移っても字幕は流れ続けます。

### SafariやFirefoxでも使えますか？

一部は使えます。どの部分かはページが示します。WhisperはWebGPUかWebAssemblyがあればどこでも動くので、ローカルのWhisperモデルで自分のマイクを字幕にするだけなら、FirefoxでもSafariでもChromeと同じように動きます。翻訳のHy-MT2も同じです。一度ダウンロードしてグラフィックカード上で動くので、WebGPUのあるブラウザならどれでも使えます。このページの残りはすべてChromium限定です。タブや画面の音声の取り込み——FirefoxもSafariも、画面共有の音声をページへ渡すこと自体ができません——、Chrome内蔵の音声認識、内蔵のTranslatorとGemini Nano、そして全画面アプリの上に浮かぶDocument Picture-in-Pictureウィンドウです。つまりこの2つのブラウザでは、自分が話した内容のローカル字幕がページ内に出て、使えるGPUがあればHy-MT2で訳せますが、配信の字幕化も、内蔵の翻訳エンジンも、フローティングウィンドウもありません。対応表が何が足りないかを具体的に示し、黙って失敗することはありません。配信を字幕にするなら、デスクトップのChromeかEdgeを。内蔵のTranslatorにはChrome 138以降、Chrome内蔵の音声認識を端末内で動かすなら139以降です。

### 原文を隠して、翻訳だけを表示できますか？

できます。字幕バーには表示の切り替えがあり、原文のみ・翻訳のみ・両方の3択です。聴衆があなたの言語を解さないなら翻訳のみが定番で、バーの面積を丸ごと大きな文字に使えます。注意点は1つだけ。翻訳エンジンを「翻訳なし」にしているとき、あるいは翻訳エンジンのないブラウザでは、翻訳のみに表示するものがないため、空白のバーを出す代わりに原文の字幕へフォールバックします。

### システム既定ではないマイクを字幕にできますか？

できます。ページはブラウザから見えるマイクを一覧にして、どの入力を字幕にするかを選ばせてくれます。壇上ではこれが細部ではありません。実際に声を拾っているのはピンマイクやUSBオーディオインターフェイスで、システム既定になっていないことが多い——そのままだと、数メートル離れたノートPCの内蔵マイクを字幕にすることになり、出てくるのは想像どおりの崩れた文字列です。デバイスを明示的に選び、テストで一文話して、聴衆より先に字幕を確かめておいてください。なお、この一覧にはBlackHoleやLoopbackのような仮想オーディオデバイスも普通の入力として現れます。システム音声をそこへ流して選べば画面共有なしで再生音を字幕にできますが、その場合は「再生音の入力」スイッチをオンにして、生の声向けのエコーキャンセルとノイズ抑制が字幕にしたい音を削らないようにしてください。

## Related tools

- [Mic Test](https://bytescope.dev/ja/mic-test.md) — 登壇する前に、字幕が聞き取るマイクをチェックしましょう。
- [Subtitle Converter](https://bytescope.dev/ja/subtitle-converter.md) — フォーマット変換（SRT、VTT、ASS、SBV）および文字化けの修復。
- [Screen Recorder](https://bytescope.dev/ja/screen-recorder.md) — 画面と音声をブラウザだけで録画。
