Bils commited on
Commit
b50e3e1
·
verified ·
1 Parent(s): cff4d44

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -21
app.py CHANGED
@@ -86,45 +86,57 @@ def generate_audio(prompt: str, audio_length: int, mg_model, mg_processor):
86
  # ---------------------------------------------------------------------
87
  # Gradio Interface
88
  # ---------------------------------------------------------------------
89
- def radio_imaging_app(user_prompt, llama_model_id, hf_token, audio_length):
90
  # Load Llama 3 Pipeline with Zero GPU
91
  pipeline_llama = load_llama_pipeline_zero_gpu(llama_model_id, hf_token)
92
  if isinstance(pipeline_llama, str):
93
- return pipeline_llama, None
94
 
95
  # Generate Script
96
  script = generate_script(user_prompt, pipeline_llama)
 
97
 
 
98
  # Load MusicGen
99
  mg_model, mg_processor = load_musicgen_model()
100
  if isinstance(mg_processor, str):
101
- return script, mg_processor
102
 
103
  # Generate Audio
104
  audio_data = generate_audio(script, audio_length, mg_model, mg_processor)
105
- if isinstance(audio_data, str):
106
- return script, audio_data
107
-
108
- return script, audio_data
109
 
110
  # ---------------------------------------------------------------------
111
  # Interface
112
  # ---------------------------------------------------------------------
113
  with gr.Blocks() as demo:
114
  gr.Markdown("# 🎧 AI Radio Imaging with Llama 3 + MusicGen (Zero GPU)")
115
- user_prompt = gr.Textbox(label="Enter your promo idea", placeholder="E.g., A 15-second hype jingle for a morning talk show.")
116
- llama_model_id = gr.Textbox(label="Llama 3 Model ID", value="meta-llama/Meta-Llama-3-70B")
117
- hf_token = gr.Textbox(label="Hugging Face Token", type="password")
118
- audio_length = gr.Slider(label="Audio Length (tokens)", minimum=128, maximum=1024, step=64, value=512)
119
-
120
- generate_button = gr.Button("Generate Promo Script and Audio")
121
- script_output = gr.Textbox(label="Generated Script")
122
- audio_output = gr.Audio(label="Generated Audio", type="filepath")
123
-
124
- generate_button.click(
125
- fn=radio_imaging_app,
126
- inputs=[user_prompt, llama_model_id, hf_token, audio_length],
127
- outputs=[script_output, audio_output]
128
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
129
 
130
  demo.launch(debug=True)
 
86
  # ---------------------------------------------------------------------
87
  # Gradio Interface
88
  # ---------------------------------------------------------------------
89
+ def radio_imaging_script(user_prompt, llama_model_id):
90
  # Load Llama 3 Pipeline with Zero GPU
91
  pipeline_llama = load_llama_pipeline_zero_gpu(llama_model_id, hf_token)
92
  if isinstance(pipeline_llama, str):
93
+ return pipeline_llama
94
 
95
  # Generate Script
96
  script = generate_script(user_prompt, pipeline_llama)
97
+ return script
98
 
99
+ def radio_imaging_audio(script, audio_length):
100
  # Load MusicGen
101
  mg_model, mg_processor = load_musicgen_model()
102
  if isinstance(mg_processor, str):
103
+ return mg_processor
104
 
105
  # Generate Audio
106
  audio_data = generate_audio(script, audio_length, mg_model, mg_processor)
107
+ return audio_data
 
 
 
108
 
109
  # ---------------------------------------------------------------------
110
  # Interface
111
  # ---------------------------------------------------------------------
112
  with gr.Blocks() as demo:
113
  gr.Markdown("# 🎧 AI Radio Imaging with Llama 3 + MusicGen (Zero GPU)")
114
+
115
+ # Script Generation Section
116
+ with gr.Box():
117
+ gr.Markdown("## Step 1: Generate the Promo Script")
118
+ user_prompt = gr.Textbox(label="Enter your promo idea", placeholder="E.g., A 15-second hype jingle for a morning talk show.")
119
+ llama_model_id = gr.Textbox(label="Llama 3 Model ID", value="meta-llama/Meta-Llama-3-70B")
120
+ generate_script_button = gr.Button("Generate Promo Script")
121
+ script_output = gr.Textbox(label="Generated Script", interactive=False)
122
+
123
+ generate_script_button.click(
124
+ fn=radio_imaging_script,
125
+ inputs=[user_prompt, llama_model_id],
126
+ outputs=script_output
127
+ )
128
+
129
+ # Audio Generation Section
130
+ with gr.Box():
131
+ gr.Markdown("## Step 2: Generate the Sound")
132
+ audio_length = gr.Slider(label="Audio Length (tokens)", minimum=128, maximum=1024, step=64, value=512)
133
+ generate_audio_button = gr.Button("Generate Sound from Script")
134
+ audio_output = gr.Audio(label="Generated Audio", type="filepath")
135
+
136
+ generate_audio_button.click(
137
+ fn=radio_imaging_audio,
138
+ inputs=[script_output, audio_length],
139
+ outputs=audio_output
140
+ )
141
 
142
  demo.launch(debug=True)