TTSプロバイダー概要
TTSがチェス学習を変える理由
Section titled “TTSがチェス学習を変える理由”アノテーション付きのゲームをレビューしているとき、あなたの目は二重の役割を果たしています。盤面の駒を追いながら、同時に解説を読もうとしているのです。視線は盤面とアノテーションパネルの間を行き来し、そのたびに一瞬だけポジションを見失います。駒を探し直し、ラインをたどり直し、頭の中のイメージを組み立て直さなければなりません。
テキスト読み上げはこの問題を完全に解決します。
TTSを有効にすると、ゲームを一手ずつ進めながらアノテーションが読み上げられます。目は盤面に集中したままです。ナイトがf3に着地するのを見ながら、なぜそれが強い展開手なのかを音声が教えてくれます。ポーン構造が変化するのを見ながら、その背後にある戦略的アイデアを解説が説明してくれます。盤面と言葉が同時に届く——まるで目の前に座ったコーチが教えてくれるように。
これは特に以下の場面で効果を発揮します:
- オープニング研究 —— ポジションが展開していくのを見ながら、各手の背後にあるアイデアを聴けます
- ゲームレビュー —— 自分のアノテーション付きゲームを一手ずつ進めながら、教訓を自然に吸収できます
- エンドゲーム練習 —— 重要なマスに集中したまま、解説がガイドしてくれます
- 語学イマージョン —— フランス語、ドイツ語、スペイン語、ロシア語、日本語、中国語、韓国語でチェスを学べます。すべてのチェス用語が適切に翻訳されます。「Knight f3, check」の代わりに「Cavalier f3, echec」と聴こえます。自分が考える言語でチェスを学びましょう。
- アクセシビリティ —— 読むより聴く方が楽なプレイヤーや、デスクから離れて学習したいプレイヤーに最適です
一度試すと、無音のアノテーションに戻るのは、映画をミュートで観るような気分になります。
プロバイダーの選択
Section titled “プロバイダーの選択”En Parlant~には5つのTTSプロバイダーが搭載されており、スタジオ品質のボイスを持つクラウドAPIから、インターネット接続が一切不要な完全ローカルオプションまで揃っています。始めるのに必要なのは1つだけです。以下に音声品質の高い順に紹介します。
ElevenLabs
Section titled “ElevenLabs”利用可能な最高の音声品質です。ElevenLabsは表現力豊かで人間らしいスピーチを生成し、本物の個性があります——オーディオブックのナレーターのような声もあれば、アナウンサーのような声もあります。数十種類のユニークなボイスから選べます。34以上の言語をサポートしており、CJK(日本語、中国語、韓国語)の発音も優れているほか、アラビア語、ヒンディー語、主要なヨーロッパ言語もカバーしています。
無料プランでは月10,000文字(アノテーション付きゲーム2〜5局分)を利用できます。有料プランは月額$5で30,000文字からです。セットアップは簡単で、アカウントを作成し、APIキーをコピーして、En Parlant~に貼り付けるだけです。
インターネット接続が必要です。音声品質にこだわる方に最適です。
Google Cloud TTS
Section titled “Google Cloud TTS”品質、言語サポート、コストパフォーマンスの最良のバランスです。GoogleのWaveNetニューラルボイスは30以上の言語で自然かつクリアに聞こえます——CJK、アラビア語、ヒンディー語、ベンガル語、フィリピン語、ベトナム語、主要なヨーロッパ言語すべてを含みます。無料枠は太っ腹で、月100万文字あれば数百局分のアノテーション付きゲームをカバーできます。
セットアップは約5分です:Google Cloudアカウントを作成し、Text-to-Speech APIを有効にして、APIキーを生成します。無料枠を超えない限り課金されません(チェスのアノテーションで超えるのは非常に難しいです)。
インターネット接続が必要です。ほとんどのユーザーに最適です。
KittenTTS
Section titled “KittenTTS”完全にローカルで動作する高品質なAIです。軽量な約25MBのニューラルモデルを使用し、8つの表現力豊かなボイス(男性4、女性4)を備えています。品質は驚くほど良好で、自然なイントネーション、明瞭な発音、本物の表現力があります。
トレードオフはハードウェアです:KittenTTSはCPU推論にPyTorchを使用するため、最新のマルチコアプロセッサが必要です。8コアのマシンでは素晴らしい音質ですが、古いラップトップではラグが発生する場合があります。現時点では英語のみ対応です。
各アノテーションが初めて読み上げられるときは、短い生成遅延があります(高速CPUで1〜2秒、低速ハードウェアではそれ以上)。その後、音声はメモリにキャッシュされ、即座に再生されます——すでに聴いた手を前後にステップしてもラグはゼロです。設定からゲーム全体をバックグラウンドで事前キャッシュすることもでき、学習を始める前にすべてのアノテーションを準備できます。
インターネット接続不要。APIキー不要。ローカル最高品質です。
OpenTTS
Section titled “OpenTTS”Dockerを使ってマシン上で動作するオープンソースのTTSサーバーです。データはコンピュータの外に出ません。複数のTTSエンジン(Larynx、Festival、eSpeak、Coqui-TTS)がバンドルされており、英語だけでも75以上のボイスが利用できます。
トレードオフは音声品質です:これらは旧世代のニューラルおよびルールベースのエンジンのため、出力はElevenLabsやGoogleよりもロボットっぽく聞こえます。ヨーロッパ言語(英語、ドイツ語、フランス語、スペイン語、ロシア語、オランダ語、スウェーデン語、イタリア語など)で最も良く動作します——CJKはサポートされていません。正直なところ、ローカルモデルのセットアップの手間をかけるなら、KittenTTSの方がより高品質でより簡単です。OpenTTSへの大きな需要がない限り、将来のリリースで非推奨にする可能性があります。
インターネット接続不要。APIキー不要。多くのボイスオプションで最大限のプライバシーを求める方に最適です。
System TTS
Section titled “System TTS”オペレーティングシステムに組み込まれた音声合成です。インストール不要、APIキー不要、サーバー不要。選択するだけですぐに使えます。音声品質は基本的で、OSレベルのTTS特有のロボットっぽいトーンが聞こえますが、セットアップゼロで即座に動作します。
Linuxでは通常eSpakまたはspeech-dispatcher、macOSではシステムボイス、WindowsではSAPIが使われます。言語サポートはオペレーティングシステムにインストールされているボイスパックに完全に依存します。
インターネット接続不要。手軽なテストに最適です。
プロバイダー比較
Section titled “プロバイダー比較”| プロバイダー | タイプ | 品質 | セットアップ | 言語 |
|---|---|---|---|---|
| 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経由ですべてをローカルで実行します。
設定リファレンス
Section titled “設定リファレンス”すべてのTTS設定は Settings > Sound にあります:
| 設定 | 機能 |
|---|---|
| Text-to-Speech | すべてのTTS機能のマスターオン/オフスイッチ |
| Auto-Narrate on Move | 手を進めたときにアノテーションを自動的に読み上げます |
| TTS Provider | 5つのプロバイダーを切り替えます |
| TTS Voice | プロバイダー固有のボイス選択 |
| TTS Language | ナレーションの言語——チェス用語は自動的に翻訳されます |
| TTS Volume | ナレーションの音量 |
| TTS Speed | 再生速度(0.5xから2x)——音声を再生成せずに調整します |
| ElevenLabs API Key | ElevenLabsのAPIキー(ElevenLabs使用時のみ表示) |
| Google Cloud API Key | Google CloudのAPIキー(Google使用時のみ表示) |
| KittenTTS CPU Threads | 推論用のCPUスレッド数(0 = 自動 / 全コア使用) |
| TTS Audio Cache | キャッシュされた音声をクリアして再生成を強制します |
TTSナレーションは、完全に翻訳されたチェス用語で多数の言語をサポートしています。いくつかの例を紹介します:
| 言語 | チェスの例 |
|---|---|
| English | Knight f3, check. A strong developing move. |
| Francais | Cavalier f3, echec. Un coup de developpement fort. |
| Espanol | Caballo f3, jaque. Un fuerte movimiento. |
| Deutsch | Springer f3, Schach. Ein starker Entwicklungszug. |
| 日本語 | ナイト f3、チェック。強い展開の手。 |
| Русский | Конь f3, шах. Сильный развивающий ход. |
| 中文 | 马 f3,将军。一步控制中心的强力出子。 |
| 한국어 | 나이트 f3, 체크. 중앙을 지배하는 강력한 전개 수. |
すべてのチェス用語——駒の名前、「チェック」、「チェックメイト」、「キャスリング」、「テイクス」、「素晴らしい手」や「大悪手」などの手の質を示すアノテーション——は選択した言語で読み上げられます。PGNファイル内のコメントはそのまま読み上げられるので、聴きたい言語でゲームにアノテーションを付けてください。
チェス対応テキスト前処理
Section titled “チェス対応テキスト前処理”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.」と繰り返さないようにするため)。
キャッシング
Section titled “キャッシング”すべてのナレーションは初回生成後にメモリにキャッシュされます。ゲーム内を前後にステップすると、キャッシュから即座に再生されます——API呼び出しも再生成の遅延もありません。ゲームツリー全体をバックグラウンドで事前キャッシュすることもでき、再生中のポーズをゼロにできます。
キャッシュはprovider:voiceId:lang:textをキーとしているため、ボイスやプロバイダーを変更すると別のキャッシュエントリが作成されます。再生速度を変更してもキャッシュは無効になりません——速度はオーディオ要素のクライアント側で適用されます。
設定のClear Audio Cacheボタンで、アノテーション編集後に再生成を強制できます。
最高の体験のためのヒント
Section titled “最高の体験のためのヒント”-
Auto-Narrateを使いましょう。 「Auto-Narrate on Move」をオンにして、矢印キーでゲームを進めるだけです。手を進めると解説が自然に届きます——まるで肩越しにコーチがいるかのように。
-
自分のゲームにアノテーションを付けましょう。 TTSが本当に輝くのは、自分のゲームの解説を聴いているときです。ゲームにアノテーションを付けて、ナレーション付きで一手ずつ進めてください。ポジションを見つめながら「ポーンを取りたくなるが、キングサイド全体がまだ眠っている」と聴こえるのは、読むのとはまったく違う体験です。
-
異なる速度を試しましょう。 じっくり学習するために1xを好むプレイヤーもいれば、素早いレビューのために1.3xを好むプレイヤーもいます。速度スライダーはリアルタイムで再生を調整し、追加のAPI文字数を消費しません。
-
スピーカーアイコンを使いましょう。 手順リストのすべてのコメントには小さなスピーカーアイコンがあります。クリックすると、そのアノテーションだけを聴けます。
-
言語を切り替えてチェス用語を学びましょう。 第二言語でチェスを学習しているなら、TTS言語をそれに合わせてください。聴いているだけで「Cavalier」(ナイト)、「echec」(チェック)、「mat」(チェックメイト)などの用語を自然に覚えられます。
TTS向けアノテーションの書き方
Section titled “TTS向けアノテーションの書き方”以下のガイドラインに従うと、PGNアノテーションから最良の音声ナレーションが得られます。
コメント内のSAN
Section titled “コメント内のSAN”標準的な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」になります
アノテーション記号
Section titled “アノテーション記号”NAGグリフ(!、??、!?など)は自動的に質を示す単語を生成します。コメント内で重複させないでください:
- 悪い例:
?? {BLUNDER. A terrible move...}—— TTSが「Blunder. Blunder. A terrible move」と発話します - 良い例:
?? {A terrible move...}—— TTSが「Blunder. A terrible move」と発話します
手番号のドット
Section titled “手番号のドット”標準的なPGN記法で動作します:6...Bf5。前処理がドットをカンマに変換し、「dot dot dot」ではなく自然なポーズを作ります。
ピリオドによるペーシング
Section titled “ピリオドによるペーシング”ピリオドはTTSに自然なポーズを作ります。異なるアイデアの間に使用してください:
{Doubled isolated e-pawns. The f-file is ripped open. The position is strategically won.}[%cal ...]および[%csl ...]タグは音声から自動的に除去されます。ナレーションに影響を与えることなく、視覚的なアノテーションに自由に使用してください。
音声ライセンス
Section titled “音声ライセンス”En Parlant~をベースに開発する方へ、再配布に関する注意事項:
- ElevenLabs —— 生成した音声のすべての権利はあなたが保持します(ElevenLabs利用規約、セクションc(ii))。自由に再配布できます。
- Google Cloud —— 生成した音声のすべてのIP権利はあなたが保持します。制限はありません。
- KittenTTS、OpenTTS、System TTS —— 生成した音声に再配布の制限はありません。
この機能について
Section titled “この機能について”En CroissantはFrancisco Salgueiroによって作成されたオープンソースのチェス学習ツールです。Franciscoは本当に特別なもの——無料で強力な、コミュニティ主導のチェス学習プラットフォーム——を構築し、GPL-3.0ライセンスの下で公開しました。誰もがそれを使い、改良し、共有できるようにするためです。このTTS機能はその寛大さのおかげで存在しています。彼が築いた基盤に感謝し、それに貢献できることを誇りに思います。
TTSプラグインはRed ShedのDarrellがClaude Codeの助けを借りて開発しました。5つのプロバイダー、多言語サポート、多数の言語にわたる翻訳されたチェス用語、ローカルAI推論、依存関係管理——ソースからビルドし、手作業でテストし、丁寧にコントリビュートしました。
これがオープンソースの美しさです。誰かが素晴らしいものを作る。別の誰かがそれに追加する。みんなが恩恵を受ける。
お問い合わせ
Section titled “お問い合わせ”TTSの使い心地についてぜひお聞かせください。コメント、提案、フィードバックはいつでも歓迎です。
- まだサポートされていない言語がほしい? お知らせください——新しい言語は素早く追加できます。
- バグを見つけた? お伝えいただければすぐに修正します。
- 別のTTSプロバイダーのアイデアがある? 喜んで追加します。
- うまく動いていると伝えたいだけ? それも嬉しいです。
GitHubでイシューを開くか、**darrell@redshed.ai**まで直接ご連絡ください。