テキストから音声へ

ニューラル音声(Kokoro)とブラウザ音声 · すべてブラウザ内でローカルに実行されます。

0文字

このツールについて

ニューラル音声(Kokoro AI)は、最先端の8200万パラメーターのテキスト読み上げモデルを使用します。WebAssemblyとONNX Runtimeを介してブラウザ内で100%実行されます · テキストはサーバーに送信されません。初回使用時に、モデル(〜100 MB)がダウンロードされ、ブラウザによってキャッシュされます。その後、瞬時に読み込まれます。米国とイギリスのアクセント、男性と女性の13の音声があり、それぞれ自然なイントネーションとプロソディを持っています。生成された音声は再生してから、WAV形式でダウンロードできます。

ブラウザ音声は、システムに統合されたWeb Speech APIを使用します。瞬時でダウンロードなしですが、品質と音声の利用可能性はOSとブラウザに依存します。Chromeは通常最も多くの選択肢を提供します。素早いプレビューとアクセシビリティテストに最適です。

Web Speech APIの仕組み

ブラウザは SpeechSynthesis インターフェース(W3C音声APIコミュニティグループが当初起草したWeb Speech APIの一部)を公開しており、テキストと選択した音声を受け取って、基盤となるOSのTTSエンジン経由で音声を出力する。APIの全体像はシンプルだが強力だ:speechSynthesis.speak(utterance) は発話を開始し、cancel() / pause() / resume() は再生を制御し、getVoices() はOSが提供するすべての音声を一覧表示する。各 SpeechSynthesisUtterance はテキスト、言語タグ、音声、速度、ピッチ、音量を保持する。

音声自体はブラウザではなくOSが生成する。macOSとiOSにはシステムに多数の高品質な音声が組み込まれている。WindowsはSettings → Time & Language → Speechでインストールされた音声を表示する。AndroidはGoogleのText-to-Speechエンジン(またはSamsung TTSなどの代替)を使用する。Linuxはディストリビューションが提供するspeech-dispatcher / espeakの設定にフォールバックし、より高機能なエンジンをインストールしない限りデフォルトではロボット的な音声になることが多い。

クラウド対ローカルのプライバシーの違い

すべての「ブラウザ」音声がデバイス上で動作するわけではない。一部のブラウザは高品質な音声のために音声をリモートサーバーに送ってオーディオをレンダリングし、結果をストリーミングで返す。これはプライバシーに影響する:

テキストが機密性の高いもの(機密文書の下書き、社内メモ、第三者に知られたくないもの)の場合はローカルとマークされた音声を選ぶこと。ドロップダウンにローカル音声が表示されない場合はOSの音声パックをインストールすれば表示される。

主な使用例

知っておくべき特性と制限

音声品質がこれほど異なる理由

TTS音声の品質はすべて基盤となるエンジンに依存し、エンジンはOSに依存し、OSはインストール済みのものに依存する。1990年代の音声(eSpeak、Microsoft Anna、旧Macの「Fred」)は連結した音素サンプルから合成されており、ロボット的でぎこちなく聞こえる。現代の音声(AppleのSiri音声、MicrosoftのOnline Natural音声、GoogleのWaveNetベースの音声、ElevenLabsのサブスクリプション音声)はディープラーニングを使ってオーディオを生成し、人間の読み上げとほぼ区別できないほどだ。

ドロップダウンの音声がロボット的に聞こえる場合、問題はこのツールではなくOSにより良い音声をインストールすることにある:

よくある間違い

  1. Firefoxでサポートされると期待する。FirefoxのWeb Speech APIサポートは遅れている。Firefoxでアクセスすると「読み上げ」ボタンが無効になる;信頼性の高いTTSにはChromiumベースのブラウザかSafariを使う。
  2. Chromeセッションに機密テキストを貼り付けてローカルだと思い込む。デフォルトのChromeの「Google」音声はテキストをGoogleのTTSサービスに送る。機密コンテンツにはローカル音声を選ぶかSafariを使う。
  3. Chromeで長文ブロックを使う。15秒 / 約250文字のカットオフは段落を貼り付けて最後まで読んでもらおうとすると誰でも引っかかる。テキストを分割するかカットオフのないSafariを使う。
  4. rateやpitchを範囲外に設定する。エンジンは値を上限に固定しないため、静かに音声を出力しなくなる。予測可能な結果のためにはrate 0.5〜2.5、pitch 0.5〜1.5の範囲内に収める。
  5. ブラウザTTSをプロダクション品質のナレーションとして扱う。最高のブラウザ音声でも校正、アクセシビリティ、ラフ草稿には十分だが、公開ポッドキャストや商業ナレーションには向かない。そのためにはElevenLabs、Murf、または同様の有料サービスを検討する。
  6. 音声が非同期にダウンロードされることを忘れる。Chromeへの初回アクセス時は音声が表示されないことがある;少し待ってから再読み込みすれば表示される。

よくある質問

音声がローカルかクラウドベースかを確認するには?

プログラム的には SpeechSynthesisVoice.localService プロパティがオンデバイス音声に true、クラウドベースの音声に false を返す。実際には命名規則が役立つ:Chromeの「Google」とラベルされた音声は通常クラウドベースで、OSにインストールされた音声と一致するもの(Microsoft David、Apple Samantha、Google Wavenet en-US-Wavenet-D)はOSにある場合はローカルだ。Safariの音声は常にローカルだ。

MP3ファイルとして音声を保存できますか?

ブラウザのWeb Speech APIを直接使う方法では不可能だ。仕様がキャプチャ用のオーディオストリームを公開していないためだ。ダウンロード可能なMP3 / WAVが必要な場合の選択肢:システム音声を録音するAudacityのような専用ナレーションアプリ、オーディオファイルを返す有料TTS API(Google Cloud TTS、Amazon Polly、ElevenLabs)、または再生をキャプチャする画面録画アプリ。

音声が途切れたり文の途中で止まったりする理由は?

Chromeで最もよくある原因は長文バグで、音声が約15秒で止まる。短いパッセージでリフレッシュして再試行するか、その制限がないSafariに切り替える。他の原因:OS音声エンジンのシステム不具合(通常は再起動で解決)、またはオフライン時にクラウド音声のフェッチが失敗している(ローカル音声に切り替える)。

どの言語でも使えますか?

OSに音声がインストールされている言語ならどれでも使える。macOSとiOSには多くの言語が組み込まれている。Windowsは言語ごとに音声パックのインストールが必要(Settings → Time & Language → Speech → Add voices)。AndroidはGoogle TTSまたはサードパーティエンジンに言語データのダウンロードが必要だ。音声ドロップダウンは利用可能なものをすべて表示し、言語タグ(en-US、fr-FR、ja-JPなど)がどの言語を生成するかを示す。

ポッドキャストに使えますか?

下書きとペーシングのテストには使える。公開エピソードには品質基準が高く、最高のブラウザ音声でも聴取者がすぐ気づく微妙なアーティファクトがある。ElevenLabsやMurfのような有料サービスは長文ナレーション用に訓練された音声モデルを提供し、通常1000文字あたり数セントで明らかに優れた結果を出す。

自分のサイトの視覚障害者向けに使えますか?

サイトはアクセシビリティのためにTTSを埋め込む必要は通常ない。スクリーンリーダー(AppleデバイスのVoiceOver、WindowsのNVDA / JAWS、AndroidのTalkBack)のような支援技術が普遍的に対応している。埋め込みTTSは読書疲れのある晴眼者や学習者のための便利な読み上げ機能としてより有用だ。アクセシビリティにはセマンティックHTML、ARIAラベル、キーボードナビゲーション、コントラストに注力する。これらがすべてのスクリーンリーダーをより良く機能させる。

関連ツール