Spaces:
Running
Running
File size: 2,811 Bytes
7138043 bb47651 90a9c82 7138043 90a9c82 7138043 91ccc0d 90a9c82 bb47651 90a9c82 1f68b8e 90a9c82 |
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 |
import gradio as gr
# ギャラリーの画像と対応するMP3ファイル
gallery_data = [
{
"image": "default/sikokumetan.webp",
"mp3": "default/sikokumetan.mp3"
}
]
# ギャラリーの画像が選択された際の処理
def on_image_select(image_path):
# 画像に対応するMP3を取得
for item in gallery_data:
if item["image"] == image_path:
return item["mp3"]
return None
if __name__ == "__main__":
description = ("Zero-shot音声変換モデル(学習不要)。ローカルでの利用方法は[GitHubリポジトリ](https://github.com/Plachtaa/seed-vc)をご覧ください。"
"参考音声が25秒を超える場合、自動的に25秒にクリップされます。"
"また、元音声と参考音声の合計時間が30秒を超える場合、元音声は分割処理されます。")
inputs = [
gr.Audio(type="filepath", label="元音声"),
gr.Audio(type="filepath", label="参考音声"),
gr.Slider(minimum=1, maximum=200, value=10, step=1, label="拡散ステップ数", info="デフォルトは10、50~100が最適な品質"),
gr.Slider(minimum=0.5, maximum=2.0, step=0.1, value=1.0, label="長さ調整", info="1.0未満で速度を上げ、1.0以上で速度を遅くします"),
gr.Slider(minimum=0.0, maximum=1.0, step=0.1, value=0.7, label="推論CFG率", info="わずかな影響があります"),
gr.Checkbox(label="F0条件付きモデルを使用", value=False, info="歌声変換には必須です"),
gr.Checkbox(label="F0自動調整", value=True, info="F0をおおよそ調整して目標音声に合わせます。F0条件付きモデル使用時にのみ有効です"),
gr.Slider(label='音程変換', minimum=-24, maximum=24, step=1, value=0, info="半音単位の音程変換。F0条件付きモデル使用時にのみ有効です"),
]
# ギャラリーコンポーネントの追加
gallery = gr.Gallery(
value=[item["image"] for item in gallery_data], # ギャラリーに表示する画像を指定
label="参考音声選択画像",
interactive=True,
columns=3 # 3列で表示
)
# ギャラリー画像が選択されたときにMP3を自動で設定
def update_reference_audio(selected_image):
mp3_path = on_image_select(selected_image)
return mp3_path
# 参考音声を選択するためのインターフェースを更新
gr.Interface(
fn=voice_conversion,
description=description,
inputs=[*inputs, gallery], # ギャラリーを追加
outputs=outputs,
title="Seed Voice Conversion",
examples=examples,
cache_examples=False,
).launch()
|