ZAZA88888 commited on
Commit
5fdbacc
Β·
verified Β·
1 Parent(s): 8c0082c

Update gui.py

Browse files
Files changed (1) hide show
  1. gui.py +27 -19
gui.py CHANGED
@@ -1,25 +1,33 @@
1
- import argparse
2
  from ai import generate_advice
3
- from speech import listen, speak_async
4
  from logger import logger
5
 
6
- def run_cli():
7
- parser = argparse.ArgumentParser(description="Tactical AI CLI")
8
- parser.add_argument("--voice", action="store_true", help="Use voice input/output")
9
- args = parser.parse_args()
10
 
11
- while True:
12
- if args.voice:
13
- scenario = listen()
14
- else:
15
- scenario = input("Enter scenario (or 'quit'): ")
16
- if not scenario or scenario.lower()=="quit":
17
- break
18
 
19
- advice = generate_advice(scenario)
20
- print(f"Advice: {advice}")
21
- if args.voice:
22
- speak_async(advice)
 
 
 
 
23
 
24
- if __name__=="__main__":
25
- run_cli()
 
 
 
 
 
 
 
1
+ import gradio as gr
2
  from ai import generate_advice
3
+ from speech import speak_async, listen
4
  from logger import logger
5
 
6
+ def advise_text(scenario):
7
+ advice = generate_advice(scenario)
8
+ speak_async(advice, filename="gui_response.wav")
9
+ return advice, "gui_response.wav"
10
 
11
+ def advise_voice(_):
12
+ scenario = listen()
13
+ advice = generate_advice(scenario)
14
+ speak_async(advice, filename="gui_response.wav")
15
+ return scenario, advice, "gui_response.wav"
 
 
16
 
17
+ with gr.Blocks(title="Tactical AI Manager") as demo:
18
+ gr.Markdown("## ⚽ Tactical AI Manager (GUI)")
19
+ with gr.Tab("Text Input"):
20
+ scenario_in = gr.Textbox(label="Scenario")
21
+ btn = gr.Button("Get Advice")
22
+ advice_out = gr.Textbox(label="Advice")
23
+ audio_out = gr.Audio(label="Voice Advice")
24
+ btn.click(fn=advise_text, inputs=scenario_in, outputs=[advice_out, audio_out])
25
 
26
+ with gr.Tab("Voice Input"):
27
+ btn_v = gr.Button("Speak Scenario")
28
+ scen_out = gr.Textbox(label="Detected Scenario")
29
+ adv_out = gr.Textbox(label="Advice")
30
+ aud_out = gr.Audio(label="Voice Advice")
31
+ btn_v.click(fn=advise_voice, inputs=None, outputs=[scen_out, adv_out, aud_out])
32
+
33
+ demo.launch()