コンテンツにスキップ

TTSプロバイダー概要

アノテーション付きのゲームをレビューしているとき、あなたの目は二重の役割を果たしています。盤面の駒を追いながら、同時に解説を読もうとしているのです。視線は盤面とアノテーションパネルの間を行き来し、そのたびに一瞬だけポジションを見失います。駒を探し直し、ラインをたどり直し、頭の中のイメージを組み立て直さなければなりません。

テキスト読み上げはこの問題を完全に解決します。

TTSを有効にすると、ゲームを一手ずつ進めながらアノテーションが読み上げられます。目は盤面に集中したままです。ナイトがf3に着地するのを見ながら、なぜそれが強い展開手なのかを音声が教えてくれます。ポーン構造が変化するのを見ながら、その背後にある戦略的アイデアを解説が説明してくれます。盤面と言葉が同時に届く——まるで目の前に座ったコーチが教えてくれるように。

これは特に以下の場面で効果を発揮します:

  • オープニング研究 —— ポジションが展開していくのを見ながら、各手の背後にあるアイデアを聴けます
  • ゲームレビュー —— 自分のアノテーション付きゲームを一手ずつ進めながら、教訓を自然に吸収できます
  • エンドゲーム練習 —— 重要なマスに集中したまま、解説がガイドしてくれます
  • 語学イマージョン —— フランス語、ドイツ語、スペイン語、ロシア語、日本語、中国語、韓国語でチェスを学べます。すべてのチェス用語が適切に翻訳されます。「Knight f3, check」の代わりに「Cavalier f3, echec」と聴こえます。自分が考える言語でチェスを学びましょう。
  • アクセシビリティ —— 読むより聴く方が楽なプレイヤーや、デスクから離れて学習したいプレイヤーに最適です

一度試すと、無音のアノテーションに戻るのは、映画をミュートで観るような気分になります。

En Parlant~には5つのTTSプロバイダーが搭載されており、スタジオ品質のボイスを持つクラウドAPIから、インターネット接続が一切不要な完全ローカルオプションまで揃っています。始めるのに必要なのは1つだけです。以下に音声品質の高い順に紹介します。

利用可能な最高の音声品質です。ElevenLabsは表現力豊かで人間らしいスピーチを生成し、本物の個性があります——オーディオブックのナレーターのような声もあれば、アナウンサーのような声もあります。数十種類のユニークなボイスから選べます。34以上の言語をサポートしており、CJK(日本語、中国語、韓国語)の発音も優れているほか、アラビア語、ヒンディー語、主要なヨーロッパ言語もカバーしています。

無料プランでは月10,000文字(アノテーション付きゲーム2〜5局分)を利用できます。有料プランは月額$5で30,000文字からです。セットアップは簡単で、アカウントを作成し、APIキーをコピーして、En Parlant~に貼り付けるだけです。

インターネット接続が必要です。音声品質にこだわる方に最適です。

ElevenLabsセットアップガイド

品質、言語サポート、コストパフォーマンスの最良のバランスです。GoogleのWaveNetニューラルボイスは30以上の言語で自然かつクリアに聞こえます——CJK、アラビア語、ヒンディー語、ベンガル語、フィリピン語、ベトナム語、主要なヨーロッパ言語すべてを含みます。無料枠は太っ腹で、月100万文字あれば数百局分のアノテーション付きゲームをカバーできます。

セットアップは約5分です:Google Cloudアカウントを作成し、Text-to-Speech APIを有効にして、APIキーを生成します。無料枠を超えない限り課金されません(チェスのアノテーションで超えるのは非常に難しいです)。

インターネット接続が必要です。ほとんどのユーザーに最適です。

Google Cloudセットアップガイド

完全にローカルで動作する高品質なAIです。軽量な約25MBのニューラルモデルを使用し、8つの表現力豊かなボイス(男性4、女性4)を備えています。品質は驚くほど良好で、自然なイントネーション、明瞭な発音、本物の表現力があります。

トレードオフはハードウェアです:KittenTTSはCPU推論にPyTorchを使用するため、最新のマルチコアプロセッサが必要です。8コアのマシンでは素晴らしい音質ですが、古いラップトップではラグが発生する場合があります。現時点では英語のみ対応です。

各アノテーションが初めて読み上げられるときは、短い生成遅延があります(高速CPUで1〜2秒、低速ハードウェアではそれ以上)。その後、音声はメモリにキャッシュされ、即座に再生されます——すでに聴いた手を前後にステップしてもラグはゼロです。設定からゲーム全体をバックグラウンドで事前キャッシュすることもでき、学習を始める前にすべてのアノテーションを準備できます。

インターネット接続不要。APIキー不要。ローカル最高品質です。

KittenTTSセットアップガイド

Dockerを使ってマシン上で動作するオープンソースのTTSサーバーです。データはコンピュータの外に出ません。複数のTTSエンジン(Larynx、Festival、eSpeak、Coqui-TTS)がバンドルされており、英語だけでも75以上のボイスが利用できます。

トレードオフは音声品質です:これらは旧世代のニューラルおよびルールベースのエンジンのため、出力はElevenLabsやGoogleよりもロボットっぽく聞こえます。ヨーロッパ言語(英語、ドイツ語、フランス語、スペイン語、ロシア語、オランダ語、スウェーデン語、イタリア語など)で最も良く動作します——CJKはサポートされていません。正直なところ、ローカルモデルのセットアップの手間をかけるなら、KittenTTSの方がより高品質でより簡単です。OpenTTSへの大きな需要がない限り、将来のリリースで非推奨にする可能性があります。

インターネット接続不要。APIキー不要。多くのボイスオプションで最大限のプライバシーを求める方に最適です。

OpenTTSセットアップガイド

オペレーティングシステムに組み込まれた音声合成です。インストール不要、APIキー不要、サーバー不要。選択するだけですぐに使えます。音声品質は基本的で、OSレベルのTTS特有のロボットっぽいトーンが聞こえますが、セットアップゼロで即座に動作します。

Linuxでは通常eSpakまたはspeech-dispatcher、macOSではシステムボイス、WindowsではSAPIが使われます。言語サポートはオペレーティングシステムにインストールされているボイスパックに完全に依存します。

インターネット接続不要。手軽なテストに最適です。

System TTSセットアップガイド

プロバイダータイプ品質セットアップ言語
ElevenLabsクラウドAPI卓越APIキー34以上(CJK含む)
Google CloudクラウドAPI非常に良い(WaveNet)APIキー30以上(CJK含む)
KittenTTSローカルニューラルAI良いPython + venv英語のみ
OpenTTSローカルDockerまずまずDockerヨーロッパ言語のみ
System (OS Native)OS組み込み基本的不要OS依存

ハードウェアに関する注意: ローカルプロバイダー(KittenTTSとOpenTTS)はCPU上でニューラル推論を実行します。目立つラグなしにスピーチを生成するには、最新のマルチコアプロセッサ(8コア以上推奨)が必要です。マシン上でもう1つチェスエンジンを動かすようなものだと考えてください。マシンが古いか低性能な場合は、クラウドプロバイダーを使用してください。

最も豊かな音声品質を求めるなら、ElevenLabsから始めましょう——無料プランで十分試せます。品質と無料利用量のベストバランスなら、Google Cloudが月に数百局分をカバーします。クラウドに依存しない高品質ローカルTTSなら、最新のCPUをお持ちであればKittenTTSが優れています。セットアップゼロのテストなら、System TTSが即座に動作します。多くのボイスオプションで最大限のプライバシーを求めるなら、OpenTTSがDocker経由ですべてをローカルで実行します。

すべてのTTS設定は Settings > Sound にあります:

設定機能
Text-to-SpeechすべてのTTS機能のマスターオン/オフスイッチ
Auto-Narrate on Move手を進めたときにアノテーションを自動的に読み上げます
TTS Provider5つのプロバイダーを切り替えます
TTS Voiceプロバイダー固有のボイス選択
TTS Languageナレーションの言語——チェス用語は自動的に翻訳されます
TTS Volumeナレーションの音量
TTS Speed再生速度(0.5xから2x)——音声を再生成せずに調整します
ElevenLabs API KeyElevenLabsのAPIキー(ElevenLabs使用時のみ表示)
Google Cloud API KeyGoogle CloudのAPIキー(Google使用時のみ表示)
KittenTTS CPU Threads推論用のCPUスレッド数(0 = 自動 / 全コア使用)
TTS Audio Cacheキャッシュされた音声をクリアして再生成を強制します

TTSナレーションは、完全に翻訳されたチェス用語で多数の言語をサポートしています。いくつかの例を紹介します:

言語チェスの例
EnglishKnight f3, check. A strong developing move.
FrancaisCavalier f3, echec. Un coup de developpement fort.
EspanolCaballo f3, jaque. Un fuerte movimiento.
DeutschSpringer f3, Schach. Ein starker Entwicklungszug.
日本語ナイト f3、チェック。強い展開の手。
РусскийКонь f3, шах. Сильный развивающий ход.
中文马 f3,将军。一步控制中心的强力出子。
한국어나이트 f3, 체크. 중앙을 지배하는 강력한 전개 수.

すべてのチェス用語——駒の名前、「チェック」、「チェックメイト」、「キャスリング」、「テイクス」、「素晴らしい手」や「大悪手」などの手の質を示すアノテーション——は選択した言語で読み上げられます。PGNファイル内のコメントはそのまま読み上げられるので、聴きたい言語でゲームにアノテーションを付けてください。

TTSエンジンは生のテキストをそのまま読むわけではありません——チェス記法を理解します。テキストが読み上げられる前に、前処理ステップがPGN記法を自然な音声に変換します:

PGNでの表記読み上げ
Nf3”Knight f3”
Bxe6+”Bishop takes e6, check”
O-O-O”castles queenside”
e8=Q#”e8 promotes to Queen, checkmate”
Rae1”Rook a e1”(曖昧性の解消)
5.Qxd8+(コメント内)“5, Queen takes d8, check”
en prise”on preez”(フランス語の発音)
Ra8 is hanging”Rook on a8 is hanging”
R vs R”Rook versus Rook”
6...Bf5(手番号のドット)“6, Bishop f5”(自然なポーズ、「dot」なし)

コメントは読み上げ前にクリーニングされます:[%eval][%cal][%csl]タグは除去されます。NAGシンボルと重複する先頭の質を示す単語は削除されます(?? {BLUNDER. The rook hangs}が「Blunder. Blunder.」と繰り返さないようにするため)。

すべてのナレーションは初回生成後にメモリにキャッシュされます。ゲーム内を前後にステップすると、キャッシュから即座に再生されます——API呼び出しも再生成の遅延もありません。ゲームツリー全体をバックグラウンドで事前キャッシュすることもでき、再生中のポーズをゼロにできます。

キャッシュはprovider:voiceId:lang:textをキーとしているため、ボイスやプロバイダーを変更すると別のキャッシュエントリが作成されます。再生速度を変更してもキャッシュは無効になりません——速度はオーディオ要素のクライアント側で適用されます。

設定のClear Audio Cacheボタンで、アノテーション編集後に再生成を強制できます。

  • Auto-Narrateを使いましょう。 「Auto-Narrate on Move」をオンにして、矢印キーでゲームを進めるだけです。手を進めると解説が自然に届きます——まるで肩越しにコーチがいるかのように。

  • 自分のゲームにアノテーションを付けましょう。 TTSが本当に輝くのは、自分のゲームの解説を聴いているときです。ゲームにアノテーションを付けて、ナレーション付きで一手ずつ進めてください。ポジションを見つめながら「ポーンを取りたくなるが、キングサイド全体がまだ眠っている」と聴こえるのは、読むのとはまったく違う体験です。

  • 異なる速度を試しましょう。 じっくり学習するために1xを好むプレイヤーもいれば、素早いレビューのために1.3xを好むプレイヤーもいます。速度スライダーはリアルタイムで再生を調整し、追加のAPI文字数を消費しません。

  • スピーカーアイコンを使いましょう。 手順リストのすべてのコメントには小さなスピーカーアイコンがあります。クリックすると、そのアノテーションだけを聴けます。

  • 言語を切り替えてチェス用語を学びましょう。 第二言語でチェスを学習しているなら、TTS言語をそれに合わせてください。聴いているだけで「Cavalier」(ナイト)、「echec」(チェック)、「mat」(チェックメイト)などの用語を自然に覚えられます。

TTS向けアノテーションの書き方

Section titled “TTS向けアノテーションの書き方”

以下のガイドラインに従うと、PGNアノテーションから最良の音声ナレーションが得られます。

標準的なSAN記法を使用してください。前処理が自動的に展開します:

  • "After 7.Nf3, White controls e5" は「After 7, Knight f3, White controls e5」になります
  • "The Bg5 pins the knight" は「The Bishop g5 pins the knight」になります

NAGグリフ(!??!?など)は自動的に質を示す単語を生成します。コメント内で重複させないでください:

  • 悪い例:?? {BLUNDER. A terrible move...} —— TTSが「Blunder. Blunder. A terrible move」と発話します
  • 良い例:?? {A terrible move...} —— TTSが「Blunder. A terrible move」と発話します

標準的なPGN記法で動作します:6...Bf5。前処理がドットをカンマに変換し、「dot dot dot」ではなく自然なポーズを作ります。

ピリオドはTTSに自然なポーズを作ります。異なるアイデアの間に使用してください:

{Doubled isolated e-pawns. The f-file is ripped open. The position is strategically won.}

[%cal ...]および[%csl ...]タグは音声から自動的に除去されます。ナレーションに影響を与えることなく、視覚的なアノテーションに自由に使用してください。

En Parlant~をベースに開発する方へ、再配布に関する注意事項:

  • ElevenLabs —— 生成した音声のすべての権利はあなたが保持します(ElevenLabs利用規約、セクションc(ii))。自由に再配布できます。
  • Google Cloud —— 生成した音声のすべてのIP権利はあなたが保持します。制限はありません。
  • KittenTTS、OpenTTS、System TTS —— 生成した音声に再配布の制限はありません。

En CroissantはFrancisco Salgueiroによって作成されたオープンソースのチェス学習ツールです。Franciscoは本当に特別なもの——無料で強力な、コミュニティ主導のチェス学習プラットフォーム——を構築し、GPL-3.0ライセンスの下で公開しました。誰もがそれを使い、改良し、共有できるようにするためです。このTTS機能はその寛大さのおかげで存在しています。彼が築いた基盤に感謝し、それに貢献できることを誇りに思います。

TTSプラグインはRed ShedのDarrellがClaude Codeの助けを借りて開発しました。5つのプロバイダー、多言語サポート、多数の言語にわたる翻訳されたチェス用語、ローカルAI推論、依存関係管理——ソースからビルドし、手作業でテストし、丁寧にコントリビュートしました。

これがオープンソースの美しさです。誰かが素晴らしいものを作る。別の誰かがそれに追加する。みんなが恩恵を受ける。

TTSの使い心地についてぜひお聞かせください。コメント、提案、フィードバックはいつでも歓迎です。

  • まだサポートされていない言語がほしい? お知らせください——新しい言語は素早く追加できます。
  • バグを見つけた? お伝えいただければすぐに修正します。
  • 別のTTSプロバイダーのアイデアがある? 喜んで追加します。
  • うまく動いていると伝えたいだけ? それも嬉しいです。

GitHubでイシューを開くか、**darrell@redshed.ai**まで直接ご連絡ください。