alex buz commited on
Commit
59d54da
·
1 Parent(s): d6d029d
Files changed (3) hide show
  1. app copy 2.py +39 -0
  2. app copy.py +20 -0
  3. app.py +38 -18
app copy 2.py ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+
4
+ def click_js():
5
+ return """function audioRecord() {
6
+ var xPathRes = document.evaluate ('//*[contains(@class, "record")]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
7
+ xPathRes.singleNodeValue.click();}"""
8
+
9
+
10
+ def action(btn):
11
+ """Changes button text on click"""
12
+ if btn == 'Speak': return 'Stop'
13
+ else: return 'Speak'
14
+
15
+
16
+ def check_btn(btn):
17
+ """Checks for correct button text before invoking transcribe()"""
18
+ if btn != 'Speak': raise Exception('Recording...')
19
+
20
+
21
+ def transcribe():
22
+ return 'Success'
23
+
24
+ with gr.Blocks() as demo:
25
+ msg = gr.Textbox()
26
+ audio_box = gr.Audio(label="Audio", sources="microphone", type="filepath", elem_id='audio')
27
+
28
+ with gr.Row():
29
+ audio_btn = gr.Button('Speak')
30
+ clear = gr.Button("Clear")
31
+
32
+ audio_btn.click(fn=action, inputs=audio_btn, outputs=audio_btn).\
33
+ then(fn=lambda: None, js=click_js()).\
34
+ then(fn=check_btn, inputs=audio_btn).\
35
+ success(fn=transcribe, outputs=msg)
36
+
37
+ clear.click(lambda: None, None, msg, queue=False)
38
+
39
+ demo.queue().launch(debug=True)
app copy.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ def save_audio(audio):
4
+ """
5
+ This function simply returns the audio file it receives, simulating a save.
6
+ Gradio handles the recording directly in the browser.
7
+ """
8
+ return audio
9
+
10
+ # Create a Gradio interface for recording audio
11
+ iface = gr.Interface(
12
+ fn=save_audio,
13
+ inputs=gr.Audio(source="microphone", type="filepath"),
14
+ outputs=gr.Audio(label="Playback Recorded Audio"),
15
+ title="Simple Browser-Based Voice Recorder",
16
+ description="Click 'Record' to start recording. Click 'Stop' to end recording. Playback the recording below."
17
+ )
18
+
19
+ # Run the Gradio app
20
+ iface.launch()
app.py CHANGED
@@ -1,20 +1,40 @@
1
  import gradio as gr
2
 
3
- def save_audio(audio):
4
- """
5
- This function simply returns the audio file it receives, simulating a save.
6
- Gradio handles the recording directly in the browser.
7
- """
8
- return audio
9
-
10
- # Create a Gradio interface for recording audio
11
- iface = gr.Interface(
12
- fn=save_audio,
13
- inputs=gr.Audio(source="microphone", type="filepath"),
14
- outputs=gr.Audio(label="Playback Recorded Audio"),
15
- title="Simple Browser-Based Voice Recorder",
16
- description="Click 'Record' to start recording. Click 'Stop' to end recording. Playback the recording below."
17
- )
18
-
19
- # Run the Gradio app
20
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
 
3
+
4
+ def click_js():
5
+ return """function audioRecord() {
6
+ var xPathRes = document.evaluate ('//*[@id="audio"]//button', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
7
+ xPathRes.singleNodeValue.click();}"""
8
+
9
+
10
+ def action(btn):
11
+ """Changes button text on click"""
12
+ if btn == 'Speak': return 'Stop'
13
+ else: return 'Speak'
14
+
15
+
16
+ def check_btn(btn):
17
+ """Checks for correct button text before invoking transcribe()"""
18
+ if btn != 'Speak': raise Exception('Recording...')
19
+
20
+
21
+ def transcribe():
22
+ return 'Success'
23
+
24
+
25
+ with gr.Blocks() as demo:
26
+ msg = gr.Textbox()
27
+ audio_box = gr.Audio(label="Audio", sources="microphone", type="filepath", elem_id='audio')
28
+
29
+ with gr.Row():
30
+ audio_btn = gr.Button('Speak')
31
+ clear = gr.Button("Clear")
32
+
33
+ audio_btn.click(fn=action, inputs=audio_btn, outputs=audio_btn).\
34
+ then(fn=lambda: None, js=click_js()).\
35
+ then(fn=check_btn, inputs=audio_btn).\
36
+ success(fn=transcribe, outputs=msg)
37
+
38
+ clear.click(lambda: None, None, msg, queue=False)
39
+
40
+ demo.queue().launch(debug=True)