Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,14 +2,15 @@ import gradio as gr
|
|
| 2 |
import speech_recognition as sr
|
| 3 |
import difflib
|
| 4 |
|
| 5 |
-
# Hàm chuyển giọng nói thành văn bản
|
| 6 |
-
def transcribe_speech():
|
| 7 |
recognizer = sr.Recognizer()
|
| 8 |
|
| 9 |
-
|
|
|
|
| 10 |
# Điều chỉnh tiếng ồn nền và ghi âm
|
| 11 |
recognizer.adjust_for_ambient_noise(source, duration=1)
|
| 12 |
-
audio = recognizer.
|
| 13 |
|
| 14 |
try:
|
| 15 |
# Chuyển giọng nói thành văn bản
|
|
@@ -37,8 +38,8 @@ def compare_transcription(transcribed_text, reference_text):
|
|
| 37 |
return accuracy, incorrect_words
|
| 38 |
|
| 39 |
# Hàm tích hợp để dùng trên Gradio
|
| 40 |
-
def process_speech(reference_text):
|
| 41 |
-
transcribed_text = transcribe_speech()
|
| 42 |
|
| 43 |
if "Lỗi" in transcribed_text or "Không thể nhận diện" in transcribed_text:
|
| 44 |
return transcribed_text, None, None
|
|
@@ -52,17 +53,21 @@ def build_interface():
|
|
| 52 |
with gr.Blocks() as demo:
|
| 53 |
# Input cho văn bản mẫu
|
| 54 |
reference_text = gr.Textbox(label="Văn bản mẫu", value="Xin chào, tôi là ChatGPT", lines=2)
|
| 55 |
-
|
| 56 |
-
#
|
| 57 |
-
|
| 58 |
-
|
| 59 |
# Output hiển thị kết quả
|
| 60 |
transcribed_text = gr.Textbox(label="Văn bản bạn nói")
|
| 61 |
accuracy = gr.Textbox(label="Độ chính xác (%)")
|
| 62 |
incorrect_words = gr.Textbox(label="Những từ nói sai")
|
| 63 |
|
| 64 |
# Nút ghi âm được kết nối với chức năng xử lý
|
| 65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
|
| 67 |
return demo
|
| 68 |
|
|
|
|
| 2 |
import speech_recognition as sr
|
| 3 |
import difflib
|
| 4 |
|
| 5 |
+
# Hàm chuyển giọng nói thành văn bản từ file
|
| 6 |
+
def transcribe_speech(audio_file):
|
| 7 |
recognizer = sr.Recognizer()
|
| 8 |
|
| 9 |
+
# Load audio file
|
| 10 |
+
with sr.AudioFile(audio_file) as source:
|
| 11 |
# Điều chỉnh tiếng ồn nền và ghi âm
|
| 12 |
recognizer.adjust_for_ambient_noise(source, duration=1)
|
| 13 |
+
audio = recognizer.record(source)
|
| 14 |
|
| 15 |
try:
|
| 16 |
# Chuyển giọng nói thành văn bản
|
|
|
|
| 38 |
return accuracy, incorrect_words
|
| 39 |
|
| 40 |
# Hàm tích hợp để dùng trên Gradio
|
| 41 |
+
def process_speech(reference_text, audio_file):
|
| 42 |
+
transcribed_text = transcribe_speech(audio_file)
|
| 43 |
|
| 44 |
if "Lỗi" in transcribed_text or "Không thể nhận diện" in transcribed_text:
|
| 45 |
return transcribed_text, None, None
|
|
|
|
| 53 |
with gr.Blocks() as demo:
|
| 54 |
# Input cho văn bản mẫu
|
| 55 |
reference_text = gr.Textbox(label="Văn bản mẫu", value="Xin chào, tôi là ChatGPT", lines=2)
|
| 56 |
+
|
| 57 |
+
# Input cho file âm thanh
|
| 58 |
+
audio_input = gr.Audio(type="filepath", label="Tải lên file âm thanh")
|
| 59 |
+
|
| 60 |
# Output hiển thị kết quả
|
| 61 |
transcribed_text = gr.Textbox(label="Văn bản bạn nói")
|
| 62 |
accuracy = gr.Textbox(label="Độ chính xác (%)")
|
| 63 |
incorrect_words = gr.Textbox(label="Những từ nói sai")
|
| 64 |
|
| 65 |
# Nút ghi âm được kết nối với chức năng xử lý
|
| 66 |
+
gr.Button("Ghi âm và kiểm tra").click(
|
| 67 |
+
fn=process_speech,
|
| 68 |
+
inputs=[reference_text, audio_input],
|
| 69 |
+
outputs=[transcribed_text, accuracy, incorrect_words]
|
| 70 |
+
)
|
| 71 |
|
| 72 |
return demo
|
| 73 |
|