[voice-scribe · audio inference on-device]

音声を、
ブラウザだけ
文字にする。

録音もファイルもサーバーに送らない。 transformers.js でWhisperモデルを直接ブラウザ内で動かし、 タイムコード付きトランスクリプトをこのタブだけで生成します。 .txt と .srt(字幕) のエクスポートに対応。

on-device no server upload whisper · onnx · wasm

[ ./how_it_works ]

仕組み。

step / 01

音声を渡す

音声ファイルをドロップするか、マイクボタンで録音する。動画ファイルでも音声トラックがあれば対応。

step / 02

ブラウザ内で推論

初回のみ Whisper モデル (約 75MB) をダウンロードしてキャッシュ。以降はネットワークを使わずローカルで動く。

step / 03

テキスト / 字幕で受け取る

タイムコード付きで結果が表示される。コピー、.txt、.srt ダウンロードに対応。次の音声に進めばすぐ再利用。

[ ./faq ]

よくある質問。

本当に音声はサーバーに送られないのですか?+

送られません。 Whisper の推論は transformers.js を通じてブラウザ内 (WebAssembly + ONNX Runtime Web) で動きます。録音やファイルがネットワーク越しに私たちのサーバーへ届くことはありません。 (初回のみ Hugging Face Hub からモデル本体をダウンロードします。これはモデルファイルの取得で、あなたの音声ではありません)

どのくらいの長さまで使えますか?+

30 分前後までを推奨。 chunk 30 秒・stride 5 秒で逐次推論しますが、tiny / base モデルはブラウザのメモリと CPU に依存します。長尺はクラッシュリスクがあります。

対応している音声形式は?+

ブラウザの AudioContext.decodeAudioData が読める形式 (mp3 / wav / m4a / webm / ogg など)。動画ファイル (mp4 / webm) も音声トラックがあれば文字起こし可能です。

tiny と base の違いは?+

tiny は ~75MB で速い。base は ~145MB で精度が少し上がる代わりにダウンロードと推論が遅い。日本語の長い文章なら base、短い会話なら tiny が体感が良いことが多いです。

なぜブラウザだけにこだわるのですか?+

音声は個人情報の塊だからです。会議録、取材、医療相談、面接、家族の通話。これらをアップロードしなければ使えないサービスは、安心して使えません。Whisperが動かせる時代になったので、まずはブラウザ完結で出します。

[ ./journal ]

開発ログ。

VoiceScribe

VoiceScribe ができるまで — ブラウザだけでWhisperを動かして音声を文字に変える設計

transformers.js でWhisperをブラウザ内推論し、音声をサーバーに送らずに文字起こしするWebサービスの設計記録。モデルキャッシュ、長尺対応、字幕出力、UXの工夫を解説します。

read log →

all_entries →

← back to ai-lab.org