翻訳横丁の裏路地

We can do anything we want to do if we stick to it long enough.

[ブラウザ完結] ChotTTS (テキスト音声読上げ)

コメントする

以前、ChotTTSというフリーウェアを公開しましたが、これはGoogle Chromeブラウザで動作するWebアプリ版です。Webアプリという性質上、単純にテキストを貼付けて発話させることしかできませんので「遊び」に使う程度しか使い道はないかもしれません。

ChotTTS は、入力した文章を 発音辞書(正規表現置換)で補正してから、ブラウザの音声合成(TTS)で読み上げる ブラウザ完結の軽量ツールです。インストール不要で、HTMLを開くだけで動作します。

以下のWebフォルダにある「ChotTTS.html」をダウンロードして、任意のローカルストレージに保存し、ダブルクリックして開くだけで利用できます。

BOX共有フォルダ
https://app.box.com/s/brb4smy5b5d6snu7fvrgjbp5zh1agd5v

1. 動作環境

  • 対応ブラウザ:Chrome / Edge 推奨(他でも動くことはあります)
  • 必要機能:Web Speech API(speechSynthesis)
  • 音声(Voice)や言語は OS/ブラウザにインストールされている音声に依存します
    → 環境によって表示されるVoice数や品質が違います

2. 画面構成

メイン画面

  • 発話テキスト:読み上げたい文章の入力欄
  • 辞書を適用(チェック):ONで辞書置換を有効化
  • 言語(voices から抽出):利用可能な言語一覧
  • 音声(Voice):選べる音声一覧(言語フィルタに従う)
  • 話速 / ピッチ / 音量:スライダー + 数値入力
  • 読み上げ分割:長文が止まりやすい環境用の保険
  • ボタン:Speak / Pause / Resume / Stop
  • 辞書編集:辞書画面を開く

辞書編集画面

  • 追加エリア:検索語(正規表現)/置換語/+追加/選択を削除
  • テーブル:選択/有効/順序(↑↓)/検索語/置換語
  • エクスポート/インポート(TSV)

3. 基本の使い方(最短手順)

  1. 発話テキストに文章を入力
  2. 必要なら 辞書を適用をON
  3. 言語Voiceを選ぶ(任意)
  4. 話速・ピッチ・音量を調整(任意)
  5. ▶ Speak を押す

止めたいとき:■ Stop
一時停止:⏸ Pause → 再開:⏵ Resume


4. 言語とVoiceの選び方

  • 言語プルダウンは、現在取得できたVoiceの lang(例:ja-JP, en-US)から作られます
  • AUTO:Voiceの言語を優先して読み上げ(Voice未選択ならブラウザ既定)
  • ある言語が出ない場合:
    • その言語のTTS音声が OS に入っていない/ブラウザが提供していない可能性が高いです

5. 話速・ピッチ・音量

  • 話速(Rate):0.5 ~ 2.0
  • ピッチ(Pitch):0.0 ~ 2.0
  • 音量(Volume):0.0 ~ 1.0

スライダーと数値は連動します。数値を直接入力してもOK。


6. 長文が途中で止まる場合(読み上げ分割)

環境によっては、長文を一気に喋らせると途中停止・無音になることがあります。
その対策が 読み上げ分割です。

  • 推奨:約240文字ごと
  • 分割は「句読点・改行」を優先して切ります

7. 発音辞書(正規表現置換)の使い方

7.1 仕組み

  • 「検索語(正規表現)」にマッチした部分を「置換語」に変換してから読み上げます
  • 上から順に適用されます(最長一致などはしません)

7.2 追加

  1. 辞書編集を開く
  2. 「検索語(正規表現)」と「置換語」を入力
  3. +追加
    ※追加したルールは上に積まれます(先に適用されます)

7.3 有効/無効

  • 各行の「有効」チェックでON/OFFできます

7.4 順序変更(↑↓)

  • :上へ移動(優先度UP)
  • :下へ移動(優先度DOWN)

7.5 削除

  • 削除したい行に「選択」チェック
  • 選択を削除

8. インポート / エクスポート(TSV)

8.1 エクスポート

  • **エクスポート(TSV)**で辞書をファイルに保存できます
  • TSV形式:
    • 1行 = 1ルール
    • 検索語<TAB>置換語

8.2 インポート

  • **インポート(TSV)**でTSVを読み込みます
  • インポートすると、基本的に 現在の辞書は読み込んだ内容で置き換えになります

9. 便利機能

  • クリア:入力テキストを削除
  • 辞書適用後プレビュー:辞書を適用した結果が表示されます
    (読み上げ前に「想定どおり置換されたか」をチェックできます)

10. 保存・データの扱い

  • 設定(話速・ピッチ・音量・選択Voice等)と辞書は、ブラウザの localStorage に保存されます
  • つまり:
    • 同じPC・同じブラウザなら次回も保持されます
    • ブラウザのサイトデータ削除等で消えます
  • 入力テキストも設定として保持される仕様です(不要ならクリアしてください)

11. 制限事項(重要)

11.1 音声を「音声ファイルとして保存」

  • ブラウザ標準の speechSynthesis だけでは、生成音声を直接WAV/MP3として取り出すのが難しいです
    (録音やクラウドTTSなど別アプローチが必要)

11.2 正規表現の注意

  • 重い正規表現(バックトラッキングが激しい)を入れるとブラウザが固まります
  • これは仕様というより「正規表現の性質」なので、運用で回避してください

12. トラブルシューティング

Voiceが0件/少ない

  • 少し待ってください(ブラウザがVoiceを遅延ロードする場合があります)
  • それでもダメなら:
    • OSに音声が入っていない
    • そのブラウザがその音声を提供していない
      のどちらかです

読み上げが途中で止まる

  • 「読み上げ分割」を 約240文字または 約180文字

辞書が効かない

  • 「辞書を適用」がOFFになっていないか確認
  • 辞書画面の「辞書状態: エラー」が出ていないか確認
    → エラーのあるルールはスキップされます

一部の単語だけ変な発音になる

  • その単語を辞書で「読みやすいカナ」などに置換するのが確実です

13. TIPS

  • ブックマークしておくと、次回からはブックマークからアプリを呼び出せるようになり、便利です。
不明 のアバター

作成者: Terry Saito

二足の草鞋を履く実務翻訳者です。某社で翻訳コーディネーター、社内翻訳者をやっていました。 詳細は、以下のURLよりどうぞ。 https://terrysaito.com/about/

コメントを残す