Windows環境でWSL+UbuntuでStyle-Bert-VITS2がインストール環境で、Pythonスクリプトで任意の文字列からWAVファイルを生成するサンプルコード
# Windows 11側のPython環境で実行
import requests
# 読み上げる文字列
speak_text = "本日は晴天なり。"
# アドレス1:環境に合わせて変更
API_URL_G2P = "http://localhost:8000/api/g2p"
payload = {"text": speak_text}
try:
# POSTリクエストを送信
response = requests.post(API_URL_G2P, json=payload)
response.raise_for_status() # HTTPエラーがあれば例外発生
# レスポンス(JSON形式)
moraToneList = response.json()
print("✅ サーバーからの応答:", moraToneList)
except requests.exceptions.RequestException as e:
print(f"❌ 通信エラー: {e}")
# アドレス2:環境に合わせて変更
API_URL = "http://localhost:8000/api/synthesis"
# 送信するデータ
payload = {
"model": "jvnv-F1-jp",
"modelFile": "model_assets/jvnv-F1-jp/jvnv-F1-jp_e160_s14000.safetensors",
"text": speak_text,
"moraToneList": moraToneList,
"style": "Neutral",
"styleWeight": 1,
"assistText": "",
"assistTextWeight": 1,
"speed": 1,
"noise": 0.6,
"noisew": 0.8,
"sdpRatio": 0.2,
"language": "JP",
"silenceAfter": 0.5,
"pitchScale": 1,
"intonationScale": 1,
"speaker": "jvnv-F1-jp"
}
try:
# POSTリクエストを送信
response = requests.post(API_URL, json=payload)
response.raise_for_status() # HTTPエラーがあれば例外を発生させる
# WAV バイナリデータを取得
wav_data = response.content
# ファイルに保存
output_path = "output.wav"
with open(output_path, "wb") as f:
f.write(wav_data)
print(f"✅ 音声ファイルを保存しました: {output_path}")
except requests.exceptions.RequestException as e:
print(f"❌ リクエストエラーが発生しました。WSL2側でStyle-Bert-VITS2が起動しているか、またAPIのURL '{API_URL}' が正しいか確認してください。エラー: {e}")
試行錯誤して、wavファイルが作成出来るところまで、たどり着きました。


コメント