ByteScope

Video Subtitles

ローカルの Whisper か Chrome 内蔵の Gemini Nano が録音を SRT や VTT にします。対訳も出せて、ファイルはこのタブから出ません。

ファイルはブラウザから送信されません — 処理はすべてローカルで行われます。

動画か音声をドロップしてください。Chrome 内蔵の Gemini Nano がこのタブで書き起こします。ファイルはアップロードしません。

このマシンで初めて使うとき、端末内の Nano モデル(しばしば数 GB)をダウンロードすることがあります。それはモデルであり、あなたの録音ではありません。下の進捗はブラウザ自身の `downloadprogress` で、こちらが作った数字ではありません。

動画または音声ファイルをドロップ

mp4、webm、mov、mp3、wav、m4a — クリックして選んでも可

音声認識
すべてのモデルを比較

文字起こしのあと、単語ごとに音声と突き合わせて、字幕の出だしと終わりを話している位置にぴったり合わせます。最初はオフです。初めて使うときは位置合わせ用のモデルをダウンロードします。

翻訳
すべてのモデルを比較

ブラウザ対応

書き起こしは Chrome の Prompt API に音声を渡します。Firefox と Safari にはありません。Edge は Chromium ですが、この列は実測したことだけを書きます。

機能ChromeEdgeFirefoxSafari
Prompt API(`LanguageModel`)ウェブの Prompt API は Chrome 148 から。138 は拡張機能専用。Edge は未測定。✓可◐一部 / 未測定✗不可✗不可
音声のマルチモーダル prompt`expectedInputs: [{ type: "audio" }]` が必要です。API は Chrome 148 以降にあります。このマシンではハードウェアやモデル未取得で unavailable と出ることがあります。その場合 Whisper への逃げ道はありません。Edge は未測定。✓可◐一部 / 未測定✗不可✗不可
タブ内での音声デコードAudioContext / OfflineAudioContext。Window 限定なのでデコード自体は worker に出せません。モノラル化とリサンプルは worker です。✓可✓可✓可✓可
翻訳モデル任意。Chrome 内蔵の翻訳、Gemini Nano、またはダウンロードしたモデル。既定では翻訳しません。◐一部 / 未測定◐一部 / 未測定✗不可✗不可
ファイルに対する Chrome の音声認識ファイルをリアルタイムで再生しながら聞き取るので、ファイルと同じ時間がかかります。SpeechRecognition.start(track) がある環境(Chrome 135+)でのみ確認済みです。◐一部 / 未測定◐一部 / 未測定✗不可✗不可

今このブラウザ

  • LanguageModel …
  • LanguageModel audio …
  • AudioContext.decodeAudioData …

このツールについて

授業や会議の録音を、クラウドの音声認識に渡したくないことがあります。動画か音声をドロップすると、選んだ音声認識エンジンがこのタブで書き起こします。Whisper モデル——base・small・large(v3-turbo)の3種類で、一度ダウンロードすればブラウザに保存され、WebGPU でグラフィックカード上を動きます——か、Chrome 内蔵の Gemini Nano(Prompt API 経由、こちらからのダウンロードなし)のどちらかです。もう1つ、独立した翻訳の選択肢があります。一度ダウンロードして WebGPU でグラフィックカード上を動く Hy-MT2、Chrome 内蔵の Translator、Gemini Nano のいずれも端末内で動くので、同じ1回の処理で対訳字幕まで作れます。出力は SRT、VTT、またはプレーンテキストで、ダウンロード前に時刻を少し直せる表があります。形式変換は Subtitle Converter、全体のずれは Subtitle Sync が隣にあります。

モデル

音声認識:Whisper base(軽くて速く、CPU でも動く)、Whisper small(ふだんの中間)、Whisper large v3 turbo(使えるグラフィックカードがあるなら、英語・中国語・日本語のファイルはたいていこれ)、Qwen3-ASR 0.6B(GPU がないときはたいていこれ)、Qwen3-ASR 1.7B(大きい方の Qwen3-ASR)、Confucius4-R2T2(R2T2。GPU 上で認識したそばから単語を流すモデル)、Gemini Nano(Chrome 内蔵、こちらからのダウンロードなし)、Chrome Speech Recognition(Web Speech。再生速度でしか聞けず、端末内パックがなければ音声が Google に送られる)。正確なタイムスタンプ:Qwen3-ForcedAligner 0.6B——任意、既定はオフ、約 1.85 GB。仕上がった文字起こしを単語ごと・文字ごとに音声へ合わせます。翻訳:Hy-MT2 1.8B(Tencent Hunyuan-MT 2。GPU 上で動き、使えるグラフィックカードがあれば既定)、Chrome Translator(内蔵、GPU がないときの既定)、Gemini Nano。どれもブラウザ内で動きます。Whisper・Qwen3-ASR・R2T2・Hy-MT2・ForcedAligner は WebGPU 経由でグラフィックカード上で走り、shader-f16 のない古いカード(GTX 10 シリーズなど)向けの互換 GPU ビルド、カードが対応していれば f16 を使う高速 GPU ビルドがあり、使える GPU がなければ Whisper・Qwen3-ASR・ForcedAligner は CPU(WebAssembly)で遅めに動き、R2T2 は GPU 向けのままで、翻訳は Hy-MT2 から Chrome Translator に切り替わります。一度ダウンロードすれば ByteScope の全ツールで共用です。

どのモデルを選ぶか

ファイルを処理するなら、英語・中国語・日本語のおすすめは私たちの精度測定で決めています。使えるGPUがあればたいてい Whisper large(v3-turbo)、なければたいてい Qwen3-ASR 0.6B で、同じくらい正確なら、もうダウンロードしてあるモデルが優先されます。ダウンロードしたモデルは録音全体をこの端末が出せる最速で処理し、1回のダウンロードを ByteScope の全ツールで共用します。Whisper の3つのサイズは速さと正確さのトレードオフで、base は小さくて速く、WebGPU がなくても CPU で(ゆっくり)動きます。small はその中間、large(v3-turbo)はいちばん重いモデルで、GPU があれば base や small より正確でもあります。Gemini Nano は Chrome が提供している環境ならダウンロード不要で、音声を30秒の窓に切って一つずつモデルへ渡します。Chrome 内蔵の音声認識も一覧にありますが、カードに正直な但し書きが付きます。再生速度でしか聞けないので1時間の動画には1時間かかり、既定モードでは音声が Google のサーバーへ送られます。ダウンロードは必ず確認してから始まります。まだこの端末にないモデルは、容量・空き容量・モバイル回線かどうかを先に表示し、あなたが押してから始まります。ダウンロード、検証、メモリへの読み込み、ウォームアップの各段階に進捗が出て、「速度テスト」は内蔵の短い音声を流し、この端末なら1時間の音声にどれくらいかかるかの目安を出します。おすすめには一行の理由が付き、自分で選び直した内容は記憶されます。どのモデルを選んでも、「精密な時刻」(既定はオフ)を入れると、できあがった文字起こしに対して2つ目のローカルモデル Qwen3-ForcedAligner 0.6B が音声との位置合わせを行います。英語は単語ごと、中国語と日本語は文字ごとに音声へ合わせるので、各字幕が実際に話された位置で始まり終わり、6秒前後を超える字幕は単語の切れ目で分割されます。約1.85 GBの追加ダウンロードが1回だけ必要で(ほかのモデルと同じく必ず確認してから)、GPUがあればそこで、なければCPUでかなり遅く動きます。中国語・英語・日本語は完全対応、ヨーロッパの数言語は部分対応、韓国語は非対応です。音声と照合できなかった文は、音声認識モデルの時刻のまま残ります。

音がモデルに届くまで

音軌は AudioContext / OfflineAudioContext でデコードします。Web Audio は Window 限定なので、この工程は worker に出せません(コーデック自体はブラウザが専用スレッドで回します。デコードは 16 kHz を要求し、そのレートでコンテキストが作れないときは worker がリサンプルします。コンテナ内の最初の音声トラックだけをデコードします)。モノラル化とリサンプルは worker です。そのうえで音声の窓をエンジンに一つずつ渡します。長いファイルで文脈を埋めないためです。Whisper のダウンロード進捗はこのページ自身が測ったものです。Gemini Nano はこのマシンで初めて使うときに端末内モデル(しばしば数 GB)のダウンロードが走り、そちらの進捗はブラウザ自身の downloadprogress です。映像に字幕を焼き込むのは v1 ではやりません。ffmpeg.wasm を足す理由が、まだ検証できていないからです。

対訳字幕

翻訳の選択肢で翻訳先の言語を選ぶと、書き起こしの後に各 cue が端末内で訳され、対訳の SRT / VTT(原文が上か訳文が上かは選択式)か、訳文のみとして書き出されます。Hy-MT2 は一度だけダウンロード(約 1.3 GB)して WebGPU でグラフィックカード上を動く 1.8B のモデルで、使える GPU があればこれがおすすめです——こちらのブラインド比較で精度が上でした。Chrome の Translator は言語ペアごとに小さな言語パックを取る速い方で、使える GPU がないときの既定です。Gemini Nano は大きめの内蔵モデルで cue あたりは遅めです。選択肢を「翻訳なし」のままにすれば、翻訳のパイプラインは一切動きません。

できないこと

Whisper は WebGPU か WebAssembly があればどこでも動くので、書き起こし自体は Chrome に縛られません。Gemini Nano、Chrome 内蔵の音声認識、内蔵の翻訳エンジン2つは Chrome 限定で、Firefox と Safari にはありません。翻訳の Hy-MT2 は Whisper と同じく、WebGPU のあるブラウザならどれでも動きます。Edge は Chromium ですが、このページは測ったことだけを書きます。Nano はモデルが受け付けるハードウェアも要り、unavailable は普通の答えであって不具合ではありません。クラウドへの逃げ道もありません——唯一の例外は Chrome 内蔵の音声認識の既定モードで、これはもともとクラウドのサービスで、カードにもそう書いてあります。書き起こしの質は、そのクリップ上で選んだモデルそのものです。抜けや時刻のずれは表で直し、全体が同じだけ遅れているなら Subtitle Sync へ渡します。

よくある質問

動画や音声はアップロードされますか。

されません。ただし明記された例外が1つあります。デコード、分割、Whisper や Prompt API の呼び出しはすべてこのタブです。通信があるのは、このマシンが初めてモデルを取るときだけで、録音はそのリクエストに乗りません。例外は Chrome 内蔵の音声認識の既定モードで、音声を Google のサーバーへ送ります。カードにそのバッジが付いていて、Whisper か Gemini Nano を選べば完全に避けられます。

どのモデルを選べばいいですか。

英語・中国語・日本語なら、おすすめの印が付いたモデルを選べば大丈夫です。使えるGPUがあればたいてい Whisper large(v3-turbo)、なければたいてい Qwen3-ASR 0.6B。ただし日本語で Qwen3-ASR 1.7B をダウンロード済みなら、そちらが優先されます。測定で精度が並んだモデルが複数あるときは、この端末にすでにあるものが選ばれます。ダウンロードを省くためであって、並んだ他のモデルより正確だからではありません。ほかの言語なら Whisper small。1回のダウンロードでグラフィックカード上を動き、多くの言語で精度が良好です。この端末に WebGPU がない、あるいはファイルが短くてとにかく速く結果が欲しいなら Whisper base。CPU でも動きますが遅くなります。時間より正確さが大事なら Whisper large(v3-turbo)。ダウンロードがいちばん大きく、いちばん遅いモデルです。何もダウンロードしたくなくて Chrome が提供しているなら Gemini Nano。Chrome 内蔵の音声認識は短いファイル以外では避けてください。再生速度でしか聞けないので1時間は1時間かかり、既定モードでは音声をアップロードします。迷ったらカードの「速度テスト」を。内蔵の短い音声を流して、この端末で1時間の音声にどれくらいかかるかを答えてくれます。

どのブラウザで書き起こしできますか。

Whisper は WebGPU のあるブラウザならどれでも書き起こせて、Whisper base は WebGPU がなくても WebAssembly 経由で CPU で動きます。Gemini Nano は音声入力つき Prompt API の Chrome が必要で、Firefox と Safari では動きません。Edge は Chromium なので動く可能性はありますが、測るまで対応表では未測定です。翻訳エンジンのうち Chrome の Translator と Gemini Nano も同じく Chrome 限定ですが、Hy-MT2 は一度ダウンロードしてグラフィックカード上で動くので、WebGPU のあるブラウザならどれでも翻訳できます。使えないブラウザでも、説明と表は残します。

初回だけ巨大なダウンロードが走るのはなぜ。

モデルであり、あなたのファイルではありません。Whisper モデルは、容量を確認してダウンロードを押した後にモデルの配布元から一度だけ取得され、ブラウザに保存されて ByteScope の全ツールで共用されます。「ダウンロード済みモデルの管理」で一覧と削除ができます。Gemini Nano は Chrome 自身が取ります(しばしば数 GB。ディスクと GPU/メモリの条件もあります)。パーセントは LanguageModel.create({ monitor }) の downloadprogress です。以降はオフラインで書き起こせます。

字幕を映像に焼き込めますか。

この版ではできません。SRT か VTT をダウンロードして、編集ソフトで多重化してください。焼き込みは ffmpeg.wasm が要り、今バッチでは入れていません。

時刻がずれている、または一文欠けています。

表を直してください。どのモデルもスタジオ向けの ASR ではなく、チャンク単位でずれたり一行落ちたりします。大きい Whisper ほど落ちる行は少なめです。全部が同じだけ遅れているなら Subtitle Sync でシフト。ASS や SBV が要るなら Subtitle Converter です。

誰が話しているかのラベルは付けられますか。

実験的な機能として付けられます。書き起こしが終わったあとに「話者を区別」を押すと、声の特徴をもとに各行が「話者 1・2・3…」に分かれます。人数は自動のままでも、2〜10 人で指定しても構いません。話者の名前を一度変えれば、その人の行はすべて変わります。書き出すときに「話者名を付ける」にチェックを入れると、SRT は各行の前に [名前] 、WebVTT は <v 名前> の voice タグ、TXT は続けて話した行を名前ごとにまとめて出力します。チェックを外したままなら、ファイルはこれまでとまったく同じです。できるのは声を分けることだけで、誰なのかは分かりません。二つのモデルはこのブラウザの中で動くので、この処理で音声がどこかへ送られることはありません。初回だけ 31 MB のモデル(pyannote segmentation-3.0、MIT ライセンス/WeSpeaker ResNet34-LM、CC BY 4.0)をダウンロードし、次回以降のためにブラウザに保存します。WebGPU があれば音声 1 時間あたり数分、なければ CPU で音声 10 分あたり 6 分ほどかかります。精度は過信しないでください。公開されている録音で試したところ、発話時間の 9〜26% が取りこぼされるか別の人に振り分けられました。実際の会議では、話し声が重なった箇所が誤りの 40〜46% を占め、「うん」「はい」のような短い返事はほとんど外れます。いちばん効くのは人数の読み違いで、ある録音では二人が一人にまとめられただけで 13% から 39% に悪化しました。人数を自分で指定すれば必ず良くなるわけでもなく、実在する二人が一人にまとめられることもあります。中国語は短くテンポの速いやり取りほど取りこぼしが増え、日本語は今のところ合成した会話でしか試していません。