Spaces:
Running
Running
File size: 1,886 Bytes
9791162 71dda67 16f1b93 ad51a72 16f1b93 9791162 ad51a72 6079784 ad51a72 6079784 ad51a72 6079784 ad51a72 9791162 3df32b6 9791162 6079784 9791162 ad51a72 3df32b6 6079784 ad51a72 6079784 ff5a46e 71dda67 6079784 ad51a72 9791162 ad51a72 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
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()
|