Spaces:
Runtime error
Runtime error
## อันนี้อันจริง ใช้ huggingface | |
import os | |
from zipfile import ZipFile | |
from gtts import gTTS | |
import gradio as gr | |
import pandas as pd | |
#from google.colab import files | |
import shutil | |
def generate_text(file, room): | |
# อ่าน file excel | |
data = pd.read_excel(file.name) #(file.name) | |
# เลือก column ที่มีชื่อ | |
names = data[data.columns[3]].dropna().tolist() | |
names_only = names[1:] | |
# สร้าง dict ไว้เก็บ | |
names_dict = {} | |
# รันชื่อ ลำดับเก็บใน dict | |
for index, name in enumerate(names_only, start=1): | |
names_dict[index] = name | |
#สร้างเสียง | |
if room == "counter พยาบาล": | |
tts = gTTS(text= "เรียนเชิญ " + name + " ติดต่อบริเวณ counter พยาบาลค่ะ", lang='th') | |
else: | |
tts = gTTS(text= "เรียนเชิญ " + name + " ที่ห้องตรวจหมายเลข " + room + " ค่ะ", lang='th') | |
tts.save(name + '.mp3') | |
#ทำตาราง output แรก | |
df = pd.DataFrame.from_dict(names_dict, orient='index') | |
df.columns = ['name'] | |
df['index'] = range(1, len(df) + 1) | |
df = df[['index', 'name']] | |
return df | |
def tts(df, select_name): | |
namefromtable = df['name'].tolist()[int(select_name) - 1] | |
file_select = namefromtable + ".mp3" | |
with open(file_select) as fp: | |
return namefromtable, fp.name | |
with gr.Blocks() as demo: | |
gr.Markdown( | |
""" | |
# OrthoPatientCall: Orthopedic Patient Name Calling System | |
โปรแกรมเรียกชื่อคนไข้หน้าห้องสำหรับห้องตรวจ | |
""") | |
with gr.Row(): | |
with gr.Column(): | |
seed = gr.File(label="Input file excel (.xlsx)") | |
room = gr.Radio(["1", "2", "3", "4", "5", "6","counter พยาบาล"], label="Doctor Room No.") | |
btn = gr.Button("Generate Name List") | |
gr.Markdown("ใส่เฉพาะเลขลำดับ ของชื่อผู้ป่วยที่ต้องการเรียก") | |
select_name = gr.Number(label="Select number of patient's name") | |
btn2 = gr.Button("Generate Voice") | |
voice_name = gr.Textbox(label = "ชื่อผู้ป่วยที่เลือก") | |
voice = gr.Audio(label = 'เรียกชื่อผู้ป่วย') | |
with gr.Column(): | |
df_name = gr.DataFrame(label="Extracted name for selection speak", col_count=2) | |
btn.click(generate_text, inputs=[seed,room], outputs=[df_name]) | |
btn2.click(tts, inputs=[df_name,select_name], outputs = [voice_name,voice]) | |
if __name__ == "__main__": | |
demo.launch() |