Skip to content

インストール — CPU vs GPU ​

HayaKoe は CPU 専用 と GPU(CUDA) の2つのインストールプロファイルをサポートしています。

お使いの環境に合った方を選ぶだけです。

どちらを選ぶべきですか? ​

  • CPU — GPU がない場合や、あっても一度試してみたいとき
  • GPU — 大量処理が必要な場合や、リアルタイム性が重要なとき

迷ったときのデフォルト

迷ったら CPU から始めてください。

後から GPU extras を追加インストールするだけで済みます。

CPU インストール(デフォルト) ​

PyTorch が不要なのでインストールが短く、イメージも軽量になります。

bash
pip install hayakoe
bash
uv add hayakoe
bash
poetry add hayakoe

arm64 でもそのまま動きます

Raspberry Pi(4B 以上)のような aarch64 Linux 環境でも同じコマンドひとつでインストールでき、CPU 推論が動作します。

実測値は ラズベリーパイ 4B ベンチマーク を参照してください。

確認 ​

python
from hayakoe import TTS

tts = TTS().load("jvnv-F1-jp").prepare()
audio = tts.speakers["jvnv-F1-jp"].generate("テスト、テスト。")
audio.save("test.wav")
print("OK")

初回実行時に HuggingFace 公式 repo から BERT・Synthesizer・スタイルベクトルが自動的にキャッシュフォルダにダウンロードされます。

デフォルトのキャッシュパスはカレントディレクトリの hayakoe_cache/ です。

GPU インストール(CUDA) ​

事前準備 ​

GPU モードは PyTorch CUDA ビルドを使用します。

必要なのは NVIDIA ドライバひとつ だけです。

  • CUDA Toolkit は別途インストール不要です — PyTorch wheel に必要な CUDA ランタイムが含まれています。
  • ただし、お使いのドライバがインストールしようとする CUDA バージョンをサポートしている必要があります。

ドライバがインストールされているか確認:

bash
nvidia-smi

正常にインストールされていれば以下のような出力が表示されます。

text
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.126.09             Driver Version: 580.126.09     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3090        Off |   00000000:06:00.0 Off |                  N/A |
| 53%   33C    P8             38W /  390W |    1468MiB /  24576MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

1行目右側の CUDA Version: 13.0 がお使いのドライバがサポートする 最大 CUDA バージョン です(上記の例では 13.0)。

CUDA バージョンの選び方

nvidia-smi で確認したバージョン以下の PyTorch CUDA ビルドを選べば大丈夫です。

以下のインストール例の cu126 の部分をお使いの環境に合ったバージョンに置き換えてください(例:cu118、cu121、cu124、cu128)。

サポートされる組み合わせは PyTorch 公式インストールページ で選べます。

インストール ​

hayakoe[gpu] extras は safetensors のみを追加し、torch は引き込みません。

2行を別々にインストールすれば良く、順序は問いません。

bash
pip install hayakoe[gpu]
pip install torch --index-url https://download.pytorch.org/whl/cu126
bash
uv add hayakoe --extra gpu
uv add torch --index https://download.pytorch.org/whl/cu126
bash
poetry add hayakoe -E gpu
pip install torch --index-url https://download.pytorch.org/whl/cu126

確認 ​

python
from hayakoe import TTS

tts = TTS(device="cuda").load("jvnv-F1-jp").prepare()
tts.speakers["jvnv-F1-jp"].generate("ウォームアップ完了。").save("gpu_test.wav")

初回リクエストは遅い場合があります

GPU モードでは初回の generate() 呼び出しが通常より数秒長くかかる場合があります(cuDNN の初期化など)。

2回目の呼び出しからは通常速度が出ます。

サーバーとして起動する場合は、prepare(warmup=True) でこのコストを起動段階で先に済ませておくことを推奨します。

さらに速く:BERT torch.compile(オプション)

prepare(compile=True) を指定すると、共有 BERT に PyTorch の torch.compile を適用します。

torch.compile は PyTorch 2.0 で追加された JIT コンパイラで、モデル実行グラフをトレースして一度コンパイルした後、その結果を再利用する方式です。

実測では 約80秒のコンパイルウォームアップ と引き換えに、steady-state の合成が 1文あたり約20% 速くなります。

一度コンパイルされたグラフはプロセスが生きている間キャッシュされるため、長時間稼働するサーバーなら有効にする価値があります。

スクリプトや対話的な使用のようにすぐ起動・終了する環境なら、デフォルト(オフ)のままが適しています。

python
# FastAPI lifespan, Celery worker 初期化などで
tts = TTS(device="cuda").load("jvnv-F1-jp").prepare(warmup=True, compile=True)

CPU(ONNX)モードでは compile フラグは無視され、このウォームアップステップは不要です。

ここまでできたら次のステップへ:初めての音声を作る →