テキスト読み上げ&音声入力

ブラウザ標準搭載のWeb Speech APIを使って、任意のテキストを声・速度・音程を調整しながら読み上げたり、話した内容をそのままテキストとして入力したりできます。

221回閲覧

テキスト読み上げ

完全にローカルで処理されます。テキストと生成された音声はこのデバイスの外に送信されません。


音声入力(音声をテキストに変換)

「聞き取りを開始」を押して話してください — ここに文字が表示されます…

ご注意:このサイトの他の多くのツールとは異なり、この機能は通常マイクの音声をテキストに変換するためにクラウドの音声認識サービス(Chromeでは主にGoogleのサービス)に送信します。

1つのツールに詰まった、まったく性質の異なる2つの音声API

このツールはWeb Speech APIを基盤としていますが、この1つの名前は実際にはまったく異なる挙動を示す2つのサブAPIをまとめて指しています。SpeechSynthesis——「読み上げ」側——は、お使いのOSやブラウザにすでにインストールされている音声エンジンを使い、入力されたテキストを音声に変換します。処理はすべて端末上で完結します。テキストがアップロードされることも、音声が遠隔で生成されることもなく、入力した内容が端末の外に出ることは一切ありません。SpeechRecognition——「音声入力」側——はその逆で、話した声をテキストに変換する役割を担いますが、内部の仕組みは以下で説明するとおり大きく異なります。

読み上げ機能の音声リストはspeechSynthesis.getVoices()を呼び出すことで取得されますが、このリストはしばしば非同期に読み込まれます——ページの初回読み込み時には、音声が実際には存在していてもリストが空で返ってくることがあります。これは、ブラウザがOSにインストールされている音声を裏側でまだ列挙している最中だからです。このツールはonvoiceschangedイベントを監視し、実際のリストが用意できた瞬間にドロップダウンを更新します。これは、多くの単純な実装をつまずかせるWeb Speech APIのよく知られたクセに対する標準的な対処法です。

音声入力の前に読んでおくべきプライバシーに関する注意

このサイトのほとんどのツールはすべての処理を端末内で行い、サーバーに一切触れません——それはここでのテキスト読み上げ側にも当てはまります。音声認識(音声からテキストへの変換)はその例外であり、あらかじめ正直に伝えておくことが重要です。ChromeをはじめとするほとんどのChromiumベースのブラウザでは、SpeechRecognitionは通常、録音した音声をクラウドの音声認識サービス(多くの場合Googleのもの)に送信して文字起こしを行い、その結果のテキストをページに返します。つまり、あなたの声は端末の外へ送信されます。ディクテーション(口述筆記)する内容にとってこれが重要であれば、マイクを他のクラウド型ディクテーションサービスと同様に扱ってください。

音声入力に対するブラウザの対応状況も、知っておく価値のある形で分かれています。ChromeとEdgeは今も標準化された単純なコンストラクタではなく、ベンダー接頭辞付きのwebkitSpeechRecognitionコンストラクタを必要とします。Firefoxはデフォルトで無効になっている実験的フラグの背後に部分的な対応があるのみで、Safariの対応はバージョンによって限定的かつ一貫していません——そのため、お使いのブラウザがこのAPIをまったく公開していない場合、このツールは黙って失敗するフォームを表示する代わりに、音声入力セクションを非表示にします。

  • テキスト読み上げ(読み上げ機能): 完全にローカルで動作し、ネットワーク通信は発生せず、事実上あらゆる最新ブラウザで動作します
  • 音声入力(音声からテキストへの変換): マイクの許可が必要で、通常はクラウドで処理され、主にChrome/Edgeで信頼性が高くなります
  • 利用できる音声は完全にお使いのOSに依存します——Windows、macOS、Androidはそれぞれ異なる音声エンジンと音声リストを搭載しています

よくある質問

テキスト読み上げ機能は、私のテキストをサーバーに送信しますか?

いいえ。SpeechSynthesisはお使いのOSにすでにインストールされている音声エンジンを使い、完全にブラウザ内で動作します。入力した内容はテキストも生成された音声もどこにもアップロードされません。ページを読み込んだ後にインターネット接続を切断しても、読み上げ機能は音声生成のために遠隔から何かを取得する必要がないため、通常どおり動作し続けます。

音声入力(音声からテキストへの変換)機能は、私の声をサーバーに送信しますか?

ほとんどのブラウザでは、はい——これは利用する前に知っておく価値があります。ChromeのSpeechRecognition実装は通常、マイクの音声をクラウドの文字起こしサービス(多くの場合Googleのもの)にストリーミングしてテキストに変換し、その結果をページに返します。これは、端末の外に一切出ないこのツールの読み上げ側とは根本的に異なります。機密性の高い内容を口述筆記する場合は、他のクラウドベースの音声アシスタントを使うときと同様に注意してください。

このツールを初めて開いたとき、なぜ音声のドロップダウンが空になっているのですか?

これはこのツールの不具合ではなく、Web Speech APIのよく知られたクセです。ブラウザはインストール済みの音声リストを非同期に読み込むため、ページ読み込み直後にgetVoices()を呼び出すと、音声が実際には利用可能であっても空の配列が返ってくることがあります。このツールはonvoiceschangedイベントを監視し、実際のリストが用意できた瞬間にドロップダウンを自動的に再構築します。これがこの挙動に対する標準的な回避策です。

FirefoxやSafariで音声入力セクションが表示されないのはなぜですか?

SpeechRecognitionに対するブラウザの対応状況にはばらつきがあります。ChromeとEdgeは、接頭辞付きのwebkitSpeechRecognitionコンストラクタを介してではありますが、確実に対応しています。Firefoxはデフォルトで無効になっている実験的フラグの背後に部分的な対応があるのみで、Safariの対応はバージョンによって限定的かつ不安定です。このツールは、黙って失敗するディクテーションフォームを表示する代わりに、APIが存在するかどうかを検出し、存在しない場合は正直なメッセージとともにそのセクションを非表示にします——完全な音声入力体験を得るにはChromeまたはEdgeをお試しください。

別のパソコンで選べる音声が違って見えるのはなぜですか?

読み上げ機能は独自の音声を内蔵しているわけではなく、お使いのOSとブラウザが提供する音声エンジンを利用します。そのため、環境によって大きく異なります。Windows、macOS、Androidはそれぞれ異なるテキスト読み上げエンジンを搭載しており、音声の名前、言語、アクセントもそれぞれ異なるため、同じウェブページでも2台の異なるマシンではまったく異なる音声リストが表示されることがあります。これをウェブページ側から統一する方法はなく、完全にローカルに何がインストールされているかによって決まります。

コメント

まだコメントはありません — 最初のコメントを書いてみましょう!

関連ツール