テキスト読み上げ(ブラウザ内蔵の音声)
メディア処理はすべてブラウザ内で完結します。データは送信されません
テキストは当サイトのサーバーを通りません。**ブラウザ内蔵の音声エンジン**に渡して読み上げます —— 一部の環境ではそのエンジンがクラウド音声を使うことがあります。当サイト自身は一切リクエストを送りません。
⚠️ ページを離れると読み上げを停止します。`speechSynthesis` はブラウザ全体で共有されるため、タブを切り替えたりページを閉じても音が続くことがあります。そこで `pagehide` と `visibilitychange` で取り消します。
文章をブラウザの音声エンジンに渡して読み上げます。音声・速度・音の高さ・音量を選べ、長文は句読点で一文ずつ読めます。 先に 2 つの境界を書きます。1 つ目、入力したテキストはブラウザの音声エンジンに渡されます —— 当サイトのサーバーは通りませんが、一部の環境ではそのエンジンがクラウド音声を使います。したがって「データはブラウザから出ない」とは書けません。「当サイトのサーバーを通りません」とだけ書きます。2 つ目、目立つ「停止」ボタンが必須です:`speechSynthesis` はブラウザ全体で共有されるため、長文を読み始めたあとは、タブを切り替えても、ページを閉じても音が続くことがあります。そこで停止ボタンに加え、ページを離れるときにも取り消します。 音声の一覧は非同期で届きます:一部のブラウザは読み込み直後に `getVoices()` が空を返し、`voiceschanged` イベントを待つ必要があります。これを処理しないと「音声」の一覧が永遠に空のままです —— この種のツールで最も見落としやすい点です。音声は言語別にまとめ、既定では画面の言語と同じ系統のものを選びます。 一文ずつ読むのは見た目のためではありません:一部のブラウザは 1 つの utterance の長さに制限があり、数千字の utterance は途中で打ち切られます。しかもエラーも終了イベントも出ず、「半分で止まった」ように見えます。文ごとに分ければこの制限を回避できます。
機能
- ブラウザ内蔵の音声エンジンで読み上げ。このページは通信しません
- 音声は言語別にまとめ、画面の言語と同じ系統を既定で選択
- 速度 0.5-2、音の高さ 0-2、音量を調整できます
- 一文ずつ読み上げ:長文は句読点で分割し、何文目かを表示
- 一時停止・再開・停止の 3 つを用意 —— 長文は再読み込みでは止められません
- ページを離れるときやタブが隠れたときに取り消し、他のタブに音を残しません
- 音声一覧が空のときは理由を表示(voiceschanged 待ち、または音声パック未導入)
- 読み上げにかかるおおよその時間を表示
- 入力したテキストは当サイトのサーバーを通りません(ブラウザの音声エンジンに渡されます)
使い方
- 読み上げたいテキストを入力欄に貼り付けます
- 音声を選び、速度と音の高さを調整します
- 必要なら「一文ずつ読み上げる」をオンのままにします
- 「読み上げ」を押します。止めるときは「停止」
よくある質問
- テキストは送信されますか?
- 当サイトのサーバーには送信されません —— ページ自身は一切リクエストを送りません。ただしブラウザ内蔵の音声エンジンに渡され、一部の環境ではそのエンジンがクラウド音声を使います。そのため「データはブラウザから出ない」とは書かず、「当サイトのサーバーを通りません」とだけ約束しています。
- 「停止」ボタンが必須なのはなぜですか?
- `speechSynthesis` はブラウザ全体で共有されるためです。長文を読み始めたあとは、再読み込みやタブの切り替えでは止まらず、別のタブで音が鳴り続けることがあります。そこで明示的な停止を用意し、ページを離れるときやタブが隠れたときにも取り消します。
- 「音声」の一覧が空です。どうすれば?
- 2 つの可能性があります。ブラウザがまだ一覧を出していない場合 —— `getVoices()` は一部のブラウザで非同期で、`voiceschanged` イベントの後に埋まります。少し待てば出てきます。もう 1 つは、この端末に音声パックが入っていない場合で、そのときは利用できる音声が本当に無く、ツールがその旨を表示します。
- 長文が途中で止まります。
- これは 1 つの utterance に対するブラウザの長さ制限です(特に Chrome で見られます)。長すぎる utterance は途中で打ち切られ、エラーも出ません。「一文ずつ読み上げる」をオンにすると 1 文ごとに別の utterance になるため、この制限を回避できます。
- 別の言語で読めますか?
- はい。音声一覧は言語別にまとまっているので、目的の言語の音声を選んでください。どんな発音になるかは選んだ音声で決まり、テキストの言語には依存しません。
関連ツール
音声を WAV に
メディアMP3 / M4A / FLAC などを WAV に変換。サンプリング周波数(音声なら 16k、映像なら 48k)、モノラル化、ピーク正規化に対応。すべてブラウザ内で完結します。
文字数カウント
テキスト英語は単語数、日本語や中国語は字数で別々に数えます。文字数・行数・バイト数・読了時間も同時に出し、すべてブラウザ内で処理するので送信しません。
テキスト整形
テキストログや表からコピーした1列を整形します。重複行の削除、並べ替え、空行・前後の空白・行番号の削除、空白のまとめを個別に切り替えできます。
動画から GIF
メディア動画の一部を GIF に変換します。フレームレート・幅・色数・ループを指定でき、範囲はプレビューを見ながら選べます。動画は送信されません。
動画フレーム書き出し
メディア動画の指定した瞬間のフレームを、動画本来の解像度で PNG / JPEG / WebP として書き出します。スクリーンショットより鮮明です。
音声のトリミング
メディア開始・終了時刻を指定して音声の一部を切り出します。切り口のクリック音を消すフェードにも対応。試聴しながら位置を記録し、WAV で書き出します。