ローカル音声認識・音声合成

Supertonic 3でGPUなしの韓国語音声を作る

テキスト、韓国語コード`ko`、同梱プリセットを指定してWAVを作ります。

Supertonic 3は31言語に対応するオンデバイスTTS1です。公開ONNX資産をCPU2で実行し、同梱のM1~M5・F1~F5音声プリセットを選んで韓国語をWAVに保存できます。ユーザーの声を使うスタイルはVoice Builderという別のサービス経路です。

実行条件と要点
  • 韓国語テキストに--lang koを指定し、ONNXモデルでWAVを作ります。
  • M1~M5・F1~F5から一つを--voice-styleで選びます。
  • 同梱プリセットとユーザーvoice styleサービスは別の経路です。

アーカイブされた公開モデルでCPU合成を始める

Supertonic 3はテキストと言語コードを受け取り、音声を作る多言語TTSです。公開モデルをONNX Runtime3で実行し、韓国語にkoと同梱の音声プリセットを指定してWAVを保存できます。モデルカードは韓国語、英語、日本語を含む31言語を掲載しています。Supertonic 3モデルカード

公開リポジトリは 2026 年 9 月 9 日にアーカイブされ、コードの更新とサポートは終了しました。以下の手順ではアーカイブ時点のコードと、固定したモデルアセットの revision をダウンロードします。

開いた本、小型コンピューター、スピーカーが置かれた机
合成する前に原稿と音声プリセットを決めます。

固定したモデルファイルを準備する

Python 3.11とGitが必要です。以下はmacOS・Linux用で、コードはアーカイブされたdefault branchから取得し、モデルファイルのrevisionを固定します。

リポジトリとモデル資産を準備
git clone https://github.com/supertone-oss-archive/supertonic.git
cd supertonic
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install huggingface_hub
hf download supertone-oss-archive/supertonic-3 --revision aafc6e32416a594460b32413efc49d7fe4ce6d46 --local-dir assets

韓国語WAVを作り、別のプリセットも試す

同じ仮想環境4にONNX例の依存パッケージを入れ、py/フォルダーから合成コマンドを実行します。例の既定音声はM1ですが、ここではプリセットファイルを明示します。--lang koは入力が韓国語であることを示します。

M1プリセットで韓国語文を合成
python -m pip install -r py/requirements.txt
cd py
python example_onnx.py --n-test 1 --text "오늘 회의는 오후 두 시에 시작합니다." --lang ko --voice-style ../assets/voice_styles/M1.json

Apple M4 CPU、ONNX Runtime 1.23.1 CPUExecutionProvider、F3、8 steps、speed 1.05、seed 42 の条件で測定しました。各言語で 1 回ウォームアップした後に 3 回実行し、モデル読み込み後の tts() 呼び出し時間のみを計測しました。

約 12 秒の韓国語音声では、合成呼び出しの中央値は 2.30 秒でした。この値にはモデルのダウンロード・読み込み、WAV 保存、MP3 エンコードは含まれません。公開サンプルを聞き、実際の原稿も CPU で生成して確認してください。測定条件とデータ

成功すると、入力文の一部をファイル名に含むWAVがpy/results/に作られます。数字、製品名、文末を聞いてください。別の声を試すにはM1.jsonをassets/voice_styles/内のF3.jsonなどに置き換えます。ファイルがない場合はターミナルの最初のエラーとpy/results/を確認します。

左右にスクロールして各項目を比較できます。

言語別の生成音声時間と合成呼び出し時間
言語音声の長さtts()中央値RTF
韓国語12.04秒2.299秒0.191
英語11.15秒2.215秒0.199
日本語14.64秒2.943秒0.201
マイク、ヘッドホン、音声波形を表示したモニターのある作業机
生成したWAVを聞き、文末や数字の読み方を確認します。

プリセット音声とカスタムスタイルを分ける

公開モデル資産にはM1~M5、F1~F5の10種類のプリセット音声スタイルが含まれます。モデルに含まれる声を選べます。同じ文と言語を使い、--voice-styleのパスだけを変えて発音や速度を比べます。

Voice Builder は参照録音からユーザースタイルを作成する別サービスでしたが、アーカイブ済みのリポジトリには含まれていません。このローカル例では M1~F5 のプリセットから選びます。他人の声を模倣する場合は、先に許可を得てください。

コードとモデルに適用されるライセンスを別々に確認する

サンプルコードはMIT、モデル重みはOpenRAIL-Mライセンスです。ソフトウェアの改変・配布条件と、モデル重み・生成物に適用される条件を別々に確認します。リポジトリとモデルカードから各ライセンス本文を確認できます。

実際に使う分量を CPU で生成し、数字や名前、文末の読み方を聞いて確認します。ブラウザーで実行する場合は、アーカイブ済みリポジトリの web/README.md にあるローカル例を使って開発サーバーを起動します。

ヘッドホン、オーディオプレーヤー、開いたノートが置かれた机
同梱プリセットとカスタム音声スタイルは準備方法が異なります。

用語の注釈

  1. 音声合成 — テキストを発音や韻律を伴う音声信号に変換する技術です。

    本文に戻る
  2. CPU — OSや一般的なプログラム命令を実行する中央処理装置です。AIでは前処理やデータ転送などの汎用処理も担います。

    本文に戻る
  3. ランタイム — プログラムの実行時に必要な機能を提供するソフトウェア環境です。ローカルAIではモデル実行エンジンを指すこともあります。

    本文に戻る
  4. Python仮想環境 — プロジェクトごとにPythonパッケージを分けて導入する環境です。パッケージのバージョンの衝突を減らせます。

    本文に戻る

よくある質問

この記事で最初に確認すべきことは何ですか?
Supertonic 3は31言語に対応するオンデバイスTTSです。公開ONNX資産をCPUで実行し、同梱のM1~M5・F1~F5音声プリセットを選んで韓国語をWAVに保存できます。ユーザーの声を使うスタイルはVoice Builderという別のサービス経路です。
条件と出典はどこで確認できますか?
Supertonic 3はテキストと言語コードを受け取り、音声を作る多言語TTSです。公開モデルをONNX Runtimeで実行し、韓国語に`ko`と同梱の音声プリセットを指定してWAVを保存できます。モデルカードは韓国語、英語、日本語を含む31言語を掲載しています。[Supertonic 3モデルカード](https://huggingface.co/supertone-oss-archive/supertonic-3)