ガイド

自然な声でオフラインに使える gTTS の代替

gTTS は多くの Python チュートリアルの出発点となるライブラリーで、テキストを Google 翻訳の音声サービスに送って MP3 を保存します。簡単で無料ですが、インターネットが必要で、公式APIではなく、制限されたり動かなくなったりすることがあり、選べるのは声ではなく言語とアクセントです。

SuperClonica は、自分のPCでオフラインにテキストを読み上げる無料エンジンで、標準の10音声、カタログのキャラクターの声、自分の録音から学習した声を使えます。このページでは両者を正直に比べます。

2つの異なる仕組み

片方はオンラインサービスを借りるもの、もう片方はインストールして手元に残るエンジンです。

  • gTTS:テキストはオンラインサービスへ。声は言語とアクセントごとに1つ。非公式なので、リクエストが制限されたり失敗したりすることがある。
  • SuperClonica:約385 MB のモデルを一度ダウンロードしたあとはローカルで動作。何も外に送らない。
  • SuperClonica の声は31言語を話します。中国語はまだ対応していませんが、gTTS は中国語を話せます。
  • SuperClonica では多くの声を選べます。標準の声、キャラクターの声、そして自分の声。

gTTS で十分な場面

ネット接続のある環境でのちょっとしたスクリプト、Supertonic 3 が話さない言語、あるいは声の質を問わないときは gTTS は妥当な選択で、SuperClonica はその言語の幅を置き換えるものではありません。

SuperClonica が向いている場面

同じテキスト、声、seed なら常に同じ音声になるので、結果を再現できます。

  • プログラムをオフラインや閉じたネットワークで動かす必要がある。
  • テキストが機密で、マシンの外に出してはいけない。
  • 声を選びたい、キャラクターの声や自分で学習した声を使いたい。
  • 大量のテキストを読み上げるので、非公式サービスの制限にかかりたくない。

数行で乗り換える

python -m pip install superclonica-cpu でエンジンをインストールします。コードで gTTS オブジェクトを作って保存している箇所は、エンジンに置き換えます。from superclonica import Superclonica と tts = Superclonica() のあとで audio, rate = tts.synthesize(text, voice="F1", lang="ja"); tts.save("hello.wav", audio) と書きます。gTTS のように MP3 が欲しければ、出力名を .mp3 にしてコマンドライン版を実行します。長いテキストは自然な間で区切られ、1つのファイルにまとめられます。乗り換える前に、声のページで30〜100文字のフレーズを無料・アカウント不要で試してみましょう。

費用

エンジンとモデル標準の10音声は無料で、カタログのいくつかの声も無料です。ほかの声は一度買えばずっと使えます。リクエストごとの料金も、制限をかけてくる相手もいません。一度インストールすれば、インターネットなしで動きます。