ガイド

自然な声で使える pyttsx3 の代替

pyttsx3 は Python の定番オフライン読み上げで、OS の音声エンジン(Windows の SAPI5、macOS の音声、Linux の eSpeak)を操作します。数秒でインストールでき、どこでも動きますが、声はロボット的で、プログラムの声はマシンごとに変わります。

SuperClonica もオフラインで動きますが、ニューラルモデルを使います。Windows、Linux、macOS で同じに聞こえる自然な声に加え、キャラクターの声や自分の録音から学習した声も使えます。このページでは両者を正直に比べます。

2つのオフラインの方法

片方はシステムの声を借り、もう片方は自前の声を持ち込みます。

  • pyttsx3:とても小さく即座に動き、システムに入っている声を使う。声はロボット的でプラットフォームごとに違う。
  • SuperClonica:約385 MB のニューラルモデルを一度ダウンロード。自然な声が、どこでも同じに。
  • どちらもインターネットなしで動きます。
  • SuperClonica の声は31言語を話します。中国語はまだ対応していません。

pyttsx3 が適している場面

短い通知、非力なPCでのアクセシビリティ機能、ダウンロードなしですぐ起動すべきスクリプトなら、pyttsx3 のほうが軽くて簡単です。SuperClonica はそれを置き換えようとはしていません。

SuperClonica が向いている場面

同じテキスト、声、seed なら常に同じ音声になります。pyttsx3 ではマシンが変わると保証できません。

  • プログラムの声を利用者が聞くので、自然に聞こえてほしい。
  • どの OS やマシンでも同じに聞こえてほしい。
  • キャラクターの声、ブランドの声、自分で学習した声が欲しい。
  • 読み上げるだけでなく、動画、講座、ゲーム用に音声ファイルを保存したい。

数行で乗り換える

python -m pip install superclonica-cpu でエンジンをインストールします。コードで pyttsx3 を呼んで読み上げや保存をしている箇所では、from superclonica import Superclonica のあとでエンジンを一度だけ作り(tts = Superclonica())、audio, rate = tts.synthesize(text, voice="F1", lang="ja"); tts.save("hello.wav", audio) と書きます。ファイルは任意の音声ライブラリーで再生するか、そのまま保存します。エンジンの読み込みは数秒、その後は1フレーズ1秒未満です。乗り換える前に、声のページで30〜100文字のフレーズを無料・アカウント不要で試してみましょう。

費用

エンジンとモデル標準の10音声は無料で、カタログのいくつかの声も無料です。ほかの声は一度買えばずっと使えます。pyttsx3 よりメモリーとCPU時間を使いますが、グラフィックカードも、最初のダウンロード後のインターネットも不要です。