File size: 1,195 Bytes
962b579
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import torch
from audioldm2.pipeline import build_model, text_to_audio

# Chargement du modèle AudioLDM2
device = "cuda" if torch.cuda.is_available() else "cpu"
ldm_model = build_model(device=device, model_name="audioldm2-full")

# Fonction appelée par Gradio
def generate_sound(prompt):
    if not prompt:
        return None, "⚠️ Entrez un mot ou une phrase"
    
    print(f"🔊 Génération à partir de : {prompt}")
    audios = text_to_audio(ldm_model, prompt, duration=3, guidance_scale=3.5, n_candidate_gen_per_text=1)
    audio_array = audios[0].cpu().numpy()
    return (16000, audio_array), f"✅ Généré depuis : {prompt}"

# Interface Gradio
with gr.Blocks() as demo:
    gr.Markdown("## 🎧 Générateur de sons avec AudioLDM2")
    
    with gr.Row():
        prompt_input = gr.Textbox(label="Texte ou mot-clé", placeholder="ex : explosion, footsteps, birds in jungle")
        generate_btn = gr.Button("Générer le son")
    
    output_audio = gr.Audio(label="Aperçu audio")
    status = gr.Textbox(label="Statut", interactive=False)

    generate_btn.click(fn=generate_sound, inputs=prompt_input, outputs=[output_audio, status])

demo.launch()