Spaces:
Build error
Build error
Eniola Alese
commited on
Commit
·
6b93710
1
Parent(s):
614b0d8
update app files
Browse files- README.md +4 -4
- app.py +5 -5
- examples/coqui-logo.png +0 -0
- utils.py +2 -2
README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
---
|
| 2 |
-
title: Voice Chat With
|
| 3 |
emoji: 👾
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version:
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
---
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Voice Chat With LLM
|
| 3 |
emoji: 👾
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: red
|
| 6 |
sdk: gradio
|
| 7 |
+
sdk_version: 3.48.0
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
---
|
app.py
CHANGED
|
@@ -103,7 +103,7 @@ with gr.Blocks(title="Voice chat with LLM") as demo:
|
|
| 103 |
container=False,
|
| 104 |
interactive=True,
|
| 105 |
)
|
| 106 |
-
audio_record = gr.Audio(
|
| 107 |
|
| 108 |
# Define generated audio playback component
|
| 109 |
with gr.Row():
|
|
@@ -121,7 +121,7 @@ with gr.Blocks(title="Voice chat with LLM") as demo:
|
|
| 121 |
def add_text(chatbot_history, text):
|
| 122 |
chatbot_history = [] if chatbot_history is None else chatbot_history
|
| 123 |
chatbot_history = chatbot_history + [(text, None)]
|
| 124 |
-
return chatbot_history, gr.
|
| 125 |
|
| 126 |
# Will be triggered on voice submit (will transribe and send to generate_speech)
|
| 127 |
def add_audio(chatbot_history, audio):
|
|
@@ -131,7 +131,7 @@ with gr.Blocks(title="Voice chat with LLM") as demo:
|
|
| 131 |
text = list(response)[0].text.strip()
|
| 132 |
print("Transcribed text:", text)
|
| 133 |
chatbot_history = chatbot_history + [(text, None)]
|
| 134 |
-
return chatbot_history, gr.
|
| 135 |
|
| 136 |
def generate_speech(chatbot_history, chatbot_voice, initial_greeting=False):
|
| 137 |
# Start by yielding an initial empty audio to set up autoplay
|
|
@@ -159,12 +159,12 @@ with gr.Blocks(title="Voice chat with LLM") as demo:
|
|
| 159 |
txt_msg = txt_box.submit(fn=add_text, inputs=[chatbot, txt_box], outputs=[chatbot, txt_box], queue=False
|
| 160 |
).then(fn=generate_speech, inputs=[chatbot,chatbot_voice], outputs=[sentence, chatbot, audio_playback])
|
| 161 |
|
| 162 |
-
txt_msg.then(fn=lambda: gr.
|
| 163 |
|
| 164 |
audio_msg = audio_record.stop_recording(fn=add_audio, inputs=[chatbot, audio_record], outputs=[chatbot, txt_box], queue=False
|
| 165 |
).then(fn=generate_speech, inputs=[chatbot,chatbot_voice], outputs=[sentence, chatbot, audio_playback])
|
| 166 |
|
| 167 |
-
audio_msg.then(fn=lambda: (gr.
|
| 168 |
|
| 169 |
FOOTNOTE = """
|
| 170 |
This Space demonstrates how to speak to an llm chatbot, based solely on open accessible models.
|
|
|
|
| 103 |
container=False,
|
| 104 |
interactive=True,
|
| 105 |
)
|
| 106 |
+
audio_record = gr.Audio(source="microphone", type="filepath", scale=4)
|
| 107 |
|
| 108 |
# Define generated audio playback component
|
| 109 |
with gr.Row():
|
|
|
|
| 121 |
def add_text(chatbot_history, text):
|
| 122 |
chatbot_history = [] if chatbot_history is None else chatbot_history
|
| 123 |
chatbot_history = chatbot_history + [(text, None)]
|
| 124 |
+
return chatbot_history, gr.update(value="", interactive=False)
|
| 125 |
|
| 126 |
# Will be triggered on voice submit (will transribe and send to generate_speech)
|
| 127 |
def add_audio(chatbot_history, audio):
|
|
|
|
| 131 |
text = list(response)[0].text.strip()
|
| 132 |
print("Transcribed text:", text)
|
| 133 |
chatbot_history = chatbot_history + [(text, None)]
|
| 134 |
+
return chatbot_history, gr.update(value="", interactive=False)
|
| 135 |
|
| 136 |
def generate_speech(chatbot_history, chatbot_voice, initial_greeting=False):
|
| 137 |
# Start by yielding an initial empty audio to set up autoplay
|
|
|
|
| 159 |
txt_msg = txt_box.submit(fn=add_text, inputs=[chatbot, txt_box], outputs=[chatbot, txt_box], queue=False
|
| 160 |
).then(fn=generate_speech, inputs=[chatbot,chatbot_voice], outputs=[sentence, chatbot, audio_playback])
|
| 161 |
|
| 162 |
+
txt_msg.then(fn=lambda: gr.update(interactive=True), inputs=None, outputs=[txt_box], queue=False)
|
| 163 |
|
| 164 |
audio_msg = audio_record.stop_recording(fn=add_audio, inputs=[chatbot, audio_record], outputs=[chatbot, txt_box], queue=False
|
| 165 |
).then(fn=generate_speech, inputs=[chatbot,chatbot_voice], outputs=[sentence, chatbot, audio_playback])
|
| 166 |
|
| 167 |
+
audio_msg.then(fn=lambda: (gr.update(interactive=True),gr.update(interactive=True,value=None)), inputs=None, outputs=[txt_box, audio_record], queue=False)
|
| 168 |
|
| 169 |
FOOTNOTE = """
|
| 170 |
This Space demonstrates how to speak to an llm chatbot, based solely on open accessible models.
|
examples/coqui-logo.png
DELETED
|
Binary file (9.76 kB)
|
|
|
utils.py
CHANGED
|
@@ -387,9 +387,9 @@ def generate_speech_for_sentence(history, chatbot_voice, sentence, xtts_model, x
|
|
| 387 |
f.setframerate(24000)
|
| 388 |
f.writeframes(wav_bytestream)
|
| 389 |
|
| 390 |
-
return (history , gr.Audio(value=audio_unique_filename, autoplay=True))
|
| 391 |
else:
|
| 392 |
-
return (history , gr.Audio(value=wav_bytestream, autoplay=True))
|
| 393 |
except RuntimeError as e:
|
| 394 |
if "device-side assert" in str(e):
|
| 395 |
# cannot do anything on cuda device side error, need tor estart
|
|
|
|
| 387 |
f.setframerate(24000)
|
| 388 |
f.writeframes(wav_bytestream)
|
| 389 |
|
| 390 |
+
return (history , gr.Audio.update(value=audio_unique_filename, autoplay=True))
|
| 391 |
else:
|
| 392 |
+
return (history , gr.Audio.update(value=wav_bytestream, autoplay=True))
|
| 393 |
except RuntimeError as e:
|
| 394 |
if "device-side assert" in str(e):
|
| 395 |
# cannot do anything on cuda device side error, need tor estart
|