support audio2audio

This commit is contained in:
Gong Junmin
2025-05-10 02:52:57 +08:00
parent bfc459eb73
commit 11d697f38b
2 changed files with 105 additions and 0 deletions
+50
View File
@@ -86,6 +86,32 @@ def create_text2music_ui(
)
sample_bnt = gr.Button("Sample", variant="primary", scale=1)
# audio2audio
audio2audio_enable = gr.Checkbox(label="Enable Audio2Audio", value=False, info="Check to enable Audio-to-Audio generation using a reference audio.", elem_id="audio2audio_checkbox")
ref_audio_input = gr.Audio(type="filepath", label="Reference Audio (for Audio2Audio)", visible=False, elem_id="ref_audio_input", show_download_button=True)
ref_audio_strength = gr.Slider(
label="Refer audio strength",
minimum=0.0,
maximum=1.0,
step=0.01,
value=0.5,
elem_id="ref_audio_strength",
visible=False,
interactive=True,
)
def toggle_ref_audio_visibility(is_checked):
return (
gr.update(visible=is_checked, elem_id="ref_audio_input"),
gr.update(visible=is_checked, elem_id="ref_audio_strength"),
)
audio2audio_enable.change(
fn=toggle_ref_audio_visibility,
inputs=[audio2audio_enable],
outputs=[ref_audio_input, ref_audio_strength],
)
prompt = gr.Textbox(
lines=2,
label="Tags",
@@ -310,6 +336,7 @@ def create_text2music_ui(
type="filepath",
visible=False,
elem_id="repaint_source_audio_upload",
show_download_button=True,
)
repaint_source.change(
fn=lambda x: gr.update(
@@ -475,6 +502,7 @@ def create_text2music_ui(
type="filepath",
visible=False,
elem_id="edit_source_audio_upload",
show_download_button=True,
)
edit_source.change(
fn=lambda x: gr.update(
@@ -623,6 +651,7 @@ def create_text2music_ui(
type="filepath",
visible=False,
elem_id="extend_source_audio_upload",
show_download_button=True,
)
extend_source.change(
fn=lambda x: gr.update(
@@ -762,6 +791,21 @@ def create_text2music_ui(
if "guidance_scale_lyric" in json_data
else 0.0
),
(
json_data["audio2audio_enable"]
if "audio2audio_enable" in json_data
else False
),
(
json_data["ref_audio_strength"]
if "ref_audio_strength" in json_data
else 0.5
),
(
json_data["ref_audio_input"]
if "ref_audio_input" in json_data
else None
),
)
sample_bnt.click(
@@ -785,6 +829,9 @@ def create_text2music_ui(
oss_steps,
guidance_scale_text,
guidance_scale_lyric,
audio2audio_enable,
ref_audio_strength,
ref_audio_input,
],
)
@@ -809,6 +856,9 @@ def create_text2music_ui(
oss_steps,
guidance_scale_text,
guidance_scale_lyric,
audio2audio_enable,
ref_audio_strength,
ref_audio_input,
],
outputs=outputs + [input_params_json],
)