自分のPCでテキストをオフライン読み上げする方法
オフラインのテキスト読み上げとは、Webサービスではなく自分のPC上のプログラムが音声を生成することです。テキストはPCの外に出ず、文字数で課金されることもなく、一度インストールすればインターネットなしで動きます。
このガイドでは、普通のCPUで動くオープンな音声合成モデルSupertonic 3と、SuperClonicaのカタログの音声を使って、一連の流れを説明します。音声の選び方、Windows・macOS・Linuxへのエンジンのインストール、最初の音声ファイルの作成、長文の扱い方です。
オフライン音声合成に必要なもの
Windows、macOS、LinuxのいずれかのPCがあれば十分です。Supertonic 3はCPUで動き、開発元によるとグラフィックボードは必要ありません。NVIDIAのGPUがあれば速くなりますが、必須ではありません。
- 標準のSupertonic 3クライアントにはGitとPython 3.11が必要です。SuperClonicaエンジンはPython 3.10以降で動きます。
- ベースモデル用に約400MBの空き容量。ダウンロードは一度だけです。
- 音声:音声のプロファイルを収めたJSONファイル1つ。
- インターネットはインストール時だけ必要です。その後はオフラインで音声を生成できます。
ステップ1:音声を選ぶ
Supertonic 3にはいくつかのプリセット音声が付属しています。落ち着いたナレーター、ゲームのキャラクター、会話向きの声など、特定の声が欲しい場合はカタログを見てください。どの音声にもデモと作者による説明があり、無料のものもあります。
まず言語を確認しましょう。Supertonic 3は日本語、英語、韓国語、スペイン語、フランス語、ドイツ語、ロシア語などを含む31言語に対応していますが、中国語にはまだ対応していません。
購入後は「マイライブラリ」を開き、音声をJSON形式でダウンロードします。ほかの場所でSupertonic 3向けに作られた音声ファイルも同じように使えます。
ステップ2:Windows・macOS・LinuxにSupertonic 3をインストール
標準のSupertonic 3クライアントは今すぐ使えます。ターミナル(WindowsではPowerShell)を開き、当サイトの「仕組み」ページにあるコマンドを順番に実行します。GitHubからsupertonicリポジトリをクローンし、その中にPython 3.11の仮想環境を作成し(Windowsはpy -3.11 -m venv .venv、macOSとLinuxはpython3.11 -m venv .venv)、huggingface_hubをインストールし、hfツールでsupertone-oss-archive/supertonic-3モデルをassetsフォルダにダウンロードし、py/requirements.txtのパッケージをインストールしてpyフォルダに移動する、という流れです。
ページにはWindows用とmacOS・Linux用のコマンドがそのまま載っていて、コピーボタンもあります。時間がかかるのはモデルのダウンロードだけで、それも一度で済みます。
ステップ3:テキストを音声にする
ダウンロードした音声をsupertonic/pyフォルダにvoice.jsonという名前で保存します。次に仮想環境からexample_onnx.pyを実行し、音声、テキスト、言語コードを渡します:--voice-style "./voice.json" --text "読み上げたい文章" --lang ja --n-test 1。resultsフォルダにWAVファイルが作られます。
ほかの言語にするときは、テキストとコードを変えます(例:--lang enや--lang ko)。スクリプトには--speedオプションもあり、既定値は1.05で、値を大きくすると話す速さが上がります。
ここから先はネットワークが要りません。接続を切っても、好きなだけテキストを読み上げられます。
より速く:SuperClonicaエンジン
SuperClonicaはSupertonic 3をベースにした当社のエンジンです。同じJSON音声ファイルを変換なしで読み込み、同じ設定でCPUでは平均61%(Ryzen 7 5800Xで計測)、グラフィックボードでは平均73%(RTX 5070 Tiで計測)速く動きます。無音部分にノイズが乗らず、文末もきれいに収まります。
パッケージはPyPIで公開済みで、インストールはコマンド1つです:python -m pip install superclonica-cpu、NVIDIA GPUならsuperclonica-gpu-cuda(CUDAとcuDNNはpipが一緒に入れます)。読み上げも1行で済みます:superclonica --text "こんにちは。" --voice voice.json --lang ja --output hello.wav。ベースモデルは初回実行時にダウンロードされます。PythonからはSuperclonica().synthesize()に同じ引数を渡します。完全な例はインストールページにあります。
長文を読み上げるコツ
本や記事、長い台本は、少し準備するだけで仕上がりが良くなります。
- テキストを章や節に分け、それぞれ別のファイルに書き出しましょう。うまくいかなかった箇所だけをすぐにやり直せます。
- 標準クライアントでは、1回に段落1つか数文ずつ渡し、音声編集ソフトでつなげます。SuperClonicaエンジンは長文を自動で短く区切って読み上げるため、言葉の繰り返しや途切れが起きにくくなっています。
- 数字、日付、単位、略語は、読み上げてほしい形で書きます。
- 長すぎる文は区切りましょう。間の取り方は句読点で決まります。
- 時間の見積もりも大切です。当社の推定では、デスクトップ向け8コアCPUでSuperClonicaは1時間分の音声を約7〜11分で生成します。