sovits-test / main.py
atsushieee's picture
Update main.py
ad51a72
raw
history blame
1.89 kB
import gradio as gr
import os
import requests
from tqdm import tqdm
from svc_inference import main
from whisper.inference import check_and_download_model
def run_main(audio_file,shift):
# 固定の引数を設定
class Args:
pass
args = Args()
args.config = "configs/base.yaml"
args.model = "./vits_pretrain/sovits5.0.pretrain.pth"
args.spk = "./configs/singers/singer0001.npy"
args.wave = audio_file
args.shift = shift
# オプショナルパラメータのデフォルト値設定
args.ppg = None
args.vec = None
args.pit = None
args.enable_retrieval = False
args.retrieval_index_prefix = ""
args.retrieval_ratio = 0.5
args.n_retrieval_vectors = 3
args.hubert_index_path = None
args.whisper_index_path = None
args.debug = False
try:
main(args)
return "svc_out.wav" # 音声ファイルのパスを返す
except Exception as e:
return None
# Gradio インターフェースの作成
with gr.Blocks() as demo:
gr.Markdown("# SVC 音声変換システム")
# 入力音声のアップロード
input_audio = gr.Audio(
label="変換したい音声をアップロード",
type="filepath" # ファイルパスとして取得
)
# Pitch シフトのスライダー
shift = gr.Slider(
minimum=-12,
maximum=12,
value=0,
step=1,
label="Pitch Shift(-12から+12の半音)"
)
# ボタン
run_btn = gr.Button(value="音声変換を実行", variant="primary", size="lg")
# 出力表示用
output_audio = gr.Audio(label="変換後の音声")
run_btn.click(
fn=run_main,
inputs=[input_audio, shift],
outputs=[output_audio]
)
# アプリケーションの起動
if __name__ == "__main__":
demo.launch()