クラウドへの依存なしに、ブラウザやモバイルアプリで高品質な音声合成を実現できるとしたら、どのような場面で活用できるでしょうか。
supertonic は Supertone Inc. が開発するオープンソースの多言語 TTS(Text-to-Speech)エンジンで、ONNX Runtime でネイティブ動作するため、サーバーレスポンスを待たずにデバイス上でリアルタイム音声合成が可能です。
本記事では、supertonic のアーキテクチャから対応プラットフォーム、競合 OSS との比較まで、導入判断に必要な情報をドキュメントベースで整理します。
supertonic とは
supertonic は、Supertone Inc.(韓国)が開発・公開しているオープンソースの TTS エンジンです。ONNX Runtime を基盤とし、クラウド API を経由せずにデバイス上で多言語の音声合成を実行できます。
公式リポジトリ: supertone-inc/supertonic(GitHub)
最新版は Supertonic 3(2026年4月29日リリース)で、31言語対応・99M パラメータという構成は、0.7B〜2B 規模の競合 TTS モデルと比較して大幅に軽量です。開発時点のスター数は 9,000 超(フォーク数 943)で、音声合成の OSS コミュニティで注目を集めています。
ライセンス
- サンプルコード: MIT License
- モデル重み: OpenRAIL-M License
- PyTorch 依存部: BSD 3-Clause License
商用利用を検討する場合は、モデル重みに適用される OpenRAIL-M の条件を確認してください。
アーキテクチャと技術的な仕組み
フローマッチングベースの音声生成
supertonic の音声生成にはフローマッチングという手法が使われています。
フローマッチングはノイズから音声スペクトルへの変換経路を学習するアプローチで、従来の拡散モデルより少ないステップ数で高品質な音声を生成できます。supertonic では合成品質を total_steps(5〜12)で調整でき、デフォルト値 8 では品質と速度のバランスが取れた出力が得られます。
Length-Aware RoPE とテキスト・音声アライメント
supertonic は Length-Aware Rotary Position Embedding(RoPE) を採用しています。
通常の RoPE はトークン位置のみを考慮しますが、Length-Aware RoPE はテキストと対応する音声の長さ情報も組み込みます。これにより、繰り返し読み上げ(repeat)や読み飛ばし(skip)のエラーを抑制し、v2→v3 で読み取り精度が大幅に向上しました。
ONNX Runtime による軽量推論
supertonic はモデルを ONNX 形式で公開しており、Supertone が公式に管理する ONNX アセットを使用します。ONNX Runtime は CPU 専用でも動作するため、GPU のないエッジデバイスやモバイル端末でも推論が可能です。
パフォーマンス例(repo-meta.json・README より):
- Apple M4 Pro: リアルタイムの 167倍速での音声合成
- Raspberry Pi: RTF(Real-Time Factor)約 0.3×(1秒の音声を約0.3秒で生成)
主な機能と対応言語
31言語サポートと言語不問モード
Supertonic 3 は以下を含む 31言語に対応しています(v1 は英語のみ、v2 は5言語)。
英語 / 韓国語 / 日本語 / アラビア語 / ドイツ語 / フランス語 / スペイン語 / ヒンディー語 / ロシア語 など
言語指定には ISO コードを使用します。
# 日本語テキストの合成(出典: https://github.com/supertone-inc/supertonic)
wav, duration = tts.synthesize(
text="こんにちは、世界。",
lang="ja",
voice_style=style
)
lang="na" を指定すると言語不問モードが有効になります。複数言語が混在するテキストや、言語が不明な場合に使用します。
10種類の表現タグ
インライン表現タグを埋め込むことで、自然な発話のバリエーションを加えられます。
例: <laugh>, <breath>, <sigh> など 10種類が用意されており、コンテンツ制作や教材音声の制作に活用できます。
音声品質とパフォーマンス指標
- 出力品質: 44.1kHz 16bit WAV(スタジオグレード)
- モデルサイズ: 約99M パラメータ(ダウンロードサイズが小さく、コールドスタートが速い)
- 速度制御: 0.7×(低速)〜 2.0×(高速)
対応プラットフォームと SDK
supertonic は Supertone が公式サポートする 11種類のランタイム/プラットフォーム 向け SDK を提供しています。
プラットフォーム | 用途 |
|---|---|
Python | バックエンド・スクリプト処理 |
Node.js | サーバーサイド JS アプリ |
Browser(WebGPU/WASM) | ブラウザ上でのクライアントサイド TTS |
Java | JVM ベースのシステム |
C++ | 高パフォーマンス組み込み |
C# / .NET | Windows エコシステム |
Go | マイクロサービス |
Swift(macOS) | macOS デスクトップアプリ |
iOS | ネイティブ iOS アプリ |
Rust | メモリ安全性が求められる用途 |
Flutter | iOS/Android クロスプラットフォーム |
詳細な各 SDK の使用方法は公式ドキュメントを参照してください。
参照: supertonic-py ドキュメント(supertone-inc.github.io)
クイックスタート(Python)
# 出典: https://github.com/supertone-inc/supertonic
from supertonic import TTS
tts = TTS(auto_download=True)
style = tts.get_voice_style(voice_name="M1")
wav, duration = tts.synthesize(
text="Supertonic is a lightning fast, on-device TTS system.",
lang="en",
voice_style=style,
total_steps=8,
speed=1.05
)
tts.save_audio(wav, "output.wav")
インストールは pip install supertonic のみです。初回実行時に Hugging Face からモデルアセットが自動ダウンロードされます。
ビルトインボイスは M1〜M5(男性)、F1〜F5(女性)の 10種類が用意されています。また、Voice Builder でカスタムボイスを作成することも可能です。
ローカル HTTP サーバー機能(OpenAI 互換)
supertonic には serve コマンドによるローカル HTTP サーバー機能があります。
supertonic serve
起動後は以下のエンドポイントが利用可能になります。
- ネイティブ:
POST /v1/tts - OpenAI 互換:
POST /v1/audio/speech
OpenAI TTS API を使用している既存システムからの移行が容易な設計です。プライバシーが重視される環境(医療・金融・エンタープライズ)でのオフライン運用にも対応します。
Kokoro・Coqui TTS との比較
オンデバイス TTS を検討する際によく比較される OSS として、Kokoro-82M と Coqui TTS(XTTS v2) があります。
Kokoro-82M との違い
観点 | supertonic | Kokoro-82M |
|---|---|---|
パラメータ数 | 99M | 82M |
対応言語 | 31言語(公式) | 英語・日本語等(v1.0 で多言語化) |
ONNX 提供 | 公式アセット | サードパーティ変換版 |
SDK | 11種類(公式) | 主に Python(Rust 等はサードパーティ) |
表現タグ | 10種類 | なし |
OpenAI 互換 API | あり | なし(公式) |
ライセンス | MIT + OpenRAIL-M | Apache 2.0 |
Kokoro-82M は Apache 2.0 ライセンスで自由度が高く、英語の品質が特に高いとされています。一方、supertonic は 31言語での均質な品質を目標とし、公式 SDK が多プラットフォームをカバーしているため、モバイルやブラウザへの組み込みがより容易です。
Coqui TTS(XTTS v2)との違い
観点 | supertonic | Coqui TTS(XTTS v2) |
|---|---|---|
主な用途 | 固定ボイスのオンデバイス TTS | 汎用 TTS + ボイスクローニング |
推論基盤 | ONNX Runtime(軽量) | PyTorch(重量) |
エッジ・モバイル | 対応 | 非対応 |
ボイスクローニング | なし(公式パイプラインなし) | あり(数秒の音声サンプルから) |
メンテナンス | 活発(2026年5月時点) | 縮小傾向(Coqui 社閉業) |
Coqui TTS はボイスクローニング機能を備えており、任意の声を数秒のサンプルから再現できます。ただし PyTorch ベースのため推論コストが高く、エッジデバイスでの動作は困難です。supertonic は固定ボイスに特化し、軽量なエッジ運用を優先した設計です。
supertonic を選ぶべき場面
- モバイル・ブラウザ・エッジデバイスへの TTS 組み込み: 11種類の公式 SDK でカバー
- 31言語の均質な品質が必要: 公式 ONNX アセットと多言語訓練データ
- プライバシー重視の環境: ネットワーク依存ゼロのオンデバイス処理
- 既存の OpenAI TTS API 連携: ローカルサーバーの OpenAI 互換エンドポイント
ライセンスと商用利用
supertonic のライセンス構成は以下のとおりです。
対象 | ライセンス | 主な条件 |
|---|---|---|
サンプルコード | MIT License | 自由な利用・改変・再配布が可能 |
モデル重み | OpenRAIL-M License | 用途制限あり(ハームフルユース禁止) |
PyTorch 依存部 | BSD 3-Clause License | 帰属表示が必要 |
モデル重みに適用される OpenRAIL-M は、一般的な MIT と異なり、有害利用(差別・暴力・詐欺等への利用)を禁止する条件が含まれます。商用プロダクトへの組み込みを検討する場合は、OpenRAIL-M の条件を事前に確認してください。
参照: supertone-inc/supertonic(GitHub)
まとめ
supertonic は「オンデバイス」「多言語(31言語)」「11プラットフォーム SDK」を同時に満たす OSS の TTS エンジンです。フローマッチングと ONNX Runtime の組み合わせにより、GPU なしで高品質な音声合成を実現しています。
導入判断のポイントを整理すると以下のとおりです。
- Kokoro-82M との違い: supertonic は公式 ONNX アセット・多プラットフォーム SDK・31言語対応が強み。Kokoro は Apache 2.0 ライセンスの自由度と英語品質で優位
- Coqui TTS との違い: supertonic はエッジ・モバイルの軽量運用に特化。ボイスクローニングが必要な場合は Coqui TTS が適切
- ライセンス注意点: モデル重みは OpenRAIL-M のため、有害利用禁止条件の確認が必要
プライバシーが重視される環境や、多言語対応のモバイル・ブラウザアプリへの TTS 組み込みを検討している場合は、supertonic の公式リポジトリを参照してみてください。
supertone-inc/supertonic(GitHub) | Python ドキュメント | Supertone 公式



