Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -336,11 +336,9 @@ def voice_conversion(source, target, diffusion_steps, length_adjust, inference_c
|
|
336 |
).export(format="mp3", bitrate=bitrate).read()
|
337 |
yield mp3_bytes, None
|
338 |
|
339 |
-
|
340 |
-
|
341 |
default_dir = "./default"
|
342 |
reference_files = [
|
343 |
-
("四国めたん", "
|
344 |
]
|
345 |
|
346 |
gallery_items = [[os.path.join(default_dir, f"{filename}.webp"), name] for name, filename in reference_files]
|
@@ -350,12 +348,15 @@ description = ("Zero-shot音声変換モデル(学習不要)。ローカル
|
|
350 |
"参考音声が25秒を超える場合、自動的に25秒にクリップされます。"
|
351 |
"また、元音声と参考音声の合計時間が30秒を超える場合、元音声は分割処理されます。")
|
352 |
|
|
|
|
|
353 |
def proxy_voice_conversion(source, selected_gallery_item, diffusion_steps, length_adjust, inference_cfg_rate, f0_condition, auto_f0_adjust, pitch_shift):
|
354 |
if not source or not os.path.isfile(source):
|
355 |
raise ValueError(f"音声ファイルが見つかりません: {source}")
|
356 |
|
|
|
357 |
if isinstance(selected_gallery_item, list) and len(selected_gallery_item) > 0:
|
358 |
-
selected_gallery_item = selected_gallery_item[0][1]
|
359 |
else:
|
360 |
raise ValueError("無効なギャラリー選択項目です。")
|
361 |
|
@@ -371,6 +372,7 @@ def proxy_voice_conversion(source, selected_gallery_item, diffusion_steps, lengt
|
|
371 |
|
372 |
return outputs[0], outputs[1]
|
373 |
|
|
|
374 |
inputs = [
|
375 |
gr.Audio(type="filepath", label="元音声"),
|
376 |
gr.Gallery(label="参照音声を選択", value=gallery_items, columns=5, interactive=True),
|
@@ -394,4 +396,4 @@ gr.Interface(
|
|
394 |
outputs=outputs,
|
395 |
title="Seed Voice Conversion with Reference Gallery",
|
396 |
cache_examples=False,
|
397 |
-
).launch()
|
|
|
336 |
).export(format="mp3", bitrate=bitrate).read()
|
337 |
yield mp3_bytes, None
|
338 |
|
|
|
|
|
339 |
default_dir = "./default"
|
340 |
reference_files = [
|
341 |
+
("四国めたん", "sikokumetan"),
|
342 |
]
|
343 |
|
344 |
gallery_items = [[os.path.join(default_dir, f"{filename}.webp"), name] for name, filename in reference_files]
|
|
|
348 |
"参考音声が25秒を超える場合、自動的に25秒にクリップされます。"
|
349 |
"また、元音声と参考音声の合計時間が30秒を超える場合、元音声は分割処理されます。")
|
350 |
|
351 |
+
# ギャラリーで選択された音声を `voice_conversion` に渡すプロキシ関数
|
352 |
+
# ギャラリーで選択されたアイテムから名前を抽出
|
353 |
def proxy_voice_conversion(source, selected_gallery_item, diffusion_steps, length_adjust, inference_cfg_rate, f0_condition, auto_f0_adjust, pitch_shift):
|
354 |
if not source or not os.path.isfile(source):
|
355 |
raise ValueError(f"音声ファイルが見つかりません: {source}")
|
356 |
|
357 |
+
# 選択されたギャラリーアイテムからファイル名を正しく抽出
|
358 |
if isinstance(selected_gallery_item, list) and len(selected_gallery_item) > 0:
|
359 |
+
selected_gallery_item = selected_gallery_item[0][1] # 名前部分だけ取り出す
|
360 |
else:
|
361 |
raise ValueError("無効なギャラリー選択項目です。")
|
362 |
|
|
|
372 |
|
373 |
return outputs[0], outputs[1]
|
374 |
|
375 |
+
|
376 |
inputs = [
|
377 |
gr.Audio(type="filepath", label="元音声"),
|
378 |
gr.Gallery(label="参照音声を選択", value=gallery_items, columns=5, interactive=True),
|
|
|
396 |
outputs=outputs,
|
397 |
title="Seed Voice Conversion with Reference Gallery",
|
398 |
cache_examples=False,
|
399 |
+
).launch()
|