GPT-SoVITS TTS スキル
高品質な音声クローニング・TTS(Text-to-Speech)システム。
概要
| 項目 | 内容 |
|---|
| ツール | GPT-SoVITS v2 |
| 開発元 | RVC-Boss |
| インストール先 | /Users/matsumototoshihiko/Desktop/semi/miyabi_taiyou/GPT-SoVITS |
| 用途 | 音声クローニング、ナレーション生成 |
特徴
- Zero-shot TTS: 5秒の音声サンプルから即座に音声合成
- Few-shot TTS: 1分のトレーニングデータで声質を学習
- 多言語対応: 日本語、英語、中国語、韓国語、広東語
- 高速推理: RTF 0.028(4060Ti)〜0.526(M4 CPU)
クイックスタート
1. 環境起動
cd /Users/matsumototoshihiko/Desktop/semi/miyabi_taiyou/GPT-SoVITS
source venv/bin/activate
# WebUI起動(ポート9874)
python webui.py
# または API サーバー起動(ポート9880)
python api.py -dr "参考音声.wav" -dt "参考テキスト" -dl "ja"
2. API経由で音声生成
# テキストから音声生成
curl -X POST "http://127.0.0.1:9880" \
-H "Content-Type: application/json" \
-d '{
"text": "こんにちは、これはテスト音声です。",
"text_language": "ja"
}' \
--output output.wav
3. 参考音声を指定して生成
curl -X POST "http://127.0.0.1:9880" \
-H "Content-Type: application/json" \
-d '{
"refer_wav_path": "/path/to/reference.wav",
"prompt_text": "参考音声のテキスト",
"prompt_language": "ja",
"text": "生成したいテキスト",
"text_language": "ja",
"speed": 1.0
}' \
--output output.wav
API パラメータ
| パラメータ | 型 | 説明 |
|---|
text | string | 生成するテキスト |
text_language | string | テキストの言語(ja/en/zh/ko/yue) |
refer_wav_path | string | 参考音声ファイルのパス |
prompt_text | string | 参考音声の文字起こし |
prompt_language | string | 参考音声の言語 |
speed | float | 話速(0.5〜2.0) |
top_k | int | サンプリングパラメータ |
top_p | float | サンプリングパラメータ |
temperature | float | サンプリングパラメータ |
Python統合スクリプト
#!/usr/bin/env python3
"""GPT-SoVITS API Client"""
import requests
import os
def generate_audio(
text: str,
output_path: str,
refer_wav_path: str = None,
prompt_text: str = None,
prompt_language: str = "ja",
text_language: str = "ja",
speed: float = 1.0,
api_url: str = "http://127.0.0.1:9880"
):
"""Generate audio using GPT-SoVITS API"""
payload = {
"text": text,
"text_language": text_language,
"speed": speed
}
if refer_wav_path:
payload["refer_wav_path"] = refer_wav_path
payload["prompt_text"] = prompt_text
payload["prompt_language"] = prompt_language
response = requests.post(api_url, json=payload)
if response.status_code == 200:
with open(output_path, "wb") as f:
f.write(response.content)
print(f"Audio saved to: {output_path}")
return True
else:
print(f"Error: {response.text}")
return False
if __name__ == "__main__":
generate_audio(
text="AIゴールドラッシュの波に乗り遅れないでください。",
output_path="output.wav",
text_language="ja"
)
ディレクトリ構造
GPT-SoVITS/
├── venv/ # Python仮想環境
├── GPT_SoVITS/
│ └── pretrained_models/ # プレトレーニングモデル(5GB)
├── api.py # APIサーバー
├── api_v2.py # v2 APIサーバー
├── webui.py # Web UI
├── config.py # 設定ファイル
└── output/ # 出力ディレクトリ
トラブルシューティング
| 問題 | 解決策 |
|---|
| ポートが使用中 | lsof -i :9880 で確認し、プロセスを終了 |
| CUDA エラー | --device cpu で CPU モードで実行 |
| 音質が悪い | 参考音声の品質を改善、ノイズ除去 |
| 速度が遅い | バッチサイズを調整、GPUを使用 |
関連リソース
Creatify Aurora リップシンク
GPT-SoVITSで生成した音声を使って、Creatify Aurora APIでリップシンク動画を生成できます。
使用方法
cd /Users/matsumototoshihiko/Desktop/semi/miyabi_taiyou/GPT-SoVITS
source venv/bin/activate
# リップシンク動画を生成
python scripts/generate_lipsync_aurora.py \
--image /path/to/person.jpg \
--audio /path/to/narration.wav \
--output output_lipsync.mp4 \
--resolution 720p
パラメータ
| パラメータ | 説明 |
|---|
--image | 人物画像(顔がはっきり見えるもの) |
--audio | 音声ファイル(GPT-SoVITSで生成) |
--output | 出力動画パス |
--resolution | 480p ($0.10/秒) または 720p ($0.14/秒) |
--prompt | オプションのプロンプト |
環境変数
# .envに設定済み
RUNCOMFY_API_KEY=your-api-key
LIPSYNC_MODEL_PRIMARY=creatify-aurora
CREATIFY_AURORA_RESOLUTION=720p
更新履歴
- 2025-12-25: Creatify Aurora リップシンク統合
- 2025-12-25: 初期インストール・スキル作成