Tactical-AI / gui.py
ZAZA88888's picture
Update gui.py
5fdbacc verified
import gradio as gr
from ai import generate_advice
from speech import speak_async, listen
from logger import logger
def advise_text(scenario):
advice = generate_advice(scenario)
speak_async(advice, filename="gui_response.wav")
return advice, "gui_response.wav"
def advise_voice(_):
scenario = listen()
advice = generate_advice(scenario)
speak_async(advice, filename="gui_response.wav")
return scenario, advice, "gui_response.wav"
with gr.Blocks(title="Tactical AI Manager") as demo:
gr.Markdown("## ⚽ Tactical AI Manager (GUI)")
with gr.Tab("Text Input"):
scenario_in = gr.Textbox(label="Scenario")
btn = gr.Button("Get Advice")
advice_out = gr.Textbox(label="Advice")
audio_out = gr.Audio(label="Voice Advice")
btn.click(fn=advise_text, inputs=scenario_in, outputs=[advice_out, audio_out])
with gr.Tab("Voice Input"):
btn_v = gr.Button("Speak Scenario")
scen_out = gr.Textbox(label="Detected Scenario")
adv_out = gr.Textbox(label="Advice")
aud_out = gr.Audio(label="Voice Advice")
btn_v.click(fn=advise_voice, inputs=None, outputs=[scen_out, adv_out, aud_out])
demo.launch()