ガイド

Supertonic 3 の音声:カスタム音声の入手先と使い方

Supertonic 3 は、普通のパソコンで動く小さなオープンの音声合成モデルです。10 種類のプリセット音声が付属し、それ以外の音声はあなたが追加する小さなファイル 1 つです。そのファイルがあれば、モデルが対応する 31 言語のどれでも、自分の CPU や GPU でオフラインに音声を生成できます。

このガイドでは、Supertonic 3 の音声とは何か、元の Supertonic プロジェクトがアーカイブされた今カスタム音声をどこで入手するか、そして公式コード、SuperClonica エンジン、Docker で音声を使う方法を説明します。SuperClonica はこうした音声を販売・学習しているので、自社のサービスについて述べる箇所はそう明記します。

Supertonic 3 の音声とは

Supertonic 3 の音声は「ボイススタイル」です。約 0.3 MB の JSON ファイルで、2 組の小さな数値の集まりを持ちます。一方は声色と話し方を、もう一方はテンポと間を決めます。モデル本体(約 385 MB の ONNX ファイル)はすべての音声で共通で、ダウンロードは一度だけです。

音声がモデルと分かれているので、音声の切り替えに手間はかかりません。同じインストールで、渡した音声ファイルのどれでも話せます。音声はモデルのすべての言語で使え、英語・スペイン語・ドイツ語からロシア語・日本語・韓国語・アラビア語・ヒンディー語まで話します。最も自然に聞こえるのは、元になった録音の言語です。中国語は 31 言語に含まれていません。

Supertonic 3 の音声の入手先

M1〜M5 と F1〜F5 の 10 種類のプリセット音声はモデルに付属しています。それ以外にはいくつかの入手先があります。

  • GitHub の無料音声:superclonica/supertonic-voices リポジトリに、9 言語の音声サンプル付きの無料音声ファイルがあります。
  • SuperClonica のカタログ:ゲームやアニメのキャラクター、ナレーター、男性・女性・子どもの声など 170 以上の音声があります。各音声のページにはデモがあり、短いフレーズを無料でオンライン合成できます。無料音声はアカウントなしでダウンロードでき、有料音声は一度の購入で使えます。
  • 受注制作の音声:依頼ページで音声の内容を説明し録音を添付すると、作者がその音声を学習します。
  • 自分の声:SuperClonica は、短くクリアな録音から、あなたの NVIDIA GPU 上で無料で音声を学習します(当社のワーカープログラムを使用)。
  • Supertone の旧カスタム音声サービス Voice Builder はアーカイブされたプロジェクトに含まれていないため、そこで新しい音声を作ることはもうできません。

公式の Supertonic コードで音声を使う

アーカイブされた Supertonic リポジトリは今も動きます。クローンして Python 3.11 の仮想環境を作り、huggingface_hub をインストールし、hf download supertone-oss-archive/supertonic-3 --local-dir assets でモデルを assets フォルダにダウンロードします(プロジェクトのクイックスタートで正確なリビジョンが指定されています)。続いて py/requirements.txt のパッケージをインストールします。

カスタム音声で話すには、py フォルダでサンプルスクリプトを実行し、音声ファイルを渡します:python example_onnx.py --voice-style ./voice.json --text "ここにテキスト" --lang ja --n-test 1。WAV ファイルは results フォルダに出力されます。別の言語にするには --lang を en や de などに変えます。

SuperClonica エンジンで音声を使う

SuperClonica は Supertonic 3 をベースにした当社のエンジンです。同じ音声ファイルを変換なしで読み込み、当社の測定では CPU で平均 61%、グラフィックカードで 73% 高速です。単語間のモデルのノイズを取り除き、数字を言葉として読み上げます。

パッケージを 1 つインストールします:python -m pip install superclonica-cpu、NVIDIA GPU なら superclonica-gpu-cuda。Python ではエンジンを一度作成し、tts.synthesize("こんにちは!", voice="voice.json", lang="ja", seed=7) を呼んでから tts.save("hello.wav", audio) で保存します。コマンドラインでは superclonica --text "こんにちは!" --voice voice.json --lang ja --output hello.wav です。ベースモデルは初回実行時にダウンロードされます。

Docker で音声を使う

Docker Hub の superclonica/superclonica イメージは、エンジンを HTTP サーバーとして動かします:docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu。NVIDIA GPU では cuda タグと --gpus all を使います。

POST /synthesize へのリクエストにはテキスト、言語、音声を含めます。音声 JSON の中身をそのままリクエストに入れます。音声は約 0.3 MB あるので、リクエストはファイルにまとめて curl -d @request.json で送ると便利です。応答は 16 ビットの WAV です。

良い結果を得るコツ

いくつかの習慣で、音声の良さを最大限に引き出せます。

  • 音声ではなくテキストの言語を指定します。ロシア語の音声でも英語のテキストは lang=en で読みます。
  • 気に入った出来のときはシード(seed)を固定します。同じテキスト・音声・シードなら同じ音声がもう一度得られます。
  • 公式コードでは、数字・日付・略語を読み上げたい形で書きます。SuperClonica エンジンは数字を自動で言葉にします。
  • 長いテキストは段落に分けます。SuperClonica エンジンはこれを自動で行い、長文を短い部分に分けて読むので、単語の繰り返しや途切れが起こりにくくなります。
  • 購入前にデモを聞きましょう。音声はアクセントも含め、元の録音の特徴を保ちます。

実在の人物の声とモデルのルール

カタログには有名人にインスピレーションを得た音声もあります。これらは本人の声ではなく、本人も関わっていないので、そうした音声を本人の発言として扱わないでください。

Supertonic 3 は BigScience Open RAIL-M ライセンスで公開されており、その利用制限はすべての音声に適用されます。本人の同意なく他人になりすましたり、だましたり嫌がらせをしたりする目的で音声を使わないでください。また、重要な場面では音声が機械生成であることを明示してください。